【问题标题】:Test iOS app on device without apple developer program or jailbreak在没有苹果开发者程序或越狱的设备上测试 iOS 应用程序
【发布时间】:2011-06-24 13:56:30
【问题描述】:

如何在不注册 Apple Developer Program 或越狱 iPod 的情况下在 iPod Touch 上测试 iOS 应用程序?

目前两者都不是可行的选择。

我想在设备本身而不是屏幕模拟器上进行测试,看看它在实际 iPod 上的表现。

【问题讨论】:

  • 6 月 8 日,Apple 宣布使用 Xcode 7,无需 Apple 开发者计划证书即可在其设备上安装他们开发的任何应用程序。 Apple Developer 网站上说我们只需要使用 Apple ID 登录即可。
  • 查看此答案以详细了解使用免费配置stackoverflow.com/questions/30973799/…
  • 付费开发者帐户是您的问题吗?还是您不想在 Apple 注册您的 UDID?即使是已接受答案中的免费帐户,也要求您拥有一个免费的、在 Apple 开发者计划中注册的帐户,并将设备的 UDID 添加到 iOS 开发配置文件中。
  • 这里是另一个分步指南:stackoverflow.com/a/33928777
  • @wottle:“付费开发者帐户”是一个安全的选择,考虑到使用免费帐户注册 UDID 不是一种选择,就像五年前(问这个问题的时候)一样。当时,接受的答案(我的)只是说没有其他选择。

标签: ios ios-provisioning


【解决方案1】:

在 App Store 成立七年后(2008 年 7 月 10 日),Apple 终于在 Xcode 7 中引入了一项新功能,让您只需登录即可在任何设备上部署和运行任意数量的应用程序使用您的 Apple ID。 您将不再需要付费计划会员才能在自己的设备上部署应用程序(如果您不方便越狱,您当然也不必再越狱了)。

好吧,无论如何,这不适用于大多数用例。出于显而易见的原因,某些需要计划成员资格的功能和权利(例如 Game Center 和应用内购买)将不适用于使用此方法部署的应用。来自Apple's developer documentation

在使用免费配置(iOS、watchOS)的设备上启动您的应用

如果您没有加入 Apple 开发者计划,您仍然可以使用免费配置在您的设备上构建和运行您的应用程序。但是,当您不属于 Apple Developer Program 时,Adding Capabilities 中描述的可用于您的应用的功能会受到限制。

将您的应用程序安装到您的 iOS 设备或 Apple Watch 上的具体步骤如下(为便于浏览,省略了屏幕截图):

  1. 在 Xcode 中,将您的 Apple ID 添加到帐户首选项中,如Adding Your Apple ID Account in Xcode 中所述。

  2. 在项目导航器中,选择项目和您的目标以显示项目编辑器。

  3. 单击“常规”并从“团队”弹出菜单中选择您的姓名。

  4. 将设备连接到您的 Mac,然后从 Scheme 工具栏菜单中选择您的设备。

  5. 在团队弹出菜单下方,点击修复问题。

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

  6. 点击运行按钮。

    Xcode 在启动应用之前在设备上安装应用。

在 Xcode 7 之前,确实需要计划成员身份才能签署将应用程序部署到设备所需的供应证书。唯一的另一种选择是越狱。使用 Xcode 7,您不再需要越狱您的设备来运行在 App Store 之外分发的应用程序,或者如果您负担不起加入该计划的费用来测试应用程序,或者部署和使用您为自己的个人用途而开发的应用程序如果您不打算通过 App Store 分发它们(在这种情况下,您可能根本不需要计划成员提供的权利)。

【讨论】:

  • 仅供参考:我安装了 Xcode 7 并尝试在我的手机上运行,​​但我无法正确获取所有构建依赖项,所以我切换回 Xcode 6,终于能够在我自己的设备上运行! Xcode 7 必须向您的帐户添加一些 Xcode 6 识别的许可证:)
  • 我刚刚使用 Xcode7 在我的 iPAD Air 上部署了过去几周构建的一些示例应用程序。为实际测试您的应用程序提供更好的体验,而无需支付订阅费用。这篇文章真的很有帮助。谢谢各位。
  • @BoltClock 我还认为您应该更清楚地说明Apple何时进行此更改。 “App Store 成立七年后”-> 大多数人可能不记得 App Store 是什么时候创建的,也不想查找或计算。
  • 我不得不去 Product->Destination 而不是 Scheme。在那里我必须选择我的设备。然后它起作用了。还记得通过转到设置 -> 常规 -> 配置文件来允许在 iPhone 上安装此类应用程序。您将看到您的开发帐户。点击它。您应该会看到那里列出的应用程序。点击它。点按“信任(此处为姓名)”
  • Swift 2 采用函数式设计范式,不久将开源。 Xcode 7 和 iOS 9 为即将到来的资金匮乏且可能具有革命性的开发人员提供免费的设备配置。我们确实生活在一个意识形态改革的时代,这是一个多么有活力的时代。
【解决方案2】:

有一种方法可以做到这一点。

您将需要 ROOT 访问权限才能编辑以下文件。

导航到 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk 并打开文件 SDKSettings.plist

在该文件中,展开 DefaultProperties 并将 CODE_SIGNING_REQUIRED 更改为 NO,此时您还可以将 ENTITLEMENTS_REQUIRED 更改为 @ 987654325@也。

您必须重新启动 Xcode 才能使更改生效。此外,您必须为希望能够在设备上运行的每个 .sdk 执行此操作。

现在,在您的项目设置中,您可以将 Code Signing Identity 更改为 Don't Code Sign

您的应用现在应该已成功构建并安装在您的设备上。

更新:

iOS 5.1 SDK 存在一些问题,即此方法的工作方式可能不完全相同。任何其他更新可用时将在此处列出。

更新:

您可以使用xcrun 找到SDKSettings.plist 的正确路径。

xcrun --sdk iphoneos --show-sdk-path

iOS 5.1 SDK 的新 SDKSettings.plist 位置:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist

【讨论】:

  • 这将构建一个未签名的应用程序,但是您将如何在未越狱的设备上安装/运行它?
  • 它可以安装但永远不会打开。
  • 是的,从 iOS5 开始仍然可以。你仍然需要 ldid 来伪造你的二进制代码签名。 code.google.com/p/networkpx/downloads/detail?name=ldid
  • OP 要求提供非越狱解决方案
  • 请考虑清理这个答案。答案本身没有提到使用ldid 进行虚假代码签名。在您的 cmets 中,您发表一条评论说不需要使用 ldid 签名,而在另一条评论中,您说它是。您还说这个答案与越狱无关,但我很确定它确实如此。越狱允许运行没有有效签名的二进制文件。如果您的应用未签名,或者使用 ldid 伪造签名,则它不会在现有的 iOS 设备上运行……除非您正在执行此处未描述的其他操作。
【解决方案3】:

使用 Xcode 7,您不再需要拥有开发者帐户即可在您的设备测试您的应用:

查看here

请注意,这是苹果官方支持的,所以不需要越狱设备或在模拟器上测试,但你必须使用 Xcode 7(目前处于测试阶段)这篇文章的)或更高版本。

我在没有开发者帐户的情况下成功地将应用部署到我的 iPhone。您必须使用您的 iCloud 帐户 来解决配置文件问题。只需添加您的 iCloud 帐户并将其分配到 Team 下拉列表(在 Identity 菜单中),然后 Fix Issue 按钮即可完成剩下的工作。


更新:

有些人在使用 iOS 8.4 时遇到问题,here is how to fix it

【讨论】:

  • 这是官方的,但仍处于测试模式
  • 有人设法使用这个新功能吗?不适合我
  • 为我工作。你在使用 XCode 7 吗?
  • 有教程吗?为我的 iPad 编译一个 pythonista 应用程序
  • 捆绑标识符必须是什么?
【解决方案4】:

我从未尝试过,但在谷歌搜索时,Jailcoder 看起来像是一个解决方案。问题是设备需要越狱。 如果有人尝试这个,请发表评论并告诉我们它是如何工作的。

【讨论】:

  • 非常适合我。唯一令人讨厌的部分是他们希望您批准将一些证书添加到钥匙串中,而不会告诉您他们在做什么。不过,它们看起来就像您尝试将其作为手动过程一样。它非常无缝。我在不到 5 分钟的时间内从全新安装的 Xcode 升级到在我的 iPhone 上运行的一个应用程序。我正在运行 Xcode 4 和 iOS 5.0.1 Jailbroken。
  • 太棒了!感谢回复@cool_me5000。您对它的体验将帮助其他想要尝试的人。总有一天我会测试它。
  • 这是过时的,并没有解决问题中提出的要求,在没有越狱的情况下做到这一点。
【解决方案5】:

转到Build Settings,在Code Signing下,将Code Signing Identity设置为iOS Developer & Provisioning ProfileAutomatic

从下拉列表中选择您的设备(现在可见)并运行您的应用。

【讨论】:

    【解决方案6】:

    上面的 JailCoder 引用指向一个不再存在的站点。看起来你应该使用http://oneiros.altervista.org/jailcoder/https://www.facebook.com/jailcoder

    【讨论】:

    • jailcoder 是一个非常好用且简单的实用程序,可以使用伪造的代码签名并将应用程序下载到真实设备。您需要创建 iPhone 开发者和 iPhone 分发证书。
    【解决方案7】:

    带有免费 Xcode 配置的最新 Xcode 和 iOS 的步骤

    1. 打开 Xcode -> 首选项 -> 帐户

      添加帐户 -> 使用您的 Apple ID 登录

    2. 选择目标 -> 签名和功能

      在团队中选择个人团队

    3. 确保启用自动签名

    4. 连接您的设备并在 Xcode 中选择它

    5. 运行可能会失败的项目

    6. 打开iOS设备设置->常规->设备管理->点击应用信任

    【讨论】:

      【解决方案8】:

      刚刚测试了 JailCoder www.jailcoder.com,我能够在越狱设备上运行和调试。您只需要全新安装 xCode,如果没有,只需卸载并再次安装 xCode 并运行 JailCoder

      【讨论】:

        【解决方案9】:

        申请 Apple 开发者计划是物有所值的。您将能够使用临时配置将您的应用程序分发给测试人员和测试设备。您可以向您的开发者计划添加 100 个临时配置设备。

        【讨论】:

        • 当然,这物有所值。但是99美元?上一次我付了 99 美元让我在自己的机器上安装我写的程序是……从来没有。而且我写了很多程序,拥有很多机器。
        【解决方案10】:

        按照以下步骤操作:

        1.打开Xcode->选择项目->选择目标->勾选自动管理签名->然后添加你的苹果开发者账户->清理项目->构建项目->运行,一切正常。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-01-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多