菜鸟教程小白 发表于 2022-12-12 15:00:36

ios - 在 iOS 中将 react-native-navigation 与 react-native-callkit 集成


                                            <p><p>我正在尝试在 iOS 中将 RNN(React Native Navigation)与 RNCK(React Native CallKit)集成。<br/>
问题是它们中的每一个都需要在 Xcode 项目的 AppDelegate 中进行独特的设置。 </p>

<p>两者都需要<code>jsCodeLocation</code>:</p>

<pre><code>NSURL *jsCodeLocation = [ jsBundleURLForBundleRoot:@&#34;index&#34; fallbackResource:nil];
</code></pre>

<p>RNN 设置:</p>

<pre><code>;
</code></pre>

<p>RNCK 设置:</p>

<pre><code>RNCallKit *rncallkit = [ init];
RCTBridge *bridge = [ initWithBundleURL:jsCodeLocation
                                          moduleProvider:^{ return @; }
                                           launchOptions:launchOptions];
RCTRootView *rootView = [ initWithBridge:bridge
                                                 moduleName:@&#34;MyApp&#34;
                                          initialProperties:nil];
</code></pre>

<p>我看到 <a href="https://github.com/ianlin/react-native-callkit/issues/16" rel="noreferrer noopener nofollow">this (outdated) issue in RNCK repo</a> , 这导致 <a href="https://github.com/wix/react-native-navigation/issues/1884" rel="noreferrer noopener nofollow">this (also outdated) issue</a>并且都谈到了 RNN 1,而在 RNN 2 中,这个设置被简化了,除了 forkRNN 并添加一个单独的初始化器来接收 <code>moduleProvider</code> 之外,我没有看到将这两个框架集成到一个项目中的正确方法>...</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>RNN 有一个额外的 <code>bootstrap</code> 方法,它接受一个委托(delegate)对象参数(实现 <code>RNNBridgeManagerDelegate</code>),允许您注入(inject)额外的模块。</p>

<p>下面是一个示例,说明如何将应用委托(delegate)本身设置为委托(delegate)来引导 RNN:</p>

<pre><code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSURL *jsCodeLocation = [ jsBundleURLForBundleRoot:@&#34;index&#34; fallbackResource:nil];
;
return YES;
}
</code></pre>

<p>然后您可以实现委托(delegate)方法并返回 <code>RNCallKit</code> 对象:</p>

<pre><code>- (NSArray&lt;id&lt;RCTBridgeModule&gt;&gt; *)extraModulesForBridge:(RCTBridge *)bridge {
RNCallKit *rncallkit = [ init];
return @;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 iOS 中将 react-native-navigation 与 react-native-callkit 集成,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/54309685/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/54309685/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 iOS 中将 react-native-navigation 与 react-native-callkit 集成