1. 程式人生 > >IOS Weex 報錯誤 resource request handler found,actionBridge 解決辦法

IOS Weex 報錯誤 resource request handler found,actionBridge 解決辦法

在IOS專案中使用Weex SDK的時候,從原生介面跳轉到Weex容器頁面,然後點選Weex容器頁面的button跳轉到另一個原生介面,JS方法點選無效,同時控制檯出現了resource request handler found和沒有定義actionBridge 的報錯。

解決:新增如下兩句程式碼,註冊自定義的JS回撥原生方法的事件方法

    [WXSDKEngine registerHandler:[WXLJCustomeEventModule new] withProtocol:@protocol(WXModuleProtocol)];

    [WXSDKEngine registerModule:@"actionBridge" withClass:[WXLJCustomeEventModule class]];

附註Weex 容器初始化程式碼

- (void)initWeexSDK
{
    [WXAppConfiguration setAppGroup:@"AliApp"];
    [WXAppConfiguration setAppName:@"WeexDemo"];
    [WXAppConfiguration setExternalUserAgent:@"ExternalUA"];
    
    [WXSDKEngine initSDKEnvironment];
    
    [WXSDKEngine registerHandler:[WXImgLoaderDefaultImpl new] withProtocol:@protocol(WXImgLoaderProtocol)];
    [WXSDKEngine registerHandler:[WXNavigationHandlerImpl new] withProtocol:@protocol(WXNavigationProtocol)];
    
    // 註冊自定義的JS回撥原生方法的事件方法
    [WXSDKEngine registerHandler:[WXLJCustomeEventModule new] withProtocol:@protocol(WXModuleProtocol)];
    [WXSDKEngine registerModule:@"actionBridge" withClass:[WXLJCustomeEventModule class]];
    // 註冊自定義的JS回撥原生方法的事件方法
    
#ifdef DEBUG
    [WXAnalyzerCenter addWxAnalyzer:[DebugAnalyzer new]];
#endif
    
#if !(TARGET_IPHONE_SIMULATOR)
    [self checkUpdate];
#endif
    
#ifdef DEBUG
    [self atAddPlugin];
    [WXDebugTool setDebug:YES];
    [WXLog setLogLevel:WXLogLevelLog];
    
#ifndef UITEST
    [[ATManager shareInstance] show];
#endif
#else
    [WXDebugTool setDebug:NO];
    [WXLog setLogLevel:WXLogLevelError];
#endif
}