1

我从客户那里得到了一个 .ipa 文件(没有源代码访问权限)。应用商店中不再存在此应用。我的客户现在希望我再次编写这个应用程序。为了了解这个应用程序是关于什么的,我试图通过转到Organzer > Devices然后选择我的设备来在我的开发人员设备上安装 .ipa 文件。随着Add to portal我将文件添加到设备中。

但是,当在我的设备上启动应用程序时,它会升起打开但在达到全屏尺寸之前消失。没有留言。

问题: 我想弄清楚这是否是应用程序的错误(没有错误日志)或者是否不可能这样做?如果可能的话,我应该如何让应用程序工作?

编辑:控制台说:

SpringBoard[15] <Warning>: Unable to obtain a task name port right for pid 2582: (os/kern) failure 
Nov 25 13:25:16 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.dcomplex.NVRViewerMilestone[0xdb31]) Exited: Killed: 9 
Nov 25 13:25:16 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.dcomplex.NVRViewerMilestone[0xdb31]) Throttling respawn: Will start in 2147483647 seconds 
Nov 25 13:25:16 unknown SpringBoard[15] <Warning>: Application 'hawk-i' exited abnormally with signal 9: Killed: 9 
Nov 25 13:25:17 unknown kernel[0] <Debug>: AppleFairplayTextCrypterSession::fairplayOpen() failed, error -42004

更新:

使用答案中提到的脚本后,Denis我能够用我的替换现有签名。不幸的是,我无法启动该应用程序,并且得到了如上所述的确切控制台消息,除了最后一行与不同的错误号不同:

unknown kernel[0] <Debug>: AppleFairplayTextCrypterSession::fairplayOpen() failed, error -42022

更新 2:

Denis非常友善,并试图用谷歌的iResign工具来解决我的问题,不幸的是再次没有成功。就我而言,我开始相信没有解决方案来运行该应用程序,但对于其他人来说,接受的答案(丹尼斯)可能是要走的路。

和平。

4

3 回答 3

4

您可以尝试从 .ipa 中提取 .app 并使用以下 bash shell 文件对其进行签名:

#! /bin/bash 
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform\
/Developer/usr/bin/codesign_allocate

codesign -f -s "iPhone Developer: John Doe (XXXXXXXXXX)" $1.app

这需要您安装开发人员证书和配置文件,这将与通配符 id 一起使用;

用法将是这样的

$>myresign.sh <your-app-filename>

或者这个不错的工具可以直接用于 .ipa 文件。如果您有开发版本,而不是发送到 iTunes Connect 的版本,它将适用于这些情况。

于 2011-11-25T12:50:57.040 回答
2

如果您从未向客户提供设备的 UDID,则您将无权(或正确的配置文件)在您的设备上实际启动应用程序。

您需要从客户那里获取源代码,然后将其构建并安装到您的设备上。如果客户没有原开发者的源代码,你的客户拿不到,你们俩都是SOL

于 2011-11-25T12:43:42.260 回答
1

您甚至可以在您的设备上安装 .ipa,这有点令人惊讶。这意味着您在该应用程序的配置文件中。

因此,当您启动应用程序时,它看起来像是崩溃了。您可能会在设备日志中找到一些提示,您可以在Organizer -> Your Device -> Device Logs.

可能是该应用程序与您的设备不兼容并且无法启动。您可能会找到仍然可以运行应用程序的设备,但通常最好有源代码来运行应用程序。

于 2011-11-25T12:24:40.043 回答