检查功能存在 - 惰性符号绑定失败

时间:2010-09-05 15:38:16

标签: iphone objective-c

我正在使用仅在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);
    }

2 个答案:

答案 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代替?