我遵循了描述这里的所有步骤
这里是我的环境的道具:
react 16.0.0-alpha.6
react-native 0.43.3
react-native-linkedin-sdk 0.0.4
XCode 8.3.2
Xcode项目编译时没有问题,但是当我调用下面的JS代码(函数configure
是未定义的)时,我会收到一个错误消息。
这是我的测试代码:
const config = {
clientID: '<my client id>',
clientSecret: '<my secret>',
state: '<my state hash>',
scopes: 'r_basicprofile',
redirectUri: '<my redirect URL>'
}
const LISDK = LinkedInSDK.configure(config)
导致错误的代码片段在LinkedInSessionManager.ios.js
中。
...
const LinkedInSDK = {
configure(config) {
console.info('LINKEDIN SESSION MANAGER', RNLinkedInSessionManager)
return RNLinkedInSessionManager.configure(config);
},
...
};
module.exports = LinkedInSDK;
我添加了一个控制台输出来检查我是否得到了一个RNLinkedInSessionManager对象,但是我得到了一个undefined
,这意味着RNLinkedInSessionManager
项目的代码并没有连接到react本机。
RNLinkedInSessionManager.xcworkspace
文件已成功添加到XCode项目文件夹中的/ios
下,但似乎没有指向库的链接。
任何帮助都是非常感谢的。
发布于 2017-05-21 07:18:34
我放弃了使用react-native-linkedin-sdk
。
相反,我成功地实现了这个库react本地-linkedin-登录。
然而,如果不做一些修改,库就无法工作。
以下是我的研究结果:
安卓:
我遵循了所有步骤这里,但是我收到了以下错误:
错误:项目:应用程序声明了一个从配置‘编译’到配置‘默认’的依赖关系,这个依赖关系没有在项目描述符中声明:react本机-linkedin登录.。
事实证明,上述说明中描述的路径是错误的。为了解决这个问题,我更新了settings.gradle
文件中的路径如下:
//project(':react-native-linkedin-login').projectDir = new File(rootProject.projectDir, '../../android')
project(':react-native-linkedin-login').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-linkedin-login/android')
在此之后,我可以成功地构建这个项目。
iOS:
完成这里描述的所有步骤之后,您的XCode项目路径中将有一个文件夹RNLinkedinLogin
。
将LinkedinLogin.m文件放到Build Phases
-> Compiled Sources
中
这两个文件都有旧的导入语法,但由于响应本机0.40及以上,语法发生了变化。您必须相应地编辑这些导入。
更改了文件RNLinkedinLogin.m
中的导入
// old syntax
//#import "RCTEventDispatcher.h"
// new syntax
#import <React/RCTEventDispatcher.h>
以及文件“RNLinkedinLogin.h`”中的导入
//#import "RCTBridgeModule.h"
#import <React/RCTBridgeModule.h>
现在,您的项目将无错误地编译。
祝你好运,汤姆
https://stackoverflow.com/questions/43754577
复制相似问题