Ios 找到名为setScale的Xcode存档多个方法

Ios 找到名为setScale的Xcode存档多个方法,ios,xcode,core-plot,Ios,Xcode,Core Plot,当我试图归档ipa文件时 在我不懂的代码中(刚才下载的核心图),在CPTGraphHostingView.m中,在-(void)handlepinchsignature:(id)apinchgesturecognizer中有这个[pinchgesturecognizer setScale:1.0f] 存档时,XCode抱怨“找到了多个名为“setScale:”的方法 在我的正常测试构建(模拟器或运行到设备)中,错误不会出现 我想知道为什么在我的常规构建中没有出现这样的东西,而只是在存档过程中出现

当我试图归档ipa文件时

在我不懂的代码中(刚才下载的核心图),在
CPTGraphHostingView.m
中,在
-(void)handlepinchsignature:(id)apinchgesturecognizer
中有这个
[pinchgesturecognizer setScale:1.0f]

存档时,XCode抱怨“找到了多个名为“setScale:”的方法

在我的正常测试构建(模拟器或运行到设备)中,错误不会出现


我想知道为什么在我的常规构建中没有出现这样的东西,而只是在存档过程中出现?我还没有发现问题所在。也许我可以尝试先更新核心绘图。

id
更改为
uipinchgestrerecognizer*
。这将消除错误。它会出现。为什么?当您使用特定类时,不会出现错误模糊性。编译器看到对
uipinchgestrerecognizer
的引用,并且知道它有一个
scale
属性,因此它知道如何处理
setScale:
方法调用。但是使用
id
is,它在编译时不知道它是什么类。因此它搜索到目前为止看到的已知方法并发现两个(或以上)
setScale:
方法。它们很可能采用不同的参数或返回不同的值,因此编译器无法编译适当数量的堆栈来处理参数/返回值并放弃警告。为什么在定期构建时它确实知道,但在存档时却不知道?这部分我不知道。可能是dif调试和发布构建或某些优化之间的引用。