虽然Frankified app在设备上,但无法在设备上运行Frank测试

时间:2013-05-13 15:34:03

标签: ios testing ios-provisioning error-code frank

我已经阅读了Ted就此group提供的说明。当我把以下内容放入.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

我在线搜索,我发现了这个forum,并且它说证书或配置文件是错误的。我有一个配置文件,我可以在设备上运行应用程序,而不是通过fruitstrap,所以我不相信我的配置文件会出现问题。

由于

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

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

如果我运行存储在此处的构建:

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

我在“-------调试阶段-------”下得到“分段错误: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

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

我将指定的体系结构从arm7更改为armv7并且可以正常运行。这就是我构建应用程序的方式:

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 /工作区/弗兰克 - Fruitstrap /弗兰克\ “”

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

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

1 个答案:

答案 0 :(得分: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},因为你可能还没有。此外,如果这不起作用,请尝试仅更改建议的参数之一,然后可能另一个。 xcodebuild是一个巨大的痛苦!!

检查xcodebuild帮助:https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html

祝你好运!!