gpt4 book ai didi

ios - 检查 Core Foundation 中的功能可用性

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:11:39 27 4
gpt4 key购买 nike

我想使用仅在最新的 iOS SDK 上可用的 Core Foundation 方法,并回退到以前的 SDK 的不同方法。是否有类似于 Cocoa 为 NSObject 做的方式?:

 - (BOOL)respondsToSelector:(SEL)aSelector

更多上下文,假设 ABAddressBookCreate() 仅在 iOS5 中可用,而我的应用程序针对 iOS 4.3+。我想检查 ABAddressBookCreate() 在运行时是否可用,并根据它执行不同的操作。

最佳答案

试试这个(不需要弱链接):

#include <dlfcn.h>

void *handle = dlopen("/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation", RTLD_NOW);
void *createFunc = dlsym(handle, "ABAddressBookCreate");

if (createFunc != NULL)
{
// available
ABAddressBookRef (*_ABAddressBookCreate)(void) = createFunc;
// then use this function pointer as normally
}

如果你可以提供弱链接:

if (ABAddressBookCreate != NULL)
{
// available
}

关于ios - 检查 Core Foundation 中的功能可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767168/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com