所需知识:
第一部分: sh
sh:可以在终端中使用的命令语句
mkdir -p dd.txt:这一句能够在文件路径上生成文件夹,如果已经存在此文件夹不会覆盖,而会不做任何处理
mkdir dd.txt :这一句在终端中运行可以看到,会出现mkdir: dd.txt: File exists 这样的警告
第二部分: 在xcode中使用sh
第三部分: sh内容说明
mkdir -p 之后的路径参数 不能在"" 下 直接空格添加即可
- mkdir -p /Users/mobilenow03/Library/Developer/Xcode/DerivedData/MTCommonStatic-dlynzlpkznvfyebxkntwammisjhv/Build/Products/Debug-iphoneos/${EXECUTABLE_NAME}" "/Users/mobilenow03/Library/Developer/Xcode/DerivedData/MTCommonStatic-dlynzlpkznvfyebxkntwammisjhv/Build/Products/merge-debug
- lipo -create "/Users/mobilenow03/Library/Developer/Xcode/DerivedData/MTCommonStatic-dlynzlpkznvfyebxkntwammisjhv/Build/Products/Debug-iphoneos/${EXECUTABLE_NAME}" "/Users/mobilenow03/Library/Developer/Xcode/DerivedData/MTCommonStatic-dlynzlpkznvfyebxkntwammisjhv/Build/Products/Debug-iphonesimulator/${EXECUTABLE_NAME}" -output "/Users/mobilenow03/Library/Developer/Xcode/DerivedData/MTCommonStatic-dlynzlpkznvfyebxkntwammisjhv/Build/Products/merge-debug/${EXECUTABLE_NAME}"
- mkdir -p /Users/mobilenow03/Library/Developer/Xcode/DerivedData/MTCommonStatic-dlynzlpkznvfyebxkntwammisjhv/Build/Products/merge-release
- lipo -create "/Users/mobilenow03/Library/Developer/Xcode/DerivedData/MTCommonStatic-dlynzlpkznvfyebxkntwammisjhv/Build/Products/Release-iphoneos/${EXECUTABLE_NAME}" "/Users/mobilenow03/Library/Developer/Xcode/DerivedData/MTCommonStatic-dlynzlpkznvfyebxkntwammisjhv/Build/Products/Release-iphonesimulator/${EXECUTABLE_NAME}" -output "/Users/mobilenow03/Library/Developer/Xcode/DerivedData/MTCommonStatic-dlynzlpkznvfyebxkntwammisjhv/Build/Products/merge-release/${EXECUTABLE_NAME}"
lipo 部分说明 此处debug下的真机和模拟器路径都需要自己手动指定,最后生成的兼容静态文件会在merge-debug下或则merge-release下
ps:说明下 运行上面的sh,需要已经生成过相应的debug下的真机和模拟器以及release下的真机和模拟器的静态文件 才能运行正常 ,这四个文件可以通过调整schemal中的run时release和debug进行生成
转载于:https://blog.51cto.com/derkin2jessie/1143532