@Memnarch
Die japanische Anleitung funktioniert, aber nur für das Übersetzen der
SDK Frameworks.
Mag sein das es irgendwie mit eigenen *.a libraries funktioniert, muss ich noch testen.
Jedenfalls ist das schonmal OK wenn man neue
SDK's einbinden will, und dazu die Pascal Units braucht.
Der Compiler wirft aber auch ein paar Fehlermeldungen raus, da habe ich jetzt keine Zeit das alles zu checken.
Ist wohl ein neuer Thread ...
EDIT:
Eine ganz blöde Idee war das libTestFairy dem SdkTransform einfach als neue Library unterzujubeln.
Also einfach ein neues Unterverzeichnis unter dem
SDK anlegen, und nochmal transformieren lassen.
Dummerweise liegen die
SDK's in irgendeinem Format (ohne .a) vor, also habe ich einmal beides ausprobiert.
Es kam wirklich eine
Unit dabei raus, die sieht so aus:
Delphi-Quellcode:
{***********************************************************}
{ }
{ CodeGear Delphi Runtime Library }
{ }
{ Copyright(c) 2012-2014 Embarcadero Technologies, Inc. }
{ }
{***********************************************************}
//
// Delphi-Objective-C Bridge
// Interfaces for Cocoa framework libTestFairy
//
unit iOSapi.libTestFairy;
interface
uses
Macapi.CoreFoundation,
Macapi.CoreServices,
Macapi.Dispatch,
Macapi.Foundation,
Macapi.Mach,
Macapi.ObjCRuntime,
Macapi.ObjectiveC,
Macapi.QuartzCore,
iOSapi.CocoaTypes,
iOSapi.Foundation;
// ===== External functions =====
const
liblibTestFairy = '
/System/Library/Frameworks/libTestFairy.framework/libTestFairy';
implementation
{$IF defined(IOS) and NOT defined(CPUARM)}
uses
Posix.Dlfcn;
var
libTestFairyModule: THandle;
{$ENDIF IOS}
{$IF defined(IOS) and NOT defined(CPUARM)}
initialization
libTestFairyModule := dlopen(MarshaledAString(liblibTestFairy), RTLD_LAZY);
finalization
dlclose(libTestFairyModule);
{$ENDIF IOS}
end.
Aber da fehlt trotzdem jede Zuordnung zu den Interfaces.
Immerhin ...
Rollo