Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#14

AW: Hat Jemand schonmal mit TestFairy herumgespielt ?

  Alt 13. Mai 2016, 15:23
@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

Geändert von Rollo62 (13. Mai 2016 um 15:38 Uhr)
  Mit Zitat antworten Zitat