用于从 Apple 开发站点获取配置文件的 API
我想知道是否可以使用 API 从 Apple Developer Portal 获取最新的配置文件? 我已经为 iOS 项目设置了 CI,但每次更改配置文件时我都必须手动更新配置文件,因此我也很高兴能够自动化此过程。 谢谢
I'm wondering if it's possible to get the latest provisioning profile from Apple Developer Portal using API?
I've set up CI for iOS project but I have to update provisioning profile manually every time when it is changed so I'd be glad to automate this process as well.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(6)
我想出了以下解决方案:
创建一个特殊的存储库,其中仅最新的配置文件(我知道仍然存在人为因素,但目前我还没有找到更好的解决方案)
在构建之前使用配置文件检查存储库并将其复制到
/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 ,它是 < a href="https://docs.fastlane.tools/" rel="nofollow noreferrer">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
- 身份验证
- 下载配置文件的人 从门户网站获取配置文件 ID
- :从配置文件 URL 获取配置文件 ID(例如 https://developer.apple.com/account/resources/profiles/review/A1B2C3D4E5 - id A1B2C3D4E5)
- 使用 API - list_and_download_profiles
- 获取个人资料信息(响应将为 json) - read_and_download_profile_information
- 从配置文件信息 json 中获取 [' 的值data']['attributes']['profileContent'] 键。这将是 base64 字符串,写入文件或变量。
- 解码 base64 字符串以创建配置文件。
- shell -
base64 --解码路径/到/文件> profile.mobileprovision
- python -
base64.b64decode(profile_content_string)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
Spaceship 提供对开发者门户 API 的访问,无需进行网页抓取!
Spaceship provides access to he developer portal API, no web scraping!