我正在构建一个框架,在尝试使用自定义 shell 脚本代码编译生产框架时,它卡住在这一步。
这是自定义 shell 脚本代码:
# define output folder environment variable
UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal
# Step 1. Build Device and Simulator versions
xcodebuild -target SomeSDK ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
xcodebuild -target SomeSDK -configuration ${CONFIGURATION} -sdk iphonesimulator -arch i386 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"
# Last touch. copy the header files. Just for convenience
cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/include" "${UNIVERSAL_OUTPUTFOLDER}/"
这是卡住的图像:
我该如何解决?为什么会这样?
最佳答案
我找到了我所要求的答案,我只是做错了。
首先让我说,网络上所有展示如何创建 iOS 静态库
的教程都缺少一些东西,至少我所看到的并不完美,这就是第一个原因我遇到这个问题的地方。
那些是我以前做对的:
- Xcode 6 iOS Creating a Cocoa Touch Framework - Architectures issues
- Creating a Static Library in iOS Tutorial By Ray Wenderlich
这是我的问题的答案:
我没有创建新的 Aggregate Target
并在其中插入 Custom Shell Script
代码,而是将 Custom Shell Script
代码添加到以自己为目标,这是错误的。这就是编译从未完成并且总是卡住的原因。
只需单击 Targets
部分下的 +
按钮,选择 Other
,然后选择 Aggregate
。在此目标中,您必须添加您的 Custom Shell Script
代码,它将完美运行。
感谢您的帮助。
尽情享受吧!
关于ios - 运行 1 个自定义 shell 脚本中的 1 个卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29165442/