AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LoadLibrary unter iOS

Ein Thema von Peter666 · begonnen am 7. Apr 2014 · letzter Beitrag vom 7. Apr 2014
Antwort Antwort
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 11:50
Du musst mindestens eine Funktion aus der Bibliothek hart referenzieren, ähnlich wie man es unter Windows kennt mit Funktionen, die als "external" deklariert sind.
Wie man das macht, habe ich mal in meinem Blog beschrieben: https://www.danielwolf.eu/blog/2013/...en-a-libraries. Wenn Du ein zweites Beispiel suchst, fiele mir auf die Schnelle das Barcode-Beispiel von Bruno Fierens (TMS) ein, dort hat er auch eine Bibliothek statisch integriert: http://www.tmssoftware.com/site/blog.asp?post=280. In den Sourcen seiner (freien) Komponente findest Du ein weiteres Beispiel.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#2

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:09
Ah verstehe, also die Bibliothek in den Programmpfad und mit external Libname verlinken. Manchmal stelle ich mich auch blöd an. Zumindest scheint der Linker jetzt die Bibliotheken mit einzubeziehen. Allerdings liefert er jetzt fehlende Symbole wie _kCFHTTPAuthenticationSchemeBasic etc.
Ich denke mal da muss ich wohl mal sehen was ich an fehlenden Frameworks noch einbinden muss.
Vielen Dank für die schnellen Tips von euch
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#3

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 12:46
Komisch ich habe die CFNetwork, AudioToolbox als fehlende Frameworks hinzugefügt, dann importieren geklickt, aber der Linker moniert immer noch die fehlenden Funktionen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#4

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 13:07
Wenn Apple das dynamische Laden im iOS verbietet, warum gibt es dann überhaupt diese Funktion? (OK, ausgewählte Apps, vorallem die von Apple, dürfen das vermutlich doch)

Bzw., wäre es zumindestens nicht angebracht, wenn Emba derartige Funktionen (wie das dlopen) wenigstens entsprechend markiert?
z.B. via deprecated oder plattform "Achtung: Das dynamische Laden ist im iOS verboten."
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 13:14
Das dynamische Laden ist unter iOS nicht verboten. Du bekommst eine App nicht in den App-Store, wenn Du das machst - aber auf Ebene des Betriebssystem ist dlopen() ein regulärer Aufruf. Die Beschränkung ist im AppStore zu suchen, nicht im Betriebssystem. Wenn Du mit Deiner App nie in den AppStore willst, kannst Du das schon machen. In Xcode ist die Möglichkeit, dynamische Bibliotheken zu erstellen, per Standard deaktiviert, aber mit minimalen Änderungen an Config-Dateien geht das sehrwohl.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#6

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 13:57
Ich denke ich hab das verstanden und soweit macht das auch Sinn. Man könnte ja sonst eine Lib nachladen und diese ausführen. Da gibts sicher auch andere Wege für so einen Schabernack.

Was mich jetzt nur wundert ist, wie ich die Frameworks für die zu linkende Bibliothek einfügen kann. Für AudioToolbox habe ich folgendes ertrickst:

Delphi-Quellcode:
const
  libAudioToolbox = '/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox';
procedure AudioServicesPlaySystemSound( inSystemSoundID: integer ); cdecl;
  external libAudioToolbox name _PU + 'AudioServicesPlaySystemSound';
Ich mag nur nicht auf diese Weise die noch fehlenden Frameworks hinzufügen. Gibts da nicht eine einfachere Methode das einzubinden?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: LoadLibrary unter iOS

  Alt 7. Apr 2014, 15:38
Speziell für den Audiomanager gibt es in FMX schon relativ viel. Nur keine SystemSounds. Und ja, das Einbinden von Frameworks die nicht direkt unterstützt werden verusacht zusätzlichen Tipp-Aufwand.

Deshalb hat EMBO dafür wohl auch automatische Tools. Aber die rücken sie nicht raus. Für Android gibt es schon 3 in freier Wildbahn, für iOS hat wohl noch niemand gewagt weil das ja ein objectiveC-Lexer und Parser sein müsste.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz