在iOS共享扩展中使用React Native

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

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

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

在我的react-native init scaffolded Xcode项目中,我创建了一个新的Share Extension目标,并在其中链接了相应的React Native静态库 ( libReact.alibRCTWebSocket.a等)。 这使我们的项目编译为一个非常简单的ShareViewController ,它是一个简单的’ol UIViewController

从另一个应用程序激活我的Share Extension后,我的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' 

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

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