我们创建了一个框架并将其集成到我的一个应用中。我能够使用此框架运行和调试应用程序,但在提交到应用商店时我收到了以下错误。iOS:通用框架在提交到应用商店时造成问题
请注意,我使用的是xcode 6.3。
错误:'不支持的体系结构',XYZ的可执行文件包含不受支持的体系结构'[x86_64,i386]'。“
我曾在设置中添加以下脚本框架代码,同时创建
框架(静态库),使它具有普遍性。
**Options**
REVEAL_ARCHIVE_IN_FINDER=true
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"
`Build Frameworks`
xcodebuild -project ${PROJECT_NAME}.xcodeproj -sdk iphonesimulator -target ${PROJECT_NAME} -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphonesimulator | echo
xcodebuild -project ${PROJECT_NAME}.xcodeproj -sdk iphoneos -target ${PROJECT_NAME} -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphoneos | echo
#xcodebuild -target ${PROJECT_NAME} ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" | echo
#xcodebuild -target ${PROJECT_NAME} ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphonesimulator BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" | echo
Create directory for universal
rm -rf "${UNIVERSAL_LIBRARY_DIR}"
mkdir "${UNIVERSAL_LIBRARY_DIR}"
mkdir "${FRAMEWORK}"
Copy files Framework
cp -r "${DEVICE_LIBRARY_PATH}/." "${FRAMEWORK}"
Make fat universal binary
lipo "${SIMULATOR_LIBRARY_PATH}/${FRAMEWORK_NAME}" "${DEVICE_LIBRARY_PATH}/${FRAMEWORK_NAME}" -create -output "${FRAMEWORK}/${FRAMEWORK_NAME}" | echo
On Release, copy the result to desktop folder
if [ "${CONFIGURATION}" == "Release" ]; then
mkdir "${HOME}/Desktop/${FRAMEWORK_NAME}-${CONFIGURATION}-iphoneuniversal/"
cp -r "${FRAMEWORK}" "${HOME}/Desktop/${FRAMEWORK_NAME}-${CONFIGURATION}- iphoneuniversal/"
fi
If needed, open the Framework folder
if [ ${REVEAL_ARCHIVE_IN_FINDER} = true ]; then
if [ "${CONFIGURATION}" == "Release" ]; then
open "${HOME}/Desktop/${FRAMEWORK_NAME}-${CONFIGURATION}-iphoneuniversal/"
else
open "${UNIVERSAL_LIBRARY_DIR}/"
fi
fi
谁能帮我创建框架,我可以调试(装置运行模拟器),运行(在设备),并且还提交的appstore。
预先感谢。
如果我想发布与其他设备,应用商店和模拟器一样的通用框架,该怎么办? –
通用框架从未与应该提交给AppStore的应用程序捆绑在一起。你可以尝试在脚本里面使用'lipo -remove arch_type'来准备上传到AppStore的应用程序以去除模拟器的二进制片(Apple只是不会将带有冗余体系结构片的二进制文件传递到AppStore) –
那么框架如何像Parse .framework成功构建它可以在任何地方工作? –