导出OS X应用程序时指定配置文件

时间:2016-04-28 19:07:25

标签: xcode macos provisioning-profile

我有一个OS X应用程序,其中包含一个Network Extension捆绑包(VPN),这需要我在创建配置文件时指定的扩展“网络扩展”权限(您的团队必须获得Apple的授权才能显示此选项)在他们的开发门户网站)。因此,我必须手动管理配置文件,而不是让Xcode处理所有内容,因为自动生成的“由Xcode管理”配置文件不包含扩展权利。我在项目中使用PROVISIONING_PROFILE设置来指定正确的设置。

从xcarchive导出我的应用...

xcodebuild -exportArchive -archivePath path_to_xcarchive -exportPath $ OUTDIR -exportOptionsPlist exportOptions.plist

xcodebuild在我的.app中嵌入了自动生成的配置文件,而不是我的构建设置中指定的配置文件。我查看了.xcarchive中的.app,它确实包含了正确的配置文件,但xcodebuild在导出时将它们交换掉了。通过Xcode的UI导出时我看到同样的问题 - 我显示了将用于导出的配置文件,它们是错误的,无法更改它们。

任何人都知道如何阻止使用托管配置文件,或强制Xcode使用特定的配置文件?

1 个答案:

答案 0 :(得分:2)

Xcode 9 -exportOptionsPlist现在支持通过signingStyle,signingCertificate和provisioningProfiles选项指定证书和配置文件。

<key>signingStyle</key>
<string>manual</string>
<key>provisioningProfiles</key>
<dict>
    <key>com.your.bundleid</key>
    <string>Name of provisioning profile for app</string>
    <key>com.your.bundleid.extension</key>
    <string>Name of provisioning profile for extension</string>
</dict>
<key>signingCertificate</key>
<string>iOS Distribution</string>