运行 1 个自定义 shell 脚本冻结
Running 1 of 1 custom shell scripts freeze
我正在构建一个框架,在尝试使用自定义 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 Static Library
的教程都缺少一些东西,而且至少我所看到的并不完美,这就是我首先拥有的原因这个问题。
这些是我以前做对的:
- 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
代码,它会完美无缺地工作。
感谢您的帮助。
尽情享受吧!
运行终端中的这个命令
sudo pkill -9 节点
然后重新运行项目
我正在构建一个框架,在尝试使用自定义 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 Static Library
的教程都缺少一些东西,而且至少我所看到的并不完美,这就是我首先拥有的原因这个问题。
这些是我以前做对的:
- 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
代码,它会完美无缺地工作。
感谢您的帮助。
尽情享受吧!
运行终端中的这个命令
sudo pkill -9 节点
然后重新运行项目