我正在嘗試使用FBSDK在我的React Native iOS應用中設置Facebook登錄。該按鈕呈現,但點擊時會導致iOS模擬器中的應用程序崩潰。它甚至不會在遠程調試器中記錄任何錯誤。React Native Facebook登錄按鈕在iOS模擬器中崩潰應用
我加入了FBSDKCoreKit.framework和FBSDKLoginKit.framework到我的項目在Xcode和隨後關於如何修改this guide我info.plist
和AppDelegate.m
是不是有什麼毛病我的按鈕的代碼?
import React, { Component } from 'react'
import { View } from 'react-native'
import FBSDK from 'react-native-fbsdk'
const { LoginButton } = FBSDK
import styles from '../styles'
export default class Login extends Component {
constructor (props) {
super(props)
this.onLoginFinished = this.onLoginFinished.bind(this)
}
onLoginFinished (error, result) {
if (error) {
console.log(error)
alert("Login failed with error: " + error);
} else if (result.isCancelled) {
alert("Login was cancelled");
} else {
alert("Login was successful with permissions: " + result)
}
}
render() {
return (
<View style={styles.container}>
<LoginButton
publishPermissions={["public_profile"]}
onLoginFinished={this.onLoginFinished}
onLogoutFinished={() => alert("User logged out")}
/>
</View>
)
}
}
編輯
從Andreyco
<Error>: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Read permissions are not permitted to be requested with publish or manage permissions.'
*** First throw call stack:
(
0 CoreFoundation 0x00000001102ce34b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x000000010f1dc21e objc_exception_throw + 48
2 CoreFoundation 0x00000001102ce299 -[NSException raise] + 9
3 FunDates 0x000000010e860c05 -[FBSDKLoginManager logInWithPublishPermissions:fromViewController:handler:] + 228
4 FunDates 0x000000010e85d523 -[FBSDKLoginButton _buttonPressed:] + 1662
5 UIKit 0x000000011284b5b8 -[UIApplication sendAction:to:from:forEvent:] + 83
6 UIKit 0x00000001129d0edd -[UIControl sendAction:to:forEvent:] + 67
7 UIKit 0x00000001129d11f6 -[UIControl _sendActionsForEvents:withEvent:] + 444
8 UIKit 0x00000001129d00f2 -[UIControl touchesEnded:withEvent:] + 668
9 UIKit 0x00000001128b8ce1 -[UIWindow _sendTouchesForEvent:] + 2747
10 UIKit 0x00000001128ba3cf -[UIWindow sendEvent:] + 4011
11 UIKit 0x000000011286763f -[UIApplication sendEvent:] + 371
12 UIKit 0x000000011305971d __dispatchPreprocessedEventFromEventQueue + 3248
13 UIKit 0x00000001130523c7 __handleEventQueue + 4879
14 CoreFoundation 0x0000000110273311 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
15 CoreFoundation 0x000000011025859c __CFRunLoopDoSources0 + 556
16 CoreFoundation 0x0000000110257a86 __CFRunLoopRun + 918
17 CoreFoundation 0x0000000110257494 CFRunLoopRunSpecific + 420
18 GraphicsServices 0x0000000116095a6f GSEventRunModal + 161
19 UIKit 0x0000000112849964 UIApplicationMain + 159
20 FunDates 0x000000010e69f9bf main + 111
21 libdyld.dylib 0x000000011421668d start + 1
22 ??? 0x0000000000000001 0x0 + 1
)
運行'react-native log-ios'來從設備尾部記錄日誌。發佈日誌然後 – Andreyco
@Andreyco日誌添加 – plmok61