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应用程序中,你可以去模拟器并删除那里的应用程序,然后重新运行程序。

  1. 模拟器 – >重置内容和设置
  2. 退出模拟器
  3. 再次运行testing用例

如果其他修补程序不起作用

通过这些尝试:

  1. 强制退出模拟器中的应用程序
  2. 重置模拟器
  3. 从模拟器中删除应用程序
  4. 全球禁用应用传输安全(不推荐)
  5. 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下