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 .