在没有苹果开发者计划或越狱的情况下在设备上测试iOS应用

如何在我的ipod touch上测试iOS应用程序而无需注册苹果开发者计划或越狱我的iPod?

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

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


在App Store推出七年后(2008年7月10日),Apple终于在Xcode 7中推出了一项新功能,允许您在任何设备上部署和运行任意数量的应用程序,只需通过Apple Apple ID。 您将不再需要付费的计划会员资格才能在自己的设备上部署应用程序 (并且如果您不舒服,您肯定不必再越狱您的设备)。

那么,无论如何,并非针对大多数用例。 出于显而易见的原因,使用此方法部署的应用程序将无法使用某些需要程序成员身份(如Game Center和应用程序内购买)的功能和权利。 从Apple的开发者文档:

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

如果您未加入Apple开发者计划,则仍然可以使用免费配置在您的设备上构建和运行您的应用。 但是,如果您不属于Apple开发人员计划,则在添加功能中描述的应用程序可用功能会受到限制。

将您的应用程序放到iOS设备或Apple Watch上的确切步骤如下(屏幕截图略为简化):

  • 在Xcode中,将您的Apple ID添加到帐户首选项,如在Xcode中添加您的Apple ID帐户中所述。

  • 在项目导航器中,选择项目和目标以显示项目编辑器。

  • 单击常规,然后从团队弹出菜单中选择您的名称。

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

  • 在“团队”弹出式菜单下,单击“修复问题”。

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

  • 点击运行按钮。

    Xcode在启动应用程序之前将该应用程序安装在设备上。

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


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

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

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

    在该文件中,展开DefaultProperties并将CODE_SIGNING_REQUIRED更改为NO ,而您也可以将ENTITLEMENTS_REQUIRED更改为NO

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

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

    您的应用程序现在应该可以在您的设备上成功构建和安装

    更新:

    iOS 5.1 SDK有一些问题,这种方法可能无法完全相同。 任何其他更新将在此处列出,当它们可用时。

    更新:

    iOS 5.1 SDK的新SDKSettings.plist位置:

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


    使用Xcode 7,您不再需要拥有开发人员帐户才能在您的设备测试您的应用程序:

    在这里输入图像描述

    看看这里。

    请注意,这是由Apple正式支持的,因此不需要在模拟器上使用越狱设备或进行测试,但是您必须使用Xcode 7(目前处于测试阶段)或更高版本。

    我成功地将应用程序部署到我的iPhone没有开发人员帐户。 您必须使用您的iCloud帐户来解决配置文件问题。 只需添加您的iCloud帐户,并将其分配到团队下拉菜单中(在“身份”菜单中),然后“修复发布”按钮就可以完成其余任务。


    更新:

    有些人在使用iOS 8.4时遇到问题,下面介绍如何解决这个问题。

    链接地址: http://www.djcxy.com/p/35117.html

    上一篇: Test iOS app on device without apple developer program or jailbreak

    下一篇: What is simplified in ECMAScript 5 date format compared to ISO 8601