在iOS共享扩展中使用React Native

and*_*one 6 ios javascriptcore ios-frameworks react-native share-extension

跳过这个facebook/react-native#1626 GitHub问题,我有一个关于在iOS共享扩展中设置React Native视图的问题

我发布了一个示例GitHub repo来演示这个问题,总结如下.

到目前为止,概念验证设置非常简单,但我觉得我缺少一些非常简单的东西.

在我react-native init搭建的Xcode项目我创建了一个新的共享扩展的目标,并在其连接相应的阵营原生静态库(libReact.a,libRCTWebSocket.a,等).这使我们的项目编译成一个非常简单的ShareViewController,这是一个简单的'ol' UIViewController.

从另一个应用程序激活我的共享扩展后,我ShareViewController被初始化但立即崩溃并显示以下日志消息:

2015-11-29 12:44:34.721 [warn][tid:com.facebook.React.JavaScript][RCTContextExecutor.m:129] 'undefined is not an object (evaluating \'RCTWebSocketModule.connect\')'
2015-11-29 12:44:34.726 ShareExtension[66473:2179009] -[RCTBatchedBridge redBox]: unrecognized selector sent to instance 0x7fb59d8ab200
2015-11-29 12:53:47.160 [warn][tid:com.facebook.React.JavaScript][RCTContextExecutor.m:129] 'Requiring module "InitializeJavaScriptAppEngine" which threw an exception'
2015-11-29 12:53:47.160 ShareExtension[66473:2179009] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RCTBatchedBridge redBox]: unrecognized selector sent to instance 0x7fb59d8ab200'
Run Code Online (Sandbox Code Playgroud)

该行'Requiring module "InitializeJavaScriptAppEngine" which threw an exception'看起来特别可疑,并让我相信我在共享扩展中缺少一些基本的JavaScriptCore设置.很想知道是否有任何明显的区域需要调查,或者是否有其他人已经解决了这个问题.谢谢!

dji*_*oul 6

我有同样的错误并通过在我的应用扩展目标构建设置(其他链接器标志)中添加"-ObjC"来修复它