• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 使用 Xcode 8.3.2 为 AdHoc IPA 导出指定配置文件

[复制链接]
菜鸟教程小白 发表于 2022-12-12 13:25:11 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

昨天我已经从 Xcode 8.1 升级到 8.3.2,当然我所有的 CI 构建基础架构再次失败(感谢 Apple,你总是知道如何让我更加忙碌!)。

因此,主要的破坏性变化是 -exportProvisioningProfile 不再是一个有效选项。据我了解,他们现在迫使我们改用 -exportOptionsPlist

我已经为我的一个应用程序配置导出,以使用 .plist 文件和 app-store 方法仅用于市场。 对于任何 AdHoc 导出,我很乐意使用 -exportProvisioningProfile "$PROVISIONING_PROFILE"。不知道为什么 Apple 认为它不好。

因此,现在我必须修改我的自动构建脚本以使用 .plist 文件进行任何导出。

我能够从 xcodebuild -help 和其他关于 SO 的问题中发现,我需要将方法设置为 ad-hoc 以进行内部分发。好的,这很简单,但是......

我怎么才能指定要用于 IPA 导出的确切配置文件?

我可以在从 GUI 导出时选择所需的配置文件,所以我相信应该有一些方法可以将它传递给 xcodebuild。但是,我仍然没有在网络上找到任何执行此操作的方法。

提前谢谢你们。


附注请不要建议使用自动配置文件管理,我有几个用于导出的配置文件专用于他们自己的目的,我需要明确说明在特定情况下使用哪一个(我的 bash 脚本在构建过程开始时定义它)。



Best Answer-推荐答案


您不能再直接为 IPA 导出指定 Provisioning Profile,而是必须在 exportOptions.plist 中为 teamIDmethod 指定参数,因此 xcodebuild将能够为您解析所需的配置文件:

<?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>method</key>
    <string>ad-hoc</string>
    <key>teamID</key>
    <string>YOUR_TEN_CHARACTER_TEAM_ID</string>
</dict>
</plist>

您可以在配置文件中查找您的 teamID(key TeamIdentifier)

如果用于构建 xcarchive 的配置文件使用与导出配置文件相同的 teamID,则您不必在 plist 中设置 teamID 参数,但这总是一个好主意。

请务必将您的 AdHoc Prov 配置文件复制到 $HOME/Library/MobileDevice/Provisioning Profiles,以便 xcodebuild 能够找到它。

编辑

如果您在 $HOME/Library/MobileDevice/Provisioning Profiles 中有多个 Prov 配置文件,它们都与方法、teamID 和应用程序的包标识符的组合相匹配,您将有两个选择:

  1. 在每次导出前准备$HOME/Library/MobileDevice/Provisioning Profiles,这样它就只包含所需的配置文件。将当前内容移走 (cp -Rpf "$HOME/Library/MobileDevice/Provisioning Profiles""$HOME/Library/MobileDevice/Provisioning Profiles Backup"&& rm -f "$HOME/Library/MobileDevice/Provisioning Profiles/"*.mobileprovision), 然后将导出配置文件复制到目录,导出 ipa 并恢复备份文件夹。
  2. 尝试xcodebuild -exportArchive ... PROVISIONING_PROFILE_SPECIFIER=xxx,内容应该是Prov Profile内部plist的Name键的值。此行为未记录,因此它可能不适用于所有 Xcode > 7 版本。当您的应用程序包含嵌入式扩展时,它也可能不起作用,因为它们可能需要单独的 Prov 配置文件。

关于ios - 使用 Xcode 8.3.2 为 AdHoc IPA 导出指定配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43675497/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap