在没有开发人员程序iOS 5.1的设备上安装iOS应用程序

时间:2012-05-08 07:26:07

标签: iphone ios xcode ios5 iphone-developer-program

我正在尝试将iOS应用安装到运行iOS 5.1的设备上。 它目前还没有越狱,但如果这就是我要做的事情。

当我运行iOS 5.0.1时,我遵循了这个帖子:How can I deploy an iPhone application from Xcode to a real iPhone device?并创建了一个自签名证书,就像魅力一样。

更新到Xcode 4.3.2和iOS 5.1后,我无法使其正常工作

我也尝试过这个帖子,但没有成功:Test iOS app on device without apple developer program or jailbreak

那么如何在不加入开发者计划的情况下,将我的应用程序从Xcode 4.3.2安装到运行iOS 5.1的iPhone 4上?

编辑: 我现在能够将应用程序运行到iPhone上。但是,当我尝试启动它们时,它们会崩溃,甚至启动图像也不会出现。我已经越狱了设备,安装了Appsync,编辑了SDKSettings.plist,并将构建属性更改为“不要编码签名”。

当我尝试启动应用程序时,这是控制台给我的,我没有在Xcode中获得任何崩溃日志:

May  8 18:25:35 unknown SpringBoard[54] <Warning>: Unable to obtain a task name port right for pid 1017: (os/kern) failure
May  8 18:25:35 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.KerschApps.Test[0x2fa8]) Exited: Killed: 9
May  8 18:25:35 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.KerschApps.Test[0x2fa8]) Throttling respawn: Will start in 2147483647 seconds
May  8 18:25:35 unknown SpringBoard[54] <Warning>: Application 'Test' exited abnormally with signal 9: Killed: 9
May  8 18:25:36 unknown kernel[0] <Debug>: AMFI: hook..execve() killing pid 1017: no code signature

为什么我的应用程序在模拟器中运行正常时会在iPhone中崩溃?

谢谢/蒂姆

3 个答案:

答案 0 :(得分:11)

我遇到了与你完全相同的问题,使用Xcode 4.3.2在iOS 5.1上运行应用程序,我只是设法让它在这里使用此方法几乎完美地运行:

Building Apps for iOS 5.1 with Xcode 4.3.2

它基于this one from iPhone Dev wiki,但我必须包含一些更改 - -gta开关会导致构建错误,并且说明并不完全明确。完整的教程在博客文章中,但步骤基本上是:

  1. 创建名为“iPhone Developer”的自签名证书
  2. 重新打开Xcode项目构建设置中的'代码签名身份' - 使用自签名证书'iPhone Developer'
  3. 按照声明更改info.plist事件
  4. 下载ldid,制作可执行文件
  5. 创建python脚本,将其粘贴在/ usr / bin中,相应地更改python脚本引用
  6. 将iPhoneCodeSign.xcspec更改为使用ldid3.py
  7. 通过触摸ssh
  8. 在设备上创建tdmtanf文件
  9. 请勿在“其他代码签名标志”
  10. 中添加-gta标记

    我碰巧使用Unity进行调试,所以缺少使用-gta进行Xcode调试并不会让我感到困扰 - 显然,Objective C开发人员需要这个功能,所以希望有人可以扩展它,如果他们能够正常工作的话。我目前正在我的iPhone上使用我的应用程序的开发构建5.1,并且手指交叉你可以获得相同的结果。

答案 1 :(得分:1)

我不知道你是否解决了问题,但我和你有同样的问题。我将解释如何解决。

需要:

Xcode 4.3.2,带iOS 5.1.x的iPhone,Mac。

您只需自动签署您的申请即可。您所做的所有步骤都是正确的,因此当您从Xcode构建应用程序时,您需要对其进行签名。 在钥匙串中创建自我证书,然后进入xcode编译应用程序的文件夹(通过终端),然后写下:

mac$ platform=/Developer/Platforms/iPhoneOS.platform
mac$ allocate=${platform}/Developer/usr/bin/codesign_allocate
mac$ export CODESIGN_ALLOCATE=${allocate}
mac$ codesign -fs "Name" Program

其中“Name”是证书的名称,Program是Program.app的名称(您必须指定.app)。通过ssh或cyberduck或iTunes将您的应用程序复制到/ Applications中......然后重新开始并享受!

答案 2 :(得分:1)

我试图做同样的事情并且在几点失败,然后我找到了Moustafa Hassan's blog,其中有我成功使用的步骤。

在OS X 10.8.4(在我的Hackintosh上)和iOS 6.1.2在我的iPad上使用Xcode 4.6.3进行了很好的测试

该页面包含一步一步的示例和图片来完成这项工作。它只需要大约15分钟。

我唯一能想到的就是如何在OS X设备上访问/ usr / local / bin。通过在终端[1]中显示隐藏文件可以轻松完成。

[1]:默认写com.apple.Finder AppleShowAllFiles是