【问题标题】:How to build an iOS binary without setting an Apple Developer account and team?如何在不设置 Apple Developer 帐户和团队的情况下构建 iOS 二进制文件?
【发布时间】:2015-06-26 20:14:24
【问题描述】:

我正在使用Xcode 6.3.2,我想让其他人构建和创建我的项目的.ipa 文件,但我不想公开我的Apple Developer 帐户信息,也不在我的团队中为他们创建用户......这可能吗?要么使用Xcode,要么通过命令行。

提前致谢

编辑: 目标是防止那些外部人员能够通过我的Apple Developer 帐户向App Store 提交应用程序,并且无法看到在其中管理的其他应用程序帐户。

EDIT2:向外部人员提供分发证书是否可以让他们将二进制文件提交到App Store

【问题讨论】:

    标签: ios certificate provisioning-profile ipa account


    【解决方案1】:

    Apple 最近推出了免费临时功能。

    要利用 Apple 建议的以下步骤,

    • 在 Xcode 中,将您的 Apple ID 添加到“帐户”偏好设置中,如在 Xcode 中添加您的 Apple ID 帐户中所述。

    • 在项目导航器中,选择项目和您的目标以 显示项目编辑器。
    • 单击“常规”并从“团队”弹出菜单中选择您的姓名。

    • 将设备连接到您的 Mac 并从方案工具栏菜单中选择您的设备。
    • 在团队弹出菜单下方,点击修复问题。

      Xcode 为您创建一个免费的配置文件,并且 Team 弹出菜单下的警告文本消失。

    • 点击运行按钮。

    【讨论】:

    • 它是您的一般 Apple ID,而不是高级开发者帐户。希望您清楚..
    • 我试过了,它要求一个 Apple ID 注册到开发者计划
    • 这是因为您使用的是 Xcode 6.3.2。您需要使用 Xcode 7.0 beta 来实现此功能。对不起..
    【解决方案2】:

    阅读您的编辑后,我想我更清楚地了解您要做什么。基本上,您只需向团队的其他成员提供以下信息:

    • 用于生成应用商店分发的私钥 证书。
    • 发行证书
    • 应用商店分布 配置文件

    这将允许这些团队成员继续工作,并为应用商店构建应用。如果没有您的 Apple 开发者 ID 密码,他们将无法登录 iTunes Connect 以查看您拥有的其他应用程序。虽然他们将能够为应用商店分发构建应用程序,但您(作为唯一拥有 Apple ID 密码的人)将必须是将编译后的应用程序提交到商店的人。

    所以基本上,您的开发团队将创建应用程序。当您准备好发布时,他们可以在 Xcode 中执行“存档”以创建已为应用商店签名的 .app(使用您在我上面提到的三个文件中提供的配置文件和签名身份。他们会将 .app 和 .dSym 文件压缩成 .zip 并将其发送给您。然后您将登录 iTunes Connect 并设置应用程序以准备好新的二进制文件,然后使用应用程序加载器上传将 .zip 文件发送到 Apple 进行审核。审核成功后,将再次登录 iTunes Connect 以发布应用程序。因此,开发人员在任何时候都无权提交应用程序或查看其他应用程序您在商店中拥有的应用程序。

    此外,开发团队在需要为应用商店构建之前不需要配置文件、证书和密钥。在开发阶段,他们使用自己的开发者帐户来构建和测试应用程序没有问题。

    另外需要注意的是,Apple 正在更改 iTunes connect 中可用的角色。您可能想要查看这些新角色,以查看这些角色的某些组合是否适合您的团队设置。

    来自http://9to5mac.com/2015/06/12/wwdc-itunes-connect-testflight-limits-account-switching/

    在管理员将多个应用添加到帐户后,开发人员 现在可以将用户角色分配给他们团队中的个人——应用经理, 开发人员或营销人员——每个人都允许对 iTunes 进行不同的访问 连接功能。例如,应用程序管理器将能够创建 用户、分配用户角色、更改定价并提交应用程序以供审核。 营销人员将可以访问更新商店元数据、上传促销 材料,并请求促销代码。分配开发者的用户 角色将能够上传二进制文件,查看崩溃日志和存储 元数据。

    【讨论】:

    • 不错的答案@wottle。有点不相关,但你知道有任何文章/帖子描述了这种情况以及保持签名/上传分开的替代形式吗?
    • 不幸的是,我还没有找到很好的资源。我不得不通过反复试验来学习,因为多年来苹果已经改变了一些事情的行为方式。这是一篇很好但很长的文章,它将引导您完成获取证书、创建应用程序 ID 和配置文件的所有步骤,以及如何管理这一切。我实际上喜欢他将重要的东西(证书/密钥)放在单独的钥匙串中的想法,尽管我们不使用它。 roathe.wordpress.com/2011/04/05/…
    • 另外,这是一篇很好的博文:blog.jaredsinclair.com/post/116436789850/…
    【解决方案3】:

    是的,有几种方法可以解决您的问题。

    1. 您可以使用您的配置文件创建 .ipa 文件并将该文件提供给他们,他们可以使用名为“Application Loader”的应用程序,他们可以使用此应用程序上传 .ipa,这应该让您的应用程序与他们的配置文件。我没有尝试过,但应该可以。

    2. 当您创建应用程序的存档时,它将列在“组织器”中,转到该位置,然后将其单独提供该 .app 文件。然后,他们可以使用任何第三方应用程序(可以从 Mac Appstore 下载)使用他们的个人资料退出应用程序。在这种情况下,您完全隐藏了您的信息。他们甚至可以在辞职过程中更改应用程序图标、默认图像等。

    3. 在发布模式下构建应用程序时,会创建一个 .app 文件,这是未签名的二进制文件。您可以在 Xcode 项目本身中搜索 .app 文件。只需找到位置,然后单独给他们那个 .app 文件。然后,他们可以使用任何第三方应用程序(可以从 Mac Appstore 下载)使用他们的个人资料退出应用程序。在这种情况下,您完全隐藏了您的信息。他们甚至可以在辞职过程中更改应用程序图标、默认图像等。

    希望这会有所帮助。

    【讨论】:

    • 谢谢。如果我的钥匙串中没有我的分发证书,我将无法对此进行测试:xcodebuild -exportArchive -exportFormat ipa -archivePath <ARCHIVE_PATH> -exportPath <EXPORT_PATH> -exportProvisioningProfile <PROV_PROFILE>。这需要分发证书才能工作吗?
    • 如果您遵循第 3 个选项,.app 将不会包含您的信息。选择模拟器,删除所有用于发布构建的配置文件,并在发布模式下构建应用程序,您会发现 .app在你的 Xcode 中。你可以直接交出它,它不会包含你的任何细节。
    【解决方案4】:

    不,没有配置文件(设备编译,而不是模拟器编译)无法编译 .ipa。为此,您需要转到 XCode->{AppTarget}->Build Settings->Code Signing->Code Signing Identity,然后设置“不要进行代码签名”。

    之后尝试编译会失败

    CodeSign 错误:产品类型需要代码签名 SDK 中的“应用程序”...


    编辑:目标是防止那些外部人员能够 通过我的 Apple Developer 帐户将应用程序提交到 App Store 并且能够查看帐户中管理的其他应用程序。

    你有两个选择:

    1. 向他们发送您的源代码 + XCode 项目,而不是库。

    2. 使用“iOS Developer”代码签名身份而不是“iOS Distribution”身份编译代码。

      • 使用 iOS Developer 签名的任何内容都无法发送到 AppStore。
      • 使用 iOS Distribution 签名的任何内容都不能在设备上运行 除非它是从 AppStore 下载的。
      • 除非他们知道您的 AppleID 用户名和密码,否则他们永远无法看到您的待售商品,也无法发布任何内容

    【讨论】:

    • iOS Distribution 需要导出二进制文件以进行临时部署,对吧?这就是他们想要的,能够生成临时 ipa 文件
    猜你喜欢
    • 2017-07-23
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多