Привязка собственных платформ
Иногда собственная библиотека распространяется как платформа. Objective Sharpie предоставляет удобный компонент для привязки правильно определенных платформ с помощью -framework
параметра.
Например, привязка платформы SDK Adobe Creative для iOS проста:
$ sharpie bind \
-framework ./AdobeCreativeSDKFoundation.framework \
-sdk iphoneos8.1
В некоторых случаях платформа будет указывать info.plist , указывающий, для какого пакета SDK следует скомпилировать платформу. Если эти сведения существуют и не передаются явные -sdk
параметры, Objective Sharpie выводит его из списка Info.plist платформы (DTSDKName
ключ или сочетание клавиш и DTPlatformVersion
ключейDTPlatformName
).
Параметр -framework
не позволяет передавать явные файлы заголовков. Файл заголовка зонтика выбирается по соглашению на основе имени платформы. Если не удается найти заголовок зонтика, Objective Sharpie не попытается привязать платформу, и необходимо вручную выполнить привязку, предоставив правильный файл заголовка зонтика для синтаксического анализа, а также любые аргументы платформы для clang (например -F
, вариант пути поиска платформы).
Под капотом укажите -framework
только ярлык. Приведенные ниже аргументы привязки идентичны приведенному выше фрагменту -framework
.
Особое значение имеет путь поиска платформы, предоставленный для clang (обратите внимание на -F .
пространство и период, необходимые в рамках команды).
$ sharpie bind \
-sdk iphoneos8.1 \
./AdobeCreativeSDKFoundation.framework/Headers/AdobeCreativeSDKFoundation.h \
-scope AdobeCreativeSDKFoundation.framework/Headers \
-c -F .