Lew*_*ack 2 facebook ios facebook-sdk-3.0
我有一个非常令人沮丧的错误.我进入iOS开发已有3个月了.我一直在登录Facebook,然后连接到Firebase.我在一开始就实现了这一点.它工作得很好,今天我醒来把应用程序放在商店......并且Facebook登录不起作用.
我登录Facebook的代码绝对没有任何改变(我几乎可以肯定,但我已经检查了一切!)你会点击facebook登录按钮,它将只是白色(通常会有互联网)浏览器).我得到的错误是:
[ViewService] Failed to get remote view controller with error: Error: domain=_UIViewServiceInterfaceErrorDomain, code=2
Run Code Online (Sandbox Code Playgroud)
我完全改变了代码.我的bundleID和appID与facebook开发者中的相同.
我完全不知道它是什么,只有极少数有类似问题的人似乎也没有.我想了解,但只是能够解决它并且未来不会发生真的很棒!我在swift编码,但我没有像在Facebook文档中那样使用swiftSDK,而是使用FBSDKLoginButton.
此外,我在模拟器上尝试了这一点,它不会发生.它只发生在我的手机上.
我真的不确定什么是有用的信息,所以如果我包含一些不相关的内容,我很抱歉.
我正在使用facebook sdk 4.20.2
这是我的info.plist:
<?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>
Run Code Online (Sandbox Code Playgroud)
这是我的登录VC:
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")
}
}
Run Code Online (Sandbox Code Playgroud)
然后登录按钮只是一个FBSDKLoginButton.当我浏览Facebook文档时,它没有解释这样做,相反它解释了使用一个快速的SDK,但我遵循指南设置Facebook这种方式,并没有真正理解它.
小智 9
解决方案:从手机上的Safari设置中清除数据和历史记录.
信用:https://stackoverflow.com/a/44457044/7442549
在彻底测试我的登录流程时遇到了同样的问题 - 重复登录/注销,使用FB本机应用程序而不是Safari登录等.
我想这是FB登录/ Safari之间交互的弱点.
| 归档时间: |
|
| 查看次数: |
2705 次 |
| 最近记录: |