在 iOS 共享扩展中使用 React Native

Using React Native within an iOS share extension

跳下这个facebook/react-native#1626 GitHub issue, I had a question about setting up a React Native view within an iOS share extension

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

到目前为止,概念验证设置非常简单,但我觉得我遗漏了一些非常简单的东西。

在我的 react-native init 脚手架 Xcode 项目中,我创建了一个新的共享扩展目标,在其中 linked the appropriate React Native static libraries (libReact.a, libRCTWebSocket.a, etc.). This gets our project compiling for a very simple 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'

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

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