Скомпилируйте swiften библиотеку для iPhone SDK

Краткое описание о библиотеке: Ссылка библиотеки

Я хочу скомпилировать быструю библиотеку (т.е. http://swift.im/git/swift/tag/?id=swift-2.0beta1) для iPhone SDK. Я проверил его папку с документами и способ компиляции, но они упомянули только этапы компиляции для Windows и Unix (т.е. эта страница содержит ссылку на файлы компиляции http://swift.im/download/#apt). Но я не понимаю, как скомпилировать его для iPhone SDK. Шаги, которые они упомянули, не получают. Итак, кто-нибудь может мне объяснить? После проверки одного из файлов я узнал, что должна быть возможность скомпилировать для iPhone.

Еще один вопрос, который они упомянули, что он под общедоступной лицензией GNU v3, так что я могу использовать это коммерческое приложение, специально одобренное Apple?

Любая помощь будет оценена. Спасибо

5

Решение

фигуры Swiften уже имеет встроенную поддержку для сборки устройства iOS или симулятора. Я был в состоянии построить это, но не проверял это.

Я буду считать вас Z XCode 4.4 (или что-то достаточно современное) и цель iOS 5.1 работает на iPhone> 3GS. Кроме того, я предполагаю, что вы хотите собрать swiften-1.0.
(если сборка для более раннего iPhone, измените armv7 вернуться к armv6 ниже)

Есть несколько шагов, необходимых для его построения.

открыто swift-1.0/BuildTools/SCons/SConstruct в редакторе файлов и:

  1. Изменить строку 232 с

    env["XCODE_PLATFORM_DEVELOPER_BIN_DIR"] = "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin"

    в

    env["XCODE_PLATFORM_DEVELOPER_BIN_DIR"] = "/Applications/Xcode.app/Contents" + "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin"

  2. В строке 234 измените armv6 в armv7

  3. В строке 239 измените «4,0» на «5,1»
  4. Изменить строку 240 с

    env["XCODE_SDKROOT"] = "/Developer/Platforms/" + sdkPart + ".platform/Developer/SDKs/" + sdkPart + sdkVer + ".sdk"

    в

    env["XCODE_SDKROOT"] = "/Applications/Xcode.app/Contents" + "/Developer/Platforms/" + sdkPart + ".platform/Developer/SDKs/" + sdkPart + sdkVer + ".sdk"

(от Мэтта Галлоуэя Компиляция Boost для iPhone)

копия crt_externs.h в swiftкаталог; когда в swift-1.0/выполнить:

cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/usr/include/crt_externs.h .

swiften требует openssl, но в iOS нет встроенного, поэтому вам придется скачать и скомпилировать его вручную. Выполните в терминале следующее:

cd <swift-directory>/3rdParty/OpenSSL
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz

Это загрузит соучастие openssl; чтобы построить его, я использовал скрипт от GitHub. До сих пор внутри <swift-directory>/swift-1.0/3rdParty/OpenSSLвыполнить,

wget --no-check-certificate https://raw.github.com/st3fan/ios-openssl/master/build.sh

редактировать build.sh — изменить строку 10 с 1.0.1b в 1.0.1c,

Сейчас, chmod +x build.sh и наконец ./build.sh, Это займет несколько минут, чтобы построить openssl,

Ты почти у цели — смени каталог на корень swiftи выполнить

./scons Swiften allow_warnings=yes target=iphone-device openssl="<swift-directory>/3rdParty/OpenSSL"

Это создаст библиотеку для связи с приложением, созданным для устройства; если вы хотите запустить его в симуляторе, измените target=iphone-device в target-iphone-simulator в строке выше. Файл библиотеки libSwiften.a можно найти в <swift-directory>/Swiften,

3

Другие решения

Других решений пока нет …