首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google Maps SDK for iOS因添加自定义框架和主应用程序而崩溃

Google Maps SDK for iOS因添加自定义框架和主应用程序而崩溃
EN

Stack Overflow用户
提问于 2019-11-01 11:38:03
回答 2查看 327关注 0票数 0

我已经为我的客户制作了一个objective-C自定义框架。自定义框架有许多功能,其中之一是地图。我在Google Maps SDK的顶部构建了它,并在地图上执行了一些额外的操作。我将这些框架和包添加到我的自定义框架项目中

代码语言:javascript
运行
复制
GoogleMapsCore.framework
GoogleMapsBase.framework
GoogleMaps.framework
GoogleMaps.bundle

自定义框架几乎适用于客户的应用程序,直到一个客户集成了我的自定义框架,但他们也包括了谷歌地图框架以上的项目,用于他们的应用程序私人用途,这与我的地图在自定义框架用途上无关。

他们的应用程序可以成功构建,但在运行时会崩溃,并出现异常

代码语言:javascript
运行
复制
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[GMSx_GMPCClientVectorTileExtensionsRoot indoorBuildingMetadata]: unrecognized selector sent to class 0x10xxxxxxx'

同时,我还收到了大量类似于

代码语言:javascript
运行
复制
objc[483]: Class GMSBaseClearcutClient is implemented in both /private/var/containers/Bundle/Application/2BA0B2AF-5D3D-4664-BAB4-866D3BC9FFCE/<main_app>.app/Frameworks/<my_custom_framework>.framework/<my_custom_framework_name> (0x10xxxxxx) and /private/var/containers/Bundle/Application/2BA0B2AF-5D3D-4664-BAB4-866D3BC9FFCE/<main_app>.app/<main_app_name> (0x10xxxxxxx). One of the two will be used. Which one is undefined.

我在互联网上搜索,发现问题可能是应用程序添加了这4个Google地图框架并多次捆绑,如下所述

Google Maps not displaying - Failed to decode tile

我想问题是应用程序自己添加了这些Google Map框架,我的自定义框架也添加了这些。

所以我的问题是,我们如何才能让应用程序只识别应用程序项目目录中的那些Google map SDK,而不是自定义框架上的那些。有没有办法配置自定义框架可以对外部应用程序完全隐藏其加载项框架

EN

回答 2

Stack Overflow用户

发布于 2020-12-10 17:15:29

我遇到了一个类似的问题,解决方法是

将-all_load添加到生成设置中的其他链接器标志。

-all_load强制链接器从它看到的每个归档中加载所有目标文件,即使是那些没有Objective-C代码的归档。

假设应用程序自己添加了这些Google Map框架,而我的自定义框架也添加了这些,

我不这样认为。

如果是这样,Xcode将报告不明确的方法/重复的符号

票数 1
EN

Stack Overflow用户

发布于 2020-02-09 19:20:36

我不知道原因,但是在客户端应用程序的-who上,在cocoapods创建的项目- Pods-AppName.debug.xcconfig文件中使用谷歌地图,他们会找到OTHER_LDFLAGS,你会看到它链接到你的框架中链接的相同框架。因此,如果他们删除了-framework复制框架,警告就会消失。

似乎是cocoapods错误

请参阅https://stackoverflow.com/a/46933115/7077168

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

https://stackoverflow.com/questions/58653806

复制
相关文章

相似问题

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