Привязка собственных платформ

Иногда собственная библиотека распространяется как платформа. 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 .