Iphone 通用应用程序(OS3.2)中的EventKit

Iphone 通用应用程序(OS3.2)中的EventKit,iphone,ipad,universal,eventkit,Iphone,Ipad,Universal,Eventkit,我用eventkit框架制作了iPhone应用程序。然而,我升级到通用应用程序,应用程序不能在ipad上运行。我收到了错误信息 dyld: Library not loaded: /System/Library/Frameworks/EventKit.framework/EventKit 是的,事件工具包仅适用于iOS 4.0或更高版本。那么,如何让它成为通用的 我想做的是,如果iPad应用程序,不要使用事件工具包框架 然而,我不能补充 #import <EventKit/EventKi

我用eventkit框架制作了iPhone应用程序。然而,我升级到通用应用程序,应用程序不能在ipad上运行。我收到了错误信息

dyld: Library not loaded: /System/Library/Frameworks/EventKit.framework/EventKit
是的,事件工具包仅适用于iOS 4.0或更高版本。那么,如何让它成为通用的

我想做的是,如果iPad应用程序,不要使用事件工具包框架

然而,我不能补充

#import <EventKit/EventKit.h>
#import <EventKitUI/EventKitUI.h>
#导入
#进口

在运行时

需要进行弱链接

右键单击目标->获取信息->常规选项卡


将Eventkit Framework required更改为weak。

我知道这是一个非常弱的答案,但如果您需要在iPad上安装Eventkit,唯一的答案是:等到下个月iOS 4.2发布到iPad上时。此时,使用4.2测试版开发您的通用应用程序。当应用商店开始接受需要iOS 4.2的应用程序时,您的应用程序可能已经准备就绪。

您需要做两件事:

  • 首先,EventKit框架的薄弱环节。您可以在Target->Get Info->General中执行此操作

  • 其次,您需要在运行时决定某些功能是否可用:

    Class someClass = NSClassFromString(@"SomeClass");
    if(someClass) {
      // iOS4 code
    }
    else {
      // iOS3.2 code
    }
    
  • NSClassFromString(@“EKEvent”);例如