Mapbox:libc ++ abi.dylib:以NSException类型的未捕获异常终止(lldb)

时间:2017-12-17 13:03:48

标签: xcode react-native mapbox react-native-ios

我在使用Android时一直在实施Mapbox,在通过CocoaPods安装后我在iOS上出现错误...我收到了framework not found Mapbox但是在target overrides the FRAMEWORK_SEARCH_PATHS build settings之后回答了关于添加$的回复(继承)到解决它的框架搜索路径,但随后出现了与libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)相关的构建问题

我的podfile如下:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'clustr' do

  # Flexbox Layout Manager Used By React Natve
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga/Yoga.podspec'

  # React Native
  pod 'React', path: '../node_modules/react-native', subspecs: [
    # Comment out any unneeded subspecs to reduce bundle size.
    'Core',
    'DevSupport',
    'RCTActionSheet',
    'RCTAnimation',
    'RCTBlob',
    'RCTCameraRoll',
    'RCTGeolocation',
    'RCTImage',
    'RCTNetwork',
    'RCTPushNotification',
    'RCTSettings',
    'RCTTest',
    'RCTText',
    'RCTVibration',
    'RCTWebSocket',
    'RCTLinkingIOS'
  ]

  # Mapbox
  pod 'react-native-mapbox-gl', :path => '../node_modules/@mapbox/react-native-mapbox-gl'

  pod 'Stripe', '~> 10.1.0'

  inherit! :search_paths
end


After running the build successfully, and after adding the following Mapbox snippet of code and the rest to get a basic mapbox preview

            <MapboxGL.MapView
            ref={map => { this._map = map }}
            animated={true}
        showUserLocation={true}
        userTrackingMode={MapboxGL.UserTrackingModes.Follow}
        styleURL={this.state.Street}
        style={Styles.Map.map}
        centerCoordinate={[this.props.region.longitude, this.props.region.latitude]}
        attributionEnabled={false}
        logoEnabled={false}     
        compassEnabled={true}
        onRegionWillChange={this.handleRegionChange}>

{

我在控制台中收到错误

libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 

进一步查看日志,我看到了

objc[20673]: Class MPExportableArtworkProperties is implemented in both /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/MediaPlaybackCore.framework/MediaPlaybackCore (0x12a56aff0) and /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer (0x129264348). One of the two will be used. Which one is undefined.
objc[20673]: Class SMCalloutView is implemented in both /Users/michaelstokes/Library/Developer/CoreSimulator/Devices/1F3A665E-E9A9-48C3-90ED-50C1E9C48DA3/data/Containers/Bundle/Application/368D9223-62FC-4D50-B28C-E6EE1E3D6AB5/clustr.app/Frameworks/Mapbox.framework/Mapbox (0x110a1b068) and /Users/michaelstokes/Library/Developer/CoreSimulator/Devices/1F3A665E-E9A9-48C3-90ED-50C1E9C48DA3/data/Containers/Bundle/Application/368D9223-62FC-4D50-B28C-E6EE1E3D6AB5/clustr.app/clustr (0x10e852e10). One of the two will be used. Which one is undefined.
objc[20673]: Class SMCalloutMaskedBackgroundView is implemented in both /Users/michaelstokes/Library/Developer/CoreSimulator/Devices/1F3A665E-E9A9-48C3-90ED-50C1E9C48DA3/data/Containers/Bundle/Application/368D9223-62FC-4D50-B28C-E6EE1E3D6AB5/clustr.app/Frameworks/Mapbox.framework/Mapbox (0x110a1b090) and /Users/michaelstokes/Library/Developer/CoreSimulator/Devices/1F3A665E-E9A9-48C3-90ED-50C1E9C48DA3/data/Containers/Bundle/Application/368D9223-62FC-4D50-B28C-E6EE1E3D6AB5/clustr.app/clustr (0x10e852e38). One of the two will be used. Which one is undefined.
objc[20673]: Class SMCalloutBackgroundView is implemented in both /Users/michaelstokes/Library/Developer/CoreSimulator/Devices/1F3A665E-E9A9-48C3-90ED-50C1E9C48DA3/data/Containers/Bundle/Application/368D9223-62FC-4D50-B28C-E6EE1E3D6AB5/clustr.app/Frameworks/Mapbox.framework/Mapbox (0x110a1b0e0) and /Users/michaelstokes/Library/Developer/CoreSimulator/Devices/1F3A665E-E9A9-48C3-90ED-50C1E9C48DA3/data/Containers/Bundle/Application/368D9223-62FC-4D50-B28C-E6EE1E3D6AB5/clustr.app/clustr (0x10e852e88). One of the two will be used. Which one is undefined.

非常感谢!

1 个答案:

答案 0 :(得分:1)

好的,这就是......

我没有清楚地阅读文档以了解MapView属性用法,因此我定义了attributionEnabled={false},但我没有遵循这些简单的说明,所以这就是为什么这就是为什么我得到了libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

Enable/Disable attribution on map. For iOS you need to add MGLMapboxMetricsEnabledSettingShownInApp=YES to your Info.plist

https://github.com/mapbox/react-native-mapbox-gl/blob/master/docs/MapView.md