9

我已经阅读了 Ted 提供的关于该的说明。当我输入以下内容时,我的.app路径:

./fruitstrap -d -b <full_path_to_your_xcode_project_directory>/Frank/frankified_build/<app_name>.app

看起来一切正常,它显示它正在将文件复制到设备,它达到了 49%,但后来我得到了这个:

 [ 52%] CreatingStagingDirectory
 [ 57%] ExtractingPackage
 [ 60%] InspectingPackage
 AMDeviceInstallApplication failed: -402653103

我在网上搜索,我找到了这个论坛,它说证书或配置文件有误。我有一个配置文件,我可以在设备上运行应用程序,而不是通过 Fruitstrap,所以我不相信我的配置文件有问题。

谢谢

- - - - - 更新 - - - - -

好的,我已经取得了一点进展。我仍然卡住了,但这是我现在的问题。

如果我运行存储在这里的构建:

~/Library/Developer/Xcode/DerivedData/NameOfApp-blahblahblahblahblah/Build/Products/Debug-iphoneos/NameOfApp.app

我在“------- Debug Phase -------”下得到“Segmentation fault:11”。这不完全是我的问题(至少现在还不是),因为这将在我的设备上运行。但我无法运行存储在这里的 Frankified.app 构建:

~/NameOfRepo/Frank/frankified_build/Frankified.app

这就是我尝试运行它时得到的结果(./fruitstrap -d -b ...):

 [ 70%] VerifyingApplication
 AMDeviceInstallApplication failed: -402620388

经过一番谷歌搜索后,我发现这个数字意味着: Could not copy validate signature

对于我可以尝试的任何建议,我将不胜感激。谢谢!

- - - - - -更新 - - - - - - - - -

我检查了我的 Frankified.app 上的代码设计,如下所示:

 codesign -dvvv ./Frankified.app/

并看到它没有签名。所以我对 Frankified.app 构建进行了代码签名,如下所示:

 codesign -v --sign "iPhone Distribution: Joe Developer" /path/to/app

但我仍然得到这个:

 AMDeviceInstallApplication failed: -402620391 # This is a different error code than the others

- - - - - -更新 - - - - - - - - -

我将指定的架构从 更改arm7armv7并且它可以工作。这就是我构建应用程序的方式:

xcodebuild -xcconfig Frank/frankify.xcconfig clean build -arch armv7 -configuration Debug -sdk iphoneos DEPLOYMENT_LOCATION=YES DSTROOT="~/Documents/Workspace/Frank-Fruitstrap/Frank/frankified_build/" FRANK_LIBRARY_SEARCH_PATHS="~/Documents/Workspace/Frank -Fruitstrap/弗兰克\""

我现在可以在设备上启动应用程序,但是当我尝试运行测试时,如果我在模拟器上运行相同的测试,它们都会失败。

我从我的 ipad 获得了我的 IP 地址,然后我在浏览器中输入了 http://:37265/screenshot,它会显示来自应用程序的有效屏幕截图。当我执行 http://:37265/dump 时,它会转储有关当前视图的所有正确数据。

4

1 回答 1

1

在没有看到您到达现在位置的整个步骤的情况下回答这个问题有点棘手,例如。您运行的坦率的构建步骤。

您将在设备上运行测试的原因是 armv7 是允许您在设备上运行应用程序的架构(请原谅措辞不当的解释)。但是要在模拟器上运行它需要 i386,对于 -sdk 也可以尝试运行以下命令:

xcodebuild -showsdks

这应该向您显示您在机器上安装的任何 ios sdks,例如当我运行它时,我得到:

iOS Simulator SDKs:
    Simulator - iOS 7.0             -sdk iphonesimulator7.0

作为结果之一,如果您尝试使用类似于我代替 iphoneos 的模拟器,这也可能会有所帮助。因此,您的新命令将类似于:

xcodebuild -xcconfig Frank/frankify.xcconfig clean build -arch i386 -configuration Debug -sdk iphonesimulator7.0 DEPLOYMENT_LOCATION=YES DSTROOT="~/Documents/Workspace/Frank-Fruitstrap/Frank/frankified_build/" FRANK_LIBRARY_SEARCH_PATHS="~/Documents/Workspace/Frank-Fruitstrap/Frank\""

尝试一下,但记得将 sdk 更改为 -sdks {YOUR_SIMULATOR_SDK} 因为您可能还没有 7。此外,如果这不起作用,请尝试仅更改建议的参数之一,然后再更改另一个。xcodebuild 是一个巨大的痛苦!

查看此内容以获取 xcodebuild 帮助:https ://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html

祝你好运!!

于 2013-08-06T21:44:59.713 回答