FBSOpenApplicationErrorDomain错误1
我试图运行我的iOS应用程序,它是从Xcode 7使用iPhone模拟器(任何)从Swift 1.2
迁移到Swift 2.0
,我得到以下错误:
操作无法完成。 (FBSOpenApplicationErrorDomain错误1.)
我已经尝试重置模拟器设置和内容,退出Xcode,干净的项目等。
更新Xcode到v7.0后,我有同样的错误。 经过几个小时的挣扎之后,我发现有一些空的环境variables设置在我的活动scheme中被传递给Run action(不知道为什么在那里)。 删除这个空的环境variables立即解决了这个问题。
即使您在Xcode中单击了“停止”,该应用程序的前一次运行仍在后台仍然存在,但会发生此错误。 尝试手动杀死模拟器本身的应用程序:cmd + shift + H两次打开运行的应用程序,拖动你的应用程序来杀死它。 注意cmd + shift + H是进入主屏幕的快捷方式。 然后开始新的运行,它应该工作正常:)
在tvOS应用程序中,你可以去模拟器并删除那里的应用程序,然后重新运行程序。
- 模拟器 – >重置内容和设置
- 退出模拟器
- 再次运行testing用例
如果其他修补程序不起作用
通过这些尝试:
- 强制退出模拟器中的应用程序
- 重置模拟器
- 从模拟器中删除应用程序
- 全球禁用应用传输安全(不推荐)
- closures所有的背景模式问题总是返回阻止debugging会话
这是我的修复
似乎计划经理使一个领域没有任何论据,导致我的问题。
Product menu > Scheme > Edit Scheme > Run > Arguments > Environment Variables
如果在旁边有一个空白字段,那么取消选中它。
我得到了“1”的错误代码。 我希望这也适合你。
在我的情况下,我能够通过使用不同的模拟器来解决它。 它始终发生在iPhone 4S
模拟器,但一旦我切换到iPhone 6 Plus
模拟器,错误消失了。
这个错误不是(我相信)与Facebook SDK有关。 我得到这个,我没有Facebook的SDK。
我发现,虽然Xcode没有显示错误的原因,但是模拟器日志是。
当你得到这个错误时,模拟器将会运行,所以换到它,然后从“debugging”菜单中select“打开系统日志…”。
一旦日志显示在屏幕上,遍历到最后,你应该看到更多的信息(包括幸运的堆栈跟踪)。
在我的情况下,这是一个exception被抛出,因为文件资产丢失,或找不到。
在我的情况下,我解决它。
如果在后台模式下运行,只需closures正在工作的应用程序。
它适用于我,并希望它适合你。
退出(Command + Q)模拟器并重新启动它解决了这个问题。
我很确定这个问题可能与iOS 9上的ATS有关。
确保你已经遵循了FB团队提供的步骤,以使他们的SDK在iOS 9上工作。 发行说明 。
说明
应用传输安全
“App Transport Security是一项提高应用程序与Web服务之间连接安全性的function,该function由符合安全连接最佳实践的默认连接要求组成,应用程序可以覆盖此默认行为并closures传输安全性。
“使用NSURLConnection,CFURL或NSURLSession API的所有连接都使用应用程序传输安全默认行为,这些应用程序是为iOS 9.0或更高版本以及OS X v10.11或更高版本构build的,未遵循要求的连接将失败。
资料来源: 苹果 – App Transport Security Technote
这意味着如果您尝试在为iOS 9.0或更高版本或OS X v10.11或更高版本构build的应用程序上执行连接,并且该连接不符合ATS的要求,则连接将失败。
解
有两个解决这个问题的方法。
推荐的
确保您的连接符合ATS规定的要求。
“临时解决scheme”
禁用您的应用程序的ATS,以允许不符合此的连接。
这可能是一个临时的解决scheme,因为现在您可以禁用ATS在您的应用程序中使用,在将来的版本中,此选项可能会被删除,您将被迫使用ATS作为默认的安全function。
FACEBOOK SDK
Facebook为了赢得一些时间,并允许他们的用户在iOS 9.0和OS X 10.11中继续使用他们的SDK。 他们select了“临时解决scheme”,因此你必须这样做。
- 从您的应用程序禁用ATS。
- 或白名单Facebook服务器的networking请求。
为了做到这一点,你必须添加以下内容到你的目标.plist
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>facebook.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>fbcdn.net</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>akamaihd.net</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> </dict> </dict>
此外,您可能需要执行其他更改如果您使用任何可以执行应用程序切换到Facebook应用程序的Facebook对话框(例如,login,共享,应用程序邀请等)。
资料来源: Facebook – 准备iOS9的应用程序
经过很多的努力,我认为这个问题是你可能试图运行在后台运行的应用程序。 停止从Xcode的应用程序并没有实际上停止它(奇怪的权利),你必须按两次CMD + Shift + H的主键,find你的应用程序,并杀死它。 我仍然试图找出更好的方法来做这件事情,但这至less是暂时的。
产品菜单>scheme>编辑scheme>运行>参数>环境variables如果有一个复选标记旁边有一个空字段,则取消选中它。
我得到了操作无法完成(错误“1”)。它被固定只是取消选中它
我得到这个错误使用Xamarin iOS,Visual Studio的Mac 7.2,编译iPad 2,iOS 9.3。 解决scheme是将iOS版本支持的体系结构更改为i386 + x86_64 ,在Project – > Options – > iOS Build – > Supported Architectures下 。