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