SwishAppStore

使用 Swift 将您的 App 上传到 App Store。

使用方法

将其导入到您的 Swish 脚本中,以便您可以随时使用 swish appstore 进行部署。

在您的 Swish 的 Package.swift 文件中

  dependencies: [
  .package(url: "https://github.com/FullQueueDeveloper/SwishAppStore.git", from: "0.1.0"),
  // ...
  ],
  targets: [
    .executableTarget(name: "appstore", dependencies: ["SwishAppStore"]),
    // ...
  ],

您的 appstore 目标中的 main.swift 文件可能如下所示。

import SwishAppStore

guard let appleTeamID = ProcessInfo.processInfo.environment["APPLE_TEAM_ID"],
  let apploaderUsername = ProcessInfo.processInfo.environment["APPLOADER_USERNAME"],
  let apploaderPassword = ProcessInfo.processInfo.environment["APPLOADER_USERNAME"]
else {
  fatalError("Secrets missing")
}

let appStore = try AppStore(project: "MyProject.xcodeproj", scheme: "MyScheme")
try appStore.build(appleTeamID: appleTeamID)
try appStore.upload(credential: LiteralPasswordCredential(username: apploaderUsername, password: apploaderPassword))

这种方法使您能够将您的密钥存储在环境中,或者使用 Sh1Password 从 1Password 获取密钥。

下一步

这个包非常小。如果您的需求更加具体,您可以轻松地将脚本的内容复制到您自己的 Swish 脚本中,并轻松地根据您的具体要求进行自定义。