手动安装在模拟器中的应用程序在加载时崩溃

时间:2015-10-02 11:08:30

标签: xcode installation ios-simulator xcode7 xcrun

我正在使用MyApp在iOS模拟器(Xcode 7,iOS 9)上安装xcrun simctl install booted MyPath/MyApp.app

这可以按预期工作,应用程序安装在模拟器上。

但是,手动或使用xcrun simctl launch booted com.company.MyApp启动应用程序失败。回馈错误:

  

处理命令时遇到错误   (domain = FBSOpenApplicationErrorDomain,code = 1):操作不能   完成。 (FBSOpenApplicationErrorDomain错误1。)

该应用程序从Xcode导出(请注意,从Xcode运行应用程序或从其源代码重新构建应用程序不是一个负责任的解决方案。)

这不是应用特定的,因为以这种方式安装的任何应用都会遇到相同的错误。

系统日志报告相同的错误,但有一些其他信息。

  

com.apple.CoreSimulator.SimDevice.CA35ED48-DDAA-4CF0-8C69-C206CC55A6EB.launchd_sim [4200]   (UIKitApplication:com.company.MyApp [0xe9ec] [4281]):指定的程序   按服务不包含所请求的架构之一:R

     

SpringBoard [4217]:无法获得pid   'UIKitApplication:com.company.MyApp [0xe9ec]':没有这样的过程(错误3)

     

SpringBoard [4217]:

的引导失败      

SpringBoard [4217]:应用程序   'UIKitApplication:com.company.MyApp [0xe9ec]'自愿退出。

     

SpringBoard [4217]:CGContextSaveGState:无效的上下文0x0。如果你   想查看回溯,请设置CG_CONTEXT_SHOW_BACKTRACE   环境变量。

     

SpringBoard [4217]:CGContextTranslateCTM:无效的上下文0x0。如果你   想查看回溯,请设置CG_CONTEXT_SHOW_BACKTRACE   环境变量。

     

SpringBoard [4217]:CGContextRestoreGState:无效的上下文0x0。如果你   想查看回溯,请设置CG_CONTEXT_SHOW_BACKTRACE   环境变量。

     

SpringBoard [4217]:CGContextSaveGState:无效的上下文0x0。如果你   想查看回溯,请设置CG_CONTEXT_SHOW_BACKTRACE   环境变量。

     

SpringBoard [4217]:CGContextTranslateCTM:无效的上下文0x0。如果你   想查看回溯,请设置CG_CONTEXT_SHOW_BACKTRACE   环境变量。

     

SpringBoard [4217]:CGContextRestoreGState:无效的上下文0x0。如果你   想查看回溯,请设置CG_CONTEXT_SHOW_BACKTRACE   环境变量。

     

com.apple.CoreSimulator.SimDevice.CA35ED48-DDAA-4CF0-8C69-C206CC55A6EB.launchd_sim [4200]   (UIKitApplication:com.company.MyApp [0xc82f] [4282]):指定的程序   按服务不包含所请求的架构之一:R

     

SpringBoard [4217]:无法获得pid   'UIKitApplication:com.company.MyApp [0xc82f]':没有这样的过程(错误3)

     

SpringBoard [4217]:

的引导失败      

SpringBoard [4217]:应用程序   'UIKitApplication:com.company.MyApp [0xc82f]'自愿退出。

architectures错误会改变变量。 R,f等

造成这个问题的原因是什么?我该如何解决?

4 个答案:

答案 0 :(得分:13)

我遇到了同样的问题,但是使用了Xamarin。在Visual Studio中,我通过转到iOS项目属性解决了它,在“iOS Build”下,我将“支持的架构”从“i386”更改为“i386 + x86_64”。

希望你能适应XCode。

答案 1 :(得分:2)

在目录“Release-iphoneos”而不是“Release-iphonesimulator”中使用.app文件时,我在Xcode 6中遇到了这个问题。此文件有多个版本,您需要更改install命令中的路径以指向正确的路径。

如果此.app文件是由某人/其他人发送给您的,则可能是来自错误目录的副本(不是为模拟器构建的)

答案 2 :(得分:0)

当您说从Xcode导出时,您指的是从iOS App Archive导出吗?如果是这样你就错过了一个重要的事实,即这些软件包是为iOS而不是模拟器构建的,这与Nanoc指出的完全不同的架构。

您正试图为您的问题找到一个不可能的解决方案。

答案 3 :(得分:0)

如果使用错误的sdk,可能会发生这种情况。如果项目是使用物理设备sdk构建的,则当您尝试在模拟器上打开它时,它会在启动时崩溃。

如果您使用xcrun xcodebuild从命令行构建它,请检查sdk是" iphonesimulator"不是" iphoneos"

e.g xcrun xcodebuild -scheme <yourScheme> -configuration Debug -project <yourProject>.xcodeproj -sdk iphonesimulator build