我想知道是否可以使用 API 从 Apple Developer Portal 获取最新的配置文件? 我已经为 iOS 项目设置了 CI,但每次更改配置文件时我都必须手动更新配置文件,因此我也很高兴能够自动化此过程。 谢谢
Spaceship 提供对开发者门户 API 的访问,无需网络抓取!
恐怕不是。 您应该能够通过抓取 HTML 来完成它,但仅此而已。 苹果在网络方面表现很糟糕(客户端除外)。
我想出了以下解决方案:
创建一个特殊的存储库,其中仅最新的配置文件(我知道仍然存在人为因素,但目前我还没有找到更好的解决方案)
在构建之前检查带有配置文件的存储库并将其复制到
/User/$USER/Library/Library/MobileDevice/Provisioning Profiles
grep
查找配置文件哈希并将哈希作为构建选项传递(例如 xcodebuild -target ${TargetName} -sdk "${TARGET_SDK}" -configuration "Ad Hoc" "CODE_SIGN_IDENTITY[sdk=iphoneos*]=${PROFILE_NAME}" "PROVISIONING_PROFILE=${grep results}"
)
该解决方案对我有用,但仍然存在一些问题。
我发现最简单的方法是使用 sigh,它是 fastlane 的一部分。在 Mac 上只需运行以下命令:
brew install fastlane
fastlane sigh download_all
这将下载您帐户的所有配置文件。
您还可以通过传递捆绑 ID 来下载单个应用程序:
fastlane sigh -a com.my.app
如果不存在则创建一个,如果过期或无效则修复。
如果您想在不输入用户名和密码的“交互”模式下执行此操作,您只需将
FASTLANE_USER
和 FASTLANE_PASSWORD
环境变量设置为您的 Apple 帐户电子邮件和密码(如果您有多个团队,则设置 FASTLANE_TEAM_ID
).
对于任何想要使用 AppStoreConnect API 下载配置文件的人
base64 --decode path/to/file > profile.mobileprovision
base64.b64decode(profile_content_string)