当我试图在我的项目中集成@mapbox/areact native mapbox-gl时,我一直在尝试修复CicleCi上发生的一个问题。
本地MapBox可以构建并运行良好。但只有在CircleCi上,构建才不起作用。
▸ /Users/distiller/project/packages/my-project/node_modules/@mapbox/react-native-mapbox-gl/ios/RCTMGL/RCTMGLCallout.h:11:9: fatal error: module 'Mapbox' not found
▸ @import Mapbox;
错误发生在Xcode 9.3和10.1.0上。我尝试过手动和Cocoapods设置。
经过近20次不同的尝试和错误,所有这些都与Xcode上的模块/框架解析有关-基本上遵循这样的StackOverflow帖子,我实现了一些东西:https://github.com/mapbox/react-native-mapbox-gl/tree/master/ios
结果是:Mapxbox.framework
是从npm
preinstall
挂钩安装的。所以我发现这不是CircleCi的名字。我还不知道这是勒纳还是CicleCi的问题。
我发现一个不理想的解决方案是:在ios构建(npm explore @mapbox/react-native-mapbox-gl -- npm run fetch:ios:sdk
)之前,调用mapbox的脚本手动下载框架。