Sdílet prostřednictvím


Vytváření vazeb nativních architektur

Někdy je nativní knihovna distribuovaná jako architektura. Objective Sharpie poskytuje funkci usnadnění pro vazby správně definovaných architektur prostřednictvím -framework možnosti.

Vytvoření vazby rozhraní Adobe Creative SDK pro iOS je například jednoduché:

$ sharpie bind \
    -framework ./AdobeCreativeSDKFoundation.framework \
    -sdk iphoneos8.1

V některých případech architektura určí soubor Info.plist , který indikuje, proti které sadě SDK se má architektura zkompilovat. Pokud tyto informace existují a nepředá se žádná explicitní -sdk možnost, Objective Sharpie ji odvodí z souboru Info.plist architektury (klíč DTSDKName nebo kombinaci DTPlatformName klávesDTPlatformVersion).

Možnost -framework neumožňuje předání explicitních souborů hlaviček. Zastřešující hlavičkový soubor je zvolen konvencí na základě názvu architektury. Pokud nelze najít zastřešující hlavičku, Objective Sharpie se nepokusí svázat architekturu a musíte ručně provést vazbu tím, že poskytnete správné zastřešující hlavičkové soubory, které chcete analyzovat, spolu s libovolnými argumenty architektury pro clang (například -F možnost cesty hledání architektury).

Pod kapotou je zadání -framework jen zkratka. Následující argumenty vazby jsou stejné jako výše uvedené zkratky -framework . Zvláštní důležitost je -F . cesta hledání rozhraní poskytovaná pro clang (všimněte si mezery a tečky, které jsou vyžadovány jako součást příkazu).

$ sharpie bind \
    -sdk iphoneos8.1 \
    ./AdobeCreativeSDKFoundation.framework/Headers/AdobeCreativeSDKFoundation.h \
    -scope AdobeCreativeSDKFoundation.framework/Headers \
    -c -F .