首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >react本机linkedin-sdk-无法读取未定义的属性“配置”(LinkedInSessionManager.ios.js)

react本机linkedin-sdk-无法读取未定义的属性“配置”(LinkedInSessionManager.ios.js)
EN

Stack Overflow用户
提问于 2017-05-03 08:09:48
回答 1查看 640关注 0票数 1

我遵循了描述这里的所有步骤

这里是我的环境的道具:

代码语言:javascript
运行
复制
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是未定义的)时,我会收到一个错误消息。

这是我的测试代码:

代码语言:javascript
运行
复制
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中。

代码语言:javascript
运行
复制
...
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下,但似乎没有指向库的链接。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-21 07:18:34

我放弃了使用react-native-linkedin-sdk

相反,我成功地实现了这个库react本地-linkedin-登录

然而,如果不做一些修改,库就无法工作。

以下是我的研究结果:

安卓:

我遵循了所有步骤这里,但是我收到了以下错误:

错误:项目:应用程序声明了一个从配置‘编译’到配置‘默认’的依赖关系,这个依赖关系没有在项目描述符中声明:react本机-linkedin登录.

事实证明,上述说明中描述的路径是错误的。为了解决这个问题,我更新了settings.gradle文件中的路径如下:

代码语言:javascript
运行
复制
//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中的导入

代码语言:javascript
运行
复制
 // old syntax
 //#import "RCTEventDispatcher.h"
 // new syntax
 #import <React/RCTEventDispatcher.h>

以及文件“RNLinkedinLogin.h`”中的导入

代码语言:javascript
运行
复制
 //#import "RCTBridgeModule.h"
 #import <React/RCTBridgeModule.h>

现在,您的项目将无错误地编译。

祝你好运,汤姆

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43754577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档