【问题标题】:Is there an API or any other method to automate the submission process?是否有 API 或任何其他方法来自动化提交过程?
【发布时间】:2010-01-05 10:58:53
【问题描述】:

我有许多功能和用户界面相似的应用程序。我通过从 .plist 文件中获取变量来创建用户界面。例如,我保存了我从中获取数据的 API 源。

创建新应用只需更改 .plist 文件中的值并重新构建应用,最后将其提交到 App Store。此外,我还需要创建 Ad-Hoc 配置文件并构建测试版本。

我希望自动化这个过程。为此,我需要:

  1. 通过命令行界面构建应用程序。

  2. 将二进制文件和其他所需文件/信息(应用程序图标、描述等)上传到 iTunes Connect。

任何我应该看的指针?

【问题讨论】:

  • 我刚看到 appmakr.com。我也在考虑类似的路线。他们如何提交应用程序?卷曲还是标准 POST?
  • 请注意,请不要在 App Store 中使用“Call Jim”、“Call Bob”等类型的应用程序向 App Store 发送垃圾邮件。店里人满为患。如果您正在做诸如处理多个地点的旅行指南或电子书之类的事情,请考虑使用应用程序内购买,并且只提交一个包含所有这些内容的核心应用程序。
  • 好吧,我和你一样讨厌他们的应用程序。我真的只是想尽可能多地自动化这个过程。特别是在初始设计和布局阶段。

标签: iphone app-store xcodebuild


【解决方案1】:

现在是 2016 年,现在我们有了带有 quick start guide hereiTunesConnect Transporter 命令行工具。

另外,看看这个以友好方式包装 Transporter 工具(和其他工具)的 OSS 项目:

https://fastlane.tools

【讨论】:

  • 这些工具太棒了!每个 iOS 开发者都应该了解这些。有时我会花几天时间提交应用程序,现在应该是几分钟。
  • 另外,如果你想要一个云提供商来解决这一切,请查看 Bitrise.io - bitrise.io
【解决方案2】:

可以使用 Apple 提供的命令行工具 xcodebuild 自动构建您的 Xcode 项目。

就应用程序创建过程的自动化而言,Apple 并未在 Xcode GUI 之外公开此功能。您仍然可以自动执行此操作,并且有两个选项。

  1. 使用 Automator 创建脚本 回放人类的所有动作 将执行创建一个新的 项目。本次回放的部分内容 项目名称等脚本 可以定制和 以编程方式提供给脚本。 这种方法的一个缺点是 这实际上将在 GUI,会很慢。

  2. 如果您想通过 命令行,你必须 对内容进行逆向工程 Xcode 项目文件包含 扩展名 .xcodeproj。它是 压缩文件并包含一些 XML 配置文件 整个项目。没有公众 关于内容的文件 这些 XML 文件。

为了使提交过程自动化,您需要一个与 itunesconnect.apple.com 对话的脚本。这是您将应用提交到 App Store 的地方。结帐this page 以获取有关 iTunes Connect 的更多信息。 浏览器自动化工具在这里会很有帮助,尽管您可以滚动自定义脚本,通过 HTTP 与 iTunes Connect 对话。

总而言之,唯一可以开箱即用的工具是xcodebuild 工具。其他一切都必须进行逆向工程。

【讨论】:

  • 感谢阿努拉格!但我想将应用程序发布到 iTunesConnect 将来会带来问题。如果 Apple 更改网站怎么办?一定有更好的出路。
  • 确实如此,但除非 Apple 为 iTunes Connect 开放某种 API,否则无济于事。在可用选项中,自定义脚本可能比使用浏览器自动化工具更好,因为 GUI 更改不应影响您的脚本。但是,如果 name 属性等表单元素发生更改,它将中断。为了尽量减少这种损害,您可以将 iTunes Connect 所需的所有项目放入 XML 或其他配置文件中,并将其映射到您的实际数据。
  • @Anurag - 你在#1 上是什么意思?使用automator的“看我做”?这对任何人有用吗?它从来没有为我工作过,我的意思是,我从来没有说这个功能在最简单的网页上可以正常工作,或者我没有正确使用它。
  • @Digital Robot - 我的意思是 Automator 和一些手工编码的 AppleScript 的组合。仅 Automator 不会让您走得太远。
猜你喜欢
  • 2020-10-02
  • 1970-01-01
  • 1970-01-01
  • 2020-07-11
  • 1970-01-01
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多