首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应本机错误:没有可用的桥实现,放弃

反应本机错误:没有可用的桥实现,放弃
EN

Stack Overflow用户
提问于 2017-08-25 14:19:55
回答 1查看 558关注 0票数 1

我刚创建了一个新的Reactive原住民项目。该项目实际上是将React本机本机集成到本地iOS项目中。当我运行这个应用程序时,我在RCTBridge.m中得到一个名为bridgeClass的函数中的异常

代码语言:javascript
复制
RCTAssert(implClass != nil, @"No bridge implementation is available, giving up.");

我正在AppDelegate.m中创建一个桥管理器

代码语言:javascript
复制
self.bridgeManager = [[ReactBridgeManager alloc] initWithBundleURL:jsCodeLocation launchOptions:launchOptions];

我的ReactBridgeManager实现如下所示:

代码语言:javascript
复制
@interface ReactBridgeManager () <RCTBridgeDelegate>

@property (nonatomic, strong, readwrite) RCTBridge *bridge;

@property (nonatomic, strong) NSURL *bundleURL;

@end

@implementation ReactBridgeManager

- (instancetype)initWithBundleURL:(NSURL *)bundleURL launchOptions:(NSDictionary *)launchOptions
{
    if (self = [super init])
    {
        self.bundleURL = bundleURL;
        self.bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
    }

    return self;
}

#pragma mark - RCTBridgeDelegate

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
    return self.bundleURL;
}

@end

以下是从我的package.json中生成的React和React的版本号

代码语言:javascript
复制
"react": "^15.6.1",
"react-native": "^0.47.2",

有人知道为什么会抛出这个异常吗?我可能需要做些什么来修复它呢?

更新:

RCTBridge.m中函数bridgeClass (第276-277行):

代码语言:javascript
复制
Class batchedBridgeClass = objc_lookUpClass("RCTBatchedBridge");
Class cxxBridgeClass = objc_lookUpClass("RCTCxxBridge");

batchedBridgeClasscxxBridgeClass是调用objc_lookUpClass()之后的0x0。看来implClass永远是nil,因为batchedBridgeClasscxxBridgeClass总是nil

如果类未在Objective运行时注册,objc_lookUpClass()将返回nil,我需要调查一下是什么原因导致这些类没有注册。如果可以的话,请帮助!

提交的Github问题

EN

回答 1

Stack Overflow用户

发布于 2017-09-22 15:51:02

您可以尝试这一点,选择您的project target -> Build Settings -> Other Linker Flags。在调试模式中添加-ObjC复杂参数,我只是解决了这个问题。

希望能解决你的问题。

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

https://stackoverflow.com/questions/45883497

复制
相关文章

相似问题

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