首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >离子3-更新后不能建立谷歌地图

离子3-更新后不能建立谷歌地图
EN

Stack Overflow用户
提问于 2017-06-06 12:11:11
回答 3查看 835关注 0票数 0

我已经为Ionic的Google插件卡住了一段时间。直到现在,它在安卓和iOS上运行得非常好,但是自从我更新了我的应用程序Ionic 2到3之后,我就不能为iOS构建它了。

我已经尝试删除所有的npm模块,所有的插件和平台,并重新安装他们,我已经寻找和谷歌一个解决方案数小时了,我开始绝望。在android系统中,我构建或运行这个应用程序没有问题。

我正在使用xcode构建应用程序(打开工作区的文件,而不是项目的文件),但是总是有两个相关的错误:

未找到/.../platforms/ios/appname/Plugins/com.googlemaps.ios/GoogleMaps.framework/Headers/GMSPolyline.h:11:9:'UIKit/UIKIt.h‘文件

这将导致下一个错误:

/.../platforms/ios/appname/Plugins/cordova-plugin-googlemaps/GoogleMaps.h:10:9:无法构建模块“GoogleMaps”

这是config.xml上的map插件标记:

代码语言:javascript
复制
<plugin name="cordova-plugin-googlemaps" spec="~1.4.0">
    <variable name="API_KEY_FOR_ANDROID" value="myapikeyforandroid" />
    <variable name="API_KEY_FOR_IOS" value="myapikeyforios" />
    <variable name="NSLOCATIONWHENINUSEUSAGEDESCRIPTION" value="Show your location on the map" />
    <variable name="NSLOCATIONALWAYSUSAGEDESCRIPTION" value="Trace your location on the map" />
</plugin>

在package.json中,我有以下这些依赖项:

代码语言:javascript
复制
"dependencies": {
    "@angular/common": "4.1.2",
    "@angular/compiler": "4.1.2",
    "@angular/compiler-cli": "4.1.2",
    "@angular/core": "4.1.2",
    "@angular/forms": "4.1.2",
    "@angular/http": "4.1.2",
    "@angular/platform-browser": "4.1.2",
    "@angular/platform-browser-dynamic": "4.1.2",
    "@ionic-native/background-geolocation": "^3.12.1",
    "@ionic-native/background-mode": "^3.12.1",
    "@ionic-native/barcode-scanner": "^3.12.1",
    "@ionic-native/core": "3.11.0",
    "@ionic-native/geolocation": "^3.12.1",
    "@ionic-native/google-maps": "^3.12.1",
    "@ionic-native/local-notifications": "^3.12.1",
    "@ionic-native/push": "^3.12.1",
    "@ionic-native/secure-storage": "^3.12.1",
    "@ionic-native/social-sharing": "^3.12.1",
    "@ionic-native/splash-screen": "^3.12.1",
    "@ionic-native/status-bar": "^3.11.0",
    "@ionic-native/streaming-media": "^3.12.1",
    "@ionic-native/video-player": "^3.12.1",
    "@ionic/storage": "2.0.1",
    "angular2-jwt": "^0.2.3",
    "ionic-angular": "3.3.0",
    "ionicons": "3.0.0",
    "rxjs": "5.1.1",
    "socket.io-client": "^1.7.2",
    "sw-toolbox": "3.6.0",
    "zone.js": "0.8.11"
  }

如果我能提供更多的线索..。

提前谢谢你的帮助。

编辑:我尝试过添加UIKit库并重新安装XCode,但是没有任何效果。如果我删除谷歌地图插件,这个应用程序构建得很好,所以它似乎与cordova-相关,我现在正在尝试其他版本来确定这是否是一个版本问题。

编辑2:更改谷歌地图版本没有任何效果.

编辑3:我找到了this thread,它看起来和这个类似,但也没有任何答案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-06-13 06:41:37

在尝试了各种解决方案之后,我得出了一个最简单的结论:不需要UIKit.h导入。因此,我刚刚从目录platform/ios/AppName/Plugins/com.googlemaps.ios/GoogleMaps.framework/Headers的GMSTileLayer.h和GMSPolyline.h文件中删除了行#import <UIKit/UIKIt.h>,现在它工作得很好。我想知道为什么在版本更改之前没有出现任何错误,因为googlemaps插件版本总是一样的。

票数 0
EN

Stack Overflow用户

发布于 2017-06-06 13:53:58

听起来您的错误可能类似于this answer中提到的错误。

试一试,报告回来!

票数 0
EN

Stack Overflow用户

发布于 2019-11-11 09:55:09

我也有同样的问题,但我找到了解决办法。问题是原始文件中有一个错误。

#import <UIKit/UIKIt.h> 应该是 #import <UIKit/UIKit.h> ( UIKit.h中的第二个I现在是小写)

在我在GMUGradient.h文件中修复了这个问题之后,Xcode给了我错误,构建运行得很顺利。

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

https://stackoverflow.com/questions/44389671

复制
相关文章

相似问题

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