使用配置文件

时间:2016-11-16 09:18:22

标签: ios xcode terminal provisioning-profile ipa

我首先运行这个脚本:

xcodebuild clean archive -archivePath archive/MyApp -scheme MyAppScheme

它在归档目录中传递并生成MyApp.xcarchive。 然后我尝试从存档生成.ipa文件,并从那里开始有趣。我运行这个脚本:

xcodebuild -exportArchive -exportFormat ipa -archivePath "archive/MyApp.xcarchive" -exportPath "build/MyApp.ipa" -exportProvisioningProfile "UUID from file in ~/Library/MobileDevice/ProvisioningProfiles"

此脚本失败并显示:error: no provisioning profile matches 'XXXXXXX-XXX-XXX...'

如果我尝试这个构建脚本而不是之前的构建.ipa:

xcodebuild -exportArchive -exportFormat ipa -archivePath "archive/MyApp.xcarchive" -exportPath "build/MyApp.ipa" PROVISIONING_PROFILE=Same UUID from file in ~/Library/MobileDevice/ProvisioningProfiles

它传递并生成.ipa,但是当通过Application Loader提交.ipa文件时,我收到配置文件无效的错误:

  

错误ITMS-90161:“无效的配置文件。配置   com.myapp包中包含的配置文件[Payload / MyApp.app]是   无效。 [缺少代码签名证书]。分布   在向应用程序提交应用程序时,应使用配置文件   商店。有关更多信息,请访问iOS Developer Portal。“

我确信我使用的配置文件UUID是Distribution one,因为当我使用文本编辑器打开文件时,我可以找到:

<key>aps-environment</key>
<string>production</string>

我设法发现的是,第二个传递的脚本使用另一个Provisioning UUID(目录中有3个:个人一个和两个用于来自苹果开发者网站的应用程序 - 一个开发,另一个生产)。我通过以下步骤发现了这一点:How to tell what profile/signing certificate was used to sign .ipa?并检查.ipa文件中的UUID,两者都是通过第二个脚本生成的,它通过xcode生成(xcode传递UUID我传递给终端脚本)。

所以我假设构建.ipa(第二个)的终端脚本忽略了运行脚本的插入配置文件部分,只是从配置文件目录中获取第一个。

有关如何修复脚本的任何建议:error: no provisioning profile matches 'XXXXXXX-XXX-XXX...' ???

1 个答案:

答案 0 :(得分:1)

答案在这里:xcodebuild error: no provisioning profile matches(标记为正确的那个)。 这有点令人困惑。基本上,本地机器中的UUID或配置文件名是什么并不重要。您需要转到https://developer.apple.com/account/ios/profile/production并复制名称标签旁边的内容(复制名称)。

enter image description here

或者您可以在计算机上配置文件目录的文件中找到名称下的ir。