【问题标题】:Distribute unsigned app iPhone for jailbroken iPhone with no Cydia为没有 Cydia 的越狱 iPhone 分发未签名的应用 iPhone
【发布时间】:2012-03-12 09:33:32
【问题描述】:

我正在尝试通过 itms-services 协议为没有 CYDIA 的越狱设备分发未签名的 .ipa。 我浏览了有关如何为 cydia 创建未签名应用程序的指南:http://www.alexwhittemore.com/developing-jailbroken-iphone-ios-401/,除了管理器的“共享”选项外,我设法使它工作。它说:错误:代码设计检查失败......但也许这不是这里的问题。

获取我的应用程序的 .app 文件夹并将其压缩为 .ipa 扩展名,没有签名工作,但是当我将我的应用程序上传到我的服务器并尝试通过 itms-services 协议下载它时,设备上的进度条是快到最后了,下载失败....

有人有这方面的经验吗?

【问题讨论】:

    标签: iphone ios xcode jailbreak cydia


    【解决方案1】:

    很抱歉重新唤醒一个古老的线程,但以防万一将来有人有这个问题:

    itms-services 协议向两台服务器发出请求:oscp.apple.com 和另一台服务器(您可以在 Apple 网站上找到更多信息)。服务器检查 Apple 是否为签名证书生成了公钥,以及它们是否已被撤销。

    通常,没有办法绕过这一点,但 iPhone 检查的是“坏”响应。如果它检测到一个,它会拒绝该应用程序。但是,如果它根本没有收到响应,那么它不会拒绝该应用程序。

    因此,您在这里要做的可能是创建一个自定义 DNS 服务器,它将两台 Apple 服务器列为另外两台服务器。然后,创建一个移动配置文件,将 iPhone 的默认 DNS 服务器更改为您的服务器。然后应用程序应该会正确安装。

    【讨论】:

      【解决方案2】:

      我的问题与您完全相同:我正在寻找一种无需通过 Cydia 即可分发适用于越狱 iPhone 的 iOS 应用程序的方法。

      itms-services 适用于我确实提供了有效的配置文件。 没有配置文件,它不起作用。

      给你一个注意事项 Alexei:未签名的应用程序无法在 iPhone 上运行,即使它已越狱。您至少需要一个自签名应用程序。越狱消除了对 Apple 批准的开发人员签名的需要,它根本没有消除对签名的需要。 您可以在越狱设备上使用“ldid -S”对代码进行自签名。还有一个 Mac OS X 的 ldid 版本,地址为http://dl.dropbox.com/u/3157793/ldid

      请根据您的进度继续更新此主题 - 我也会这样做。

      [编辑]

      可以从 Xcode 生成自签名证书并使用它。然后可以使用scp -r 命令安装应用程序。

      然后我手动创建了一个 IPA 文件并通过带有 itms-services URL 的 Web 服务器提供它。安装失败,“此时无法安装”应用程序”

      查看控制台时,它会说:

      Mar 14 17:31:32 unknown installd[4276] <Error>: developer cert trust result = 5 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 verify_signer_identity: Could not copy validate signature: -402620392 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 preflight_application_install: Could not verify executable at /var/tmp/install_staging.AnmaAp/foo_extracted/Payload/App.app Mar 14 17:31:32 unknown com.apple.itunesstored[4272] <Notice>: MobileInstallationInstall: failed with -1 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 install_application: Could not prefligh

      原因是/usr/libexec/installd 程序在安装应用程序时正在检查有效签名。 这可以使用http://hackulo.us/wiki/AppSynchttp://jamesisbored.com/iphone/bootleg 等工具进行修补和禁用),但我不会这样做,原因有两个:

      • 首先它为 iPhone 上的任何安装打开了大门
      • 其次,因为您的用户必须在每次 iOS 更新后再次这样做(并且不保证将来版本的补丁程序的可用性)

      所以,这给我留下了两个选择: A/放弃这个想法 B/ 开发我自己的 MISValidateSignatureAndCopyInfo 绕过代码,并在安装我的应用程序所需的时间内临时使用它。

      【讨论】:

      • 在尝试分发它之前,您是否测试了应用程序是否可以在设备上手动安装(使用 scp 将文件存储在设备上)??
      • 谢谢!注意有帮助!是的,我通过手动安装检查了该应用程序,甚至使用了有效的配置文件。它有效。您知道无需电缆即可安装配置文件的方法吗?
      • 是的,只需将其公开在网页中,然后从 Mobile Safari (your_server/file.mobileprovision) 下载即可
      • 就越狱不是而言,这篇博文也很有帮助:jeffreysambells.com/posts/2010/06/22/…
      • 让我们区分有效 Xcode 签名的情况(使用 Apple 开发人员的订阅证书) - 在这种情况下,是的,您可以从 Web 应用程序公开移动配置文件并使用 itms-services URL下载并安装应用程序。我试过这是有效的。另一种情况是自签名应用程序部署在越狱设备上。我无法使用 itms-services url 方法安装应用程序。我收到一条错误消息,指出无法安装该应用,并且控制台中没有错误消息。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-26
      相关资源
      最近更新 更多