对constans的弱引用?

时间:2013-07-31 07:33:34

标签: ios sdk constants backwards-compatibility weak-references

我正在尝试使用XCode 5中内置的一些库链接到XCode 4中的某个应用程序。 该库引用了iOS7 SDK中定义的常量,但不包含在iOS6 SDK中。

所以我收到了这个错误:

架构armv7s的未定义符号:    “_CBPeripheralManagerRestoredStateServicesKey”,引自:

有没有办法保持与iOS 6的XCode 4和SDK的向后兼容性?

1 个答案:

答案 0 :(得分:0)

+ (NSString *)getCoreBluetoothConstantByName:(NSString *)name
    {
    void *libHandle = dlopen("/System/Library/Frameworks/CoreBluetooth.framework/CoreBluetooth", RTLD_LOCAL);

if (libHandle != NULL)
    {
    NSString **key = dlsym(libHandle, [name cStringUsingEncoding:NSASCIIStringEncoding]);

    dlclose(libHandle);

    return [[*key copy] autorelease];
    }

return nil;
}