2016-06-12 180 views
0

我正在關注iOS MapView example鏈接器命令失敗,退出代碼1(React native - ios)

我在項目/ ProjectFolder/RCTMapManager.m創建了一個新目標C .m文件,並添加以下代碼:

// RCTMapManager.m 
#import <MapKit/MapKit.h> 

#import "RCTViewManager.h" 

@interface RCTMapManager : RCTViewManager 
@end 

@implementation RCTMapManager 

RCT_EXPORT_MODULE() 

- (UIView *)view 
{ 
    return [[MKMapView alloc] init]; 
} 

@end 

然後我打開了原子和創建的組件的JS文件/ MapView類.js文件,並添加以下代碼:

// MapView.js 

import { requireNativeComponent } from 'react-native'; 

// requireNativeComponent automatically resolves this to "RCTMapManager" 
module.exports = requireNativeComponent('RCTMap', null); 

而且在Xcode運行生成命令重建我以前的工作項目,並生成該錯誤消息失敗:

enter image description here

因此,我在MapView.js中註釋掉了所有內容,並在RCTMapManager.m中註釋掉了實現。

這將構建:

// RCTMapManager.m 
#import <MapKit/MapKit.h> 

#import "RCTViewManager.h" 

@interface RCTMapManager : RCTViewManager 
@end 

但只要我添加實現時,出現「鏈接器命令退出碼1失敗」:

// RCTMapManager.m 
#import <MapKit/MapKit.h> 

#import "RCTViewManager.h" 

@interface RCTMapManager : RCTViewManager 
@end 

@implementation RCTMapManager 

RCT_EXPORT_MODULE() 

- (UIView *)view 
{ 
    return [[MKMapView alloc] init]; 
} 

@end 

我想知道爲什麼實施導致此失敗,以及如何解決它?

回答

1

RCTMapManager已經在react-native中定義。我想文檔中的示例在添加到庫之前已經寫好了。

如果你只是想使用地圖,看看MapView

但是,如果您想嘗試自定義本地組件,請更改您使用的類名稱。在Objective-C中,類名傳統上以三個字母作爲前綴,描述您的公司或項目(這是RCT的來源)。

相關問題