我正在尝试使用以下命令签署我的Xcode项目:
xcrun -sdk iphoneos PackageApplication #project path -o outputpath.ipa -sign="name of sign" -embed="mobileprovision"
当我输入此命令时,它返回我当前的目录而没有任何错误,但不生成IPA文件,但是如果我从命令中删除以下内容:
xcrun -sdk iphoneos PackageApplication #project path -o outputpath.ipa
我确实收到了一份IPA文件,但似乎没有签名。我有.p12文件和.mobileprovision文件,但不知道如何继续。我目前正在使用Xcode版本7.3.1,但也想知道如何使用Xcode 8。
答案 0 :(得分:0)
实现这一目标的方法很少,但由于您不是在尝试构建脚本,因此最简单的方法是使用iReSign工具。
此工具输入是ipa / xarchive文件,第12页文件和证书(您从钥匙串中选择)。
您还可以更改ipa的Bundle ID和权利文件。 它的开源,我已经使用了一段时间。
如果您无法使用此工具并使用命令行=IF(L105=1),L105*1050,IF(AND(L105>1,L105<6),L105*750,IF(AND(L105>5,L105<11),L105*700,IF(AND(L105>10,L105<16),L105*650,IF(L105>15),L105*600)))
:
归档您的应用:
xcodebuild
现在您有一个xcodebuild -scheme <scheme name> archive
文件,将应用程序从存档导出到ipa文件:
xarchive
您需要创建选项plist文件,您可以看到可用选项here
以下是选项文件的示例:
xcodebuild -exportArchive -exportOptionsPlist "<pathToOptions>" -archivePath "<pathToArchive>" -exportPath "<pathToOutput>"
注意:您始终可以使用帮助菜单:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>teamID</key>
<string>MYTEAMID123</string>
<key>method</key>
<string>app-store</string>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
注意2:您可以在Xcode中设置证书和开发人员团队(需要完成一次)