我已根据Ray Wenderlich Tutorial
为Apple手表创建了库。我简短地试了几步。
步骤1:我选择模板作为Xcode - >档案 - >新 - > watchOS - >框架&图书馆 - >观看静态库
步骤2:添加了作为库所需的文件。
步骤3:在库内部添加头文件到公共文件。
第4步:运行应用程序
第5步:我想创建一个通用库,所以我将目标添加为Xcode - >档案 - >新 - >目标 - >其他 - >聚合
步骤6:为模拟器添加了运行脚本,并将操作系统视为
# define output folder environment variable
UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal
xcodebuild -target RBWatchModelManager ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphonesimulator -arch x86_64 -arch i386 BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
UNIVERSAL_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-universal
mkdir -p "${UNIVERSAL_BUILD_DIR}"
# Step 2. Create universal binary file using lipo
lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-watchos/lib${PROJECT_NAME}.a"
# Last touch. copy the header files. Just for convenience
cp -R "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/include" "${UNIVERSAL_OUTPUTFOLDER}/"
我尝试了另外一个脚本,但尝试了这两个可用脚本中的任何一个
# define output folder environment variable
UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal
# Step 1. Build Device and Simulator versions
xcodebuild -target RBIWatchModelManager ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
xcodebuild -target RBIWatchModelManager -configuration ${CONFIGURATION} -sdk iphonesimulator -arch i386 BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
xcodebuild -target RBIWatchModelManager ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk watchos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
# make sure the output directory exists
mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"
# Step 2. Create universal binary file using lipo
lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-watchos/lib${PROJECT_NAME}.a"
# Last touch. copy the header files. Just for convenience
cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/include" "${UNIVERSAL_OUTPUTFOLDER}/"
使用此脚本中的任何一个成功创建库。
步骤7:我将此库(通用文件夹库和头文件(包含文件夹))添加到我的实际项目中。
步骤8:构建阶段中选定的库Link Binary with Libraries
步骤9:添加了标题搜索路径
步骤10:运行应用程序。在模拟器中,Device正常运行。
但是在创建此项目的存档时,我收到一个错误,如下图所示。
然后我搜索了这个错误,我尝试了这个建议:
建议我试过:
更改位代码。由于我正在使用watchOS,因此在创建库时,构建设置中没有可用的位代码选项。因此,此解决方案没有空间。
在创建库时,在库的构建设置中为-fembed-bitcode
添加了Custom Compiler Flags
。但没用。我收到同样的错误。
我认为这个错误是因为错误日志中显示了特定的文件名。所以我尝试分离这些文件,然后我创建了新的库,但是我得到了用于创建库的其他文件的相同错误。所以没用..
我尝试在原始项目的构建设置中启用和禁用Enable Bitcode
选项,其中我添加了此创建的库,完全没用。
最后......是否有其他解决方案可用于解决此错误。我找到的苹果有一件事是
对于iOS应用,bitcode是默认设置,但是可选。对于watchOS和 tvOS应用程序,bitcode是必需的。如果您提供bitcode,所有应用程序和 应用程序包中的框架(项目中的所有目标)都需要 包括bitcode。 使用iTunes Connect分发应用程序后,您可以下载构建的dSYMs文件,如查看和中所述 在设备窗口中导入崩溃。
帮帮我吧?