Iphone 仅在找到时加载框架(例如corethony.framework)

Iphone 仅在找到时加载框架(例如corethony.framework),iphone,objective-c,Iphone,Objective C,我目前正在开发的应用程序需要在屏幕上显示运营商名称。我知道如何通过iOS 4.0中的CTCarrier类实现这一点。但不幸的是,我的应用程序还需要在较旧的系统版本上运行(回到iOS 3.0)。这是我不能改变的要求 从代码来看,这应该不是问题,因为我可以测试该类是否存在,并且只在应用程序在4.0下运行时显示名称。但我的问题是,只要我在我的项目中链接CoreTephony框架,代码就不能在具有较旧系统版本的手机上运行。应用程序将崩溃,并显示错误消息: dyld: Library not loaded

我目前正在开发的应用程序需要在屏幕上显示运营商名称。我知道如何通过iOS 4.0中的CTCarrier类实现这一点。但不幸的是,我的应用程序还需要在较旧的系统版本上运行(回到iOS 3.0)。这是我不能改变的要求

从代码来看,这应该不是问题,因为我可以测试该类是否存在,并且只在应用程序在4.0下运行时显示名称。但我的问题是,只要我在我的项目中链接CoreTephony框架,代码就不能在具有较旧系统版本的手机上运行。应用程序将崩溃,并显示错误消息:

dyld: Library not loaded: /System/Library/Frameworks/CoreTelephony.framework/CoreTelephony
Referenced from: /var/mobile/Applications/6F3E2582-0364-42F4-9A65-D98B40987509/XYZ.app/XYZ
Reason: image not found

有没有办法只在系统上找到框架时加载它?或者这是不可能的。

在您的项目中,转到“目标信息/常规选项卡/链接库”部分-将您的框架类型设置为“弱”

谢谢,这太简单了,我在谷歌上找不到它。