Xcode9 xcodebuild 命令行打包遇到的坑与解决方案
2017-10-12 14:59
363 查看
主要涉及的打包脚本命令
if [ $xcodeversion -lt
830 ]
then
#Xcode 8.3 以下打包时使用该脚本
xcodebuild -exportArchive -exportFormat ipa -archivePath ./${schemeName}.xcarchive -exportPath ./${schemeName}.ipa -exportProvisioningProfile
"${codesign}" -configuration ${deployPattern}
#"Debug"
else
#Xcode 8.3 以上使用打包时,使用该脚本
xcodebuild -exportArchive -archivePath ./${schemeName}.xcarchive -exportPath ./ -exportOptionsPlist ${optionsDevelopmentPlistPath} -allowProvisioningUpdates
echo "==============================make ipa end `date "+%Y.%m.%d_%H.%M.%S"`=============================="
fi
在Xcode8.3 以前使用上面的打包脚本,Xcode8.3 以下使用下面的命令
Xcode 8.3 以后脚本打包时,需要提供对应的plist说明文件 plist中主要包含内容如下
在Xcode9之前是不需要provisionProfiles
,在9之后需要加入 [b]provisionProfiles,才可以打包通过[/b]
method 包含四种: app-store,
ad-hoc, enterprise, development
对应不同的打包环境 ,在不同的打包环境下使用不同的value
第一个问题:
原因分析:取不到plist 中的provisioningProfiles的信息
解决方案:在Export Options plist文件里添加以下内容 provisioningProfiles 字典 key->APP对应bundleID value->{iOS
Provisioning Profiles}
第二个问题
原因分析: 打包时提供的mehtod 的方法value 不对,改为method 中的value 修改为打包证书相同的环境即可
解决方案:修改method的value为对应的 值,即可
所使用的打包命令:
进入build路径clean一下你的工程
archive导出.xcarchive文件
导出ipa包
解释:
Debug,Release 等
ad-hoc等
if [ $xcodeversion -lt
830 ]
then
#Xcode 8.3 以下打包时使用该脚本
xcodebuild -exportArchive -exportFormat ipa -archivePath ./${schemeName}.xcarchive -exportPath ./${schemeName}.ipa -exportProvisioningProfile
"${codesign}" -configuration ${deployPattern}
#"Debug"
else
#Xcode 8.3 以上使用打包时,使用该脚本
xcodebuild -exportArchive -archivePath ./${schemeName}.xcarchive -exportPath ./ -exportOptionsPlist ${optionsDevelopmentPlistPath} -allowProvisioningUpdates
echo "==============================make ipa end `date "+%Y.%m.%d_%H.%M.%S"`=============================="
fi
在Xcode8.3 以前使用上面的打包脚本,Xcode8.3 以下使用下面的命令
Xcode 8.3 以后脚本打包时,需要提供对应的plist说明文件 plist中主要包含内容如下
在Xcode9之前是不需要provisionProfiles
,在9之后需要加入 [b]provisionProfiles,才可以打包通过[/b]
method 包含四种: app-store,
ad-hoc, enterprise, development
对应不同的打包环境 ,在不同的打包环境下使用不同的value
第一个问题:
error: exportArchive: "XXX.app" requires a provisioning profile. Error Domain=IDEProvisioningErrorDomain Code=9 ""XXX.app" requires a provisioning profile." UserInfo={NSLocalizedDescription="Cicada.app" requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the "provisioningProfiles" dictionary in your Export Options property list.}
原因分析:取不到plist 中的provisioningProfiles的信息
解决方案:在Export Options plist文件里添加以下内容 provisioningProfiles 字典 key->APP对应bundleID value->{iOS
Provisioning Profiles}
<key>provisioningProfiles</key> <dict> <key>com.lianjia.name</key> <string>{iOS Provisioning Profiles Name}</string> </dict>
第二个问题
Error Domain=IDEProfileLocatorErrorDomain Code=4 "No "iOS App Development" profiles for team '*****' matching '1825adbe-226c-401e-940d-d3dcede386*' are installed." UserInfo={NSLocalizedDescription=No "iOS App Development" profiles for team '*****' matching '1825adbe-226c-401e-940d-d3dcede386a*' are installed., NSLocalizedRecoverySuggestion=Install a profile (by dragging and dropping it onto Xcode's dock item) or specify a different profile in your Export Options property list.}
原因分析: 打包时提供的mehtod 的方法value 不对,改为method 中的value 修改为打包证书相同的环境即可
解决方案:修改method的value为对应的 值,即可
所使用的打包命令:
进入build路径clean一下你的工程
xcodebuild clean -workspace ${TARGET_NAME}.xcworkspace -scheme ${TARGET_NAME} -configuration ${BUILD_TYPE}
archive导出.xcarchive文件
xcodebuild archive -workspace ${TARGET_NAME}.xcworkspace -scheme ${TARGET_NAME} -archivePath {ARCHIVEPATH}
导出ipa包
xcodebuild -exportArchive -archivePath "${ARCHIVEPATH}/${TARGET_NAME}.xcarchive" -exportPath ${EXPORTPATH} -exportOptionsPlist ${EXPORTOPTIONSPLIST}
解释:
${TARGET_NAME}项目对应targets的名字
${BUILD_TYPE}打包类型
Debug,Release 等
${archivePath} .xcarchive文件导出目录
${EXPORTPATH}导出.ipa包的目录
${EXPORTOPTIONSPLIST}exportOptionsPlist文件所在目录,可判断development,
ad-hoc等
相关文章推荐
- 利用xcodebuild命令行进行打包
- xcodebuild命令行打包发布ipa
- ios命令行自助打包-使用xcodebuild和xcrun打包签名
- xcodebuild和xcrun实现自动打包iOS应用程序
- gulp打js文件时遇到js需要按一定的顺序打包解决方案
- Ant打包时遇到bin/res/crunch错误时解决方案
- Vue项目build打包部署到Tomcat后,刷新报404错误解决方案
- Xcode打包上传遇到的坑
- Xcode9 xcodebuild export plist 配置
- Unity ios 打包xcode的PostProcessBuild设置
- 使用构建工具gradle打包时,遇到的中文问题和解决方案
- unity生成以及xcode命令行打包ipa以及签名
- xcodebuild自动打包脚本与自动上传蒲公英脚本
- XCODE 8 使用时遇到的bug及解决方案
- xcodebuild脚本打包
- IOS 打包所遇到的问题以及解决方案
- unity打包时错误信息 Failed to build apk.See the Console for details.解决方案
- XCode升级到6.1后,用jenkins打包出现cannot read resources问题的解决方案
- VS.NET2005打包程序遇到不可恢复的生成错误,解决方案
- xcodebuild脚本打包的使用