我对React Native开发非常陌生,对Objective C和Xcode也不了解。
但是随着React Native生成.xcworkspace项目,我无法使用Xcode来构建它。
在RCTFBSDKLoginButtonManager.m
文件中,有两个方法:
#pragma mark - FBSDKLoginButtonDelegate
- (void)loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error
{
NSDictionary *event = @{
@"type": @"loginFinished",
@"target": loginButton.reactTag,
@"error": error ? RCTJSErrorFromNSError(error) : [NSNull null],
@"result": error ? [NSNull null] : @{
@"isCancelled": @(result.isCancelled),
@"grantedPermissions": result.isCancelled ? [NSNull null] : result.grantedPermissions.allObjects,
@"declinedPermissions": result.isCancelled ? [NSNull null] : result.declinedPermissions.allObjects,
},
};
[self.bridge.eventDispatcher sendInputEventWithName:@"topChange" body:event];
}
- (void)loginButtonDidLogOut:(FBSDKLoginButton *)loginButton
{
NSDictionary *event = @{
@"target": loginButton.reactTag,
@"type": @"logoutFinished",
};
[self.bridge.eventDispatcher sendInputEventWithName:@"topChange" body:event];
}
@end
每当我尝试构建项目时,都会出现错误
“ RCTEventDispatcher”没有可见的@interface声明选择器“ sendInputEventWithName:body:”
其中称为sendInputEventWithName
的地方,即[self.bridge.eventDispatcher sendInputEventWithName:@"topChange" body:event];
我现在被困住了,不知道如何处理这个问题。
答案 0 :(得分:1)
我的问题在运行yarn add git + https://github.com/facebook/react-native-fbsdk.git从master分支获取时就解决了。 希望这会有所帮助!