2014-09-30 3 views
3

Я начал использовать XCode 6 с 4-й бета-версии, и теперь я пытался создать и экспортировать чистую Swift-фрейму для iOS.Сборка .framework в XCode 6

У меня к администратору Я сталкиваюсь с множеством проблем при этом. Я хочу экспортировать .framework как универсальный, поэтому я могу запускать его как на устройстве, так и на симуляторе.

Теперь, мой вопрос: есть ли способ его достижения? Я пытался создать и архивировать, чтобы экспортировать продукт .framework, объединяющий 2 результата с lipo и т. Д. ... и документация Apple выглядит неполной.

Единственный результат, который я получил, - это .framework, сразу же поднимающая EXC_BAD_ACCESS при использовании одного из объявленных объектов, поэтому, я думаю, я делаю что-то неправильно.

ответ

0

Вы можете комбинировать структуру, используя приведенный ниже скрипт.

1) Вы создаете новую совокупную цель в своем проекте фреймворка.

2) Добавить скрипт запуска в фазах построения.

3) Скопируйте приведенный ниже скрипт и вставьте.

4) выберите Агрегат с целевым типом как устройство iOS и запустите.

5) теперь вы можете использовать комбинированный каркас.

FRAMEWORK_NAME="${PROJECT_NAME}" 

SIMULATOR_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${FRAMEWORK_NAME}.framework" 

DEVICE_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphoneos/${FRAMEWORK_NAME}.framework" 

UNIVERSAL_LIBRARY_DIR="${BUILD_DIR}/${CONFIGURATION}-iphoneuniversal" 

FRAMEWORK="${UNIVERSAL_LIBRARY_DIR}/${FRAMEWORK_NAME}.framework" 

xcodebuild -project ${PROJECT_NAME}.xcodeproj -sdk iphonesimulator -arch i386 -arch x86_64 -target ${PROJECT_NAME} -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphonesimulator | echo 

xcodebuild -project ${PROJECT_NAME}.xcodeproj -sdk iphoneos -arch arm64 -arch armv7 -arch armv7s -target ${PROJECT_NAME} -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphoneos | echo 

rm -rf "${UNIVERSAL_LIBRARY_DIR}" 

mkdir "${UNIVERSAL_LIBRARY_DIR}" 

mkdir "${FRAMEWORK}" 

cp -r "${DEVICE_LIBRARY_PATH}/." "${FRAMEWORK}" 

lipo "${SIMULATOR_LIBRARY_PATH}/${FRAMEWORK_NAME}" "${DEVICE_LIBRARY_PATH}/${FRAMEWORK_NAME}" -create -output"${FRAMEWORK}/${FRAMEWORK_NAME}" | echo 
+0

karthikeyan viswanathan, сочетающий рамки со своим скриптом, не будет работать должным образом (по крайней мере, для Swift Framework). Необходимо также скопировать файлы swiftmodule (в каталоге Modules) -iphonesimulator в swiftmodule универсального каталога рамок. – 2015-01-21 13:18:31

Смежные вопросы