从 Apple 开发站点获取配置文件的 API

问题描述 投票:0回答:6

我想知道是否可以使用 API 从 Apple Developer Portal 获取最新的配置文件? 我已经为 iOS 项目设置了 CI,但每次更改配置文件时我都必须手动更新配置文件,因此我也很高兴能够自动化此过程。 谢谢

ios ios4 continuous-integration
6个回答
6
投票

Spaceship 提供对开发者门户 API 的访问,无需网络抓取!


3
投票

使用 cupertino ruby 脚本

有一个分支,因为自从门户更改后主分支尚未更新。

https://github.com/MatthewMaker/cupertino


1
投票

恐怕不是。 您应该能够通过抓取 HTML 来完成它,但仅此而已。 苹果在网络方面表现很糟糕(客户端除外)。


0
投票

我想出了以下解决方案:

  • 创建一个特殊的存储库,其中最新的配置文件(我知道仍然存在人为因素,但目前我还没有找到更好的解决方案)

  • 在构建之前检查带有配置文件的存储库并将其复制到

    /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}"

该解决方案对我有用,但仍然存在一些问题。


0
投票

我发现最简单的方法是使用 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
).


0
投票

对于任何想要使用 AppStoreConnect API 下载配置文件的人

  1. 验证
  2. 获取个人资料ID
  1. 获取个人资料信息(响应将为json) - read_and_download_profile_information
  2. 从个人资料信息 json 中获取 ['data']['attributes']['profileContent'] 键的值。这将是 base64 字符串,写入文件或变量。
  3. 解码 base64 字符串以创建配置文件。
  • 壳 -
    base64 --decode path/to/file > profile.mobileprovision
  • 蟒蛇 -
    base64.b64decode(profile_content_string)
© www.soinside.com 2019 - 2024. All rights reserved.