Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法获取远程视图控制器,错误为:错误:域=\u UIViewServiceInterfaceErrorDomain,代码=2_Ios_Facebook_Facebook Sdk 3.0 - Fatal编程技术网

Ios 无法获取远程视图控制器,错误为:错误:域=\u UIViewServiceInterfaceErrorDomain,代码=2

Ios 无法获取远程视图控制器,错误为:错误:域=\u UIViewServiceInterfaceErrorDomain,代码=2,ios,facebook,facebook-sdk-3.0,Ios,Facebook,Facebook Sdk 3.0,我犯了一个非常令人沮丧的错误。iOS开发已经3个月了。我已经登录到facebook,然后连接到Firebase。我一开始就实现了这一点。它工作得很好,今天我醒来把应用程序放在商店里。。。而且Facebook登录不起作用 我登录Facebook的代码绝对没有任何变化(我几乎可以肯定,但我已经检查了所有内容!)发生的情况是,你将单击Facebook登录按钮,它将是白色的(通常会有互联网浏览器)。我得到的错误是: [ViewService] Failed to get remote view cont

我犯了一个非常令人沮丧的错误。iOS开发已经3个月了。我已经登录到facebook,然后连接到Firebase。我一开始就实现了这一点。它工作得很好,今天我醒来把应用程序放在商店里。。。而且Facebook登录不起作用

我登录Facebook的代码绝对没有任何变化(我几乎可以肯定,但我已经检查了所有内容!)发生的情况是,你将单击Facebook登录按钮,它将是白色的(通常会有互联网浏览器)。我得到的错误是:

[ViewService] Failed to get remote view controller with error: Error: domain=_UIViewServiceInterfaceErrorDomain, code=2
我已经完全改变了代码的任何部分。我的bundleID和appID与facebook开发者中的相同

我完全不知道这是什么,只有极少数有类似问题的人似乎也不知道。我很想理解,但只要能够解决它,它不会在未来发生,那将是非常棒的!我用swift编码,但我没有像Facebook文档中那样使用SWIFTDK,而是使用FBSDKLoginButton

我也在模拟器上试过,但没有成功。这只发生在我的手机上

我真的不知道什么是有用的信息,所以我很抱歉,如果我包括一些不相关的东西

我正在使用facebook sdk 4.20.2

这是我的信息列表:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>CeleBreak</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fb1253394891414659</string>
            </array>
        </dict>
    </array>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>FacebookAppID</key>
    <string>1253394891414659</string>
    <key>FacebookDisplayName</key>
    <string>CelebreakApp</string>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fbauth2</string>
    </array>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
        <key>NSExceptionDomains</key>
        <dict/>
    </dict>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>armv7</string>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
    </array>
</dict>
</plist>

然后登录按钮就是FBSDKLoginButton。当我浏览Facebook文档时,它没有解释如何使用swift SDK,而是解释了如何使用swift SDK,但我按照指南以这种方式设置Facebook,并没有真正理解它。

解决方案:从手机上的Safari设置中清除数据和历史记录

学分:

在彻底测试我的登录流时,我也遇到了同样的问题——反复登录/注销,使用FB原生应用程序而不是Safari登录,等等

我想这是FB登录/Safari之间交互的一个弱点

class LoginVC: UIViewController: FBSDKLoginButtonDelegate {
@IBOutlet weak var loginButton: FBSDKLoginButton!

public var originVC: UIViewController = TabBarController()

override func viewDidLoad(){
    phoneNumberTextField.delegate = self
    loginButton.delegate = self
    phoneNumberTextField.keyboardType = UIKeyboardType.numberPad
}
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error?) {

}
func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
    fatalError("Logging out in Login View shouldn't happen")
}
}