我正在使用仅在iOS 4.0中可用的方法CGPathGetPathBoundingBox。我正在检查NULL以查看它是否可用Apple Docs中的建议,但我收到以下运行时错误: dyld:惰性符号绑定失败:未找到符号:_CGPathGetPathBoundingBox 参考自:/ Users /..
预计:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
我将Core Graphics framkework设置为输入“weak”,但没有任何影响。在真实设备上发生同样的事情。当我在调试器中单步执行时,始终会执行if语句。
if (CGPathGetPathBoundingBox != NULL) {
self.smallBounds = CGPathGetPathBoundingBox(tempPath);
}
else {
self.smallBounds = CGPathGetBoundingBox(tempPath);
}
答案 0 :(得分:1)
我在发布到Apple Dev论坛后得到了这个答案,这似乎是一个错误:
CGPath.h说
CG_EXTERN CGRect CGPathGetPathBoundingBox(CGPathRef path) CG_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_2_0);
但是文档说这是4.0功能。我相信这就是问题所在。 我会提交一个错误。 我不确定正确的解决方法是什么,因为由于该功能没有正确地弱连接,您的应用程序将在没有该功能的操作系统上崩溃。
答案 1 :(得分:-1)
也许您需要使用respondsToSelector代替?