EventKit in Universal app (OS3.2)

2019-04-13 23:22发布

I made iPhone app with eventkit framework. However, i upgrade to universal app, app can't run in ipad. I got error message

dyld: Library not loaded: /System/Library/Frameworks/EventKit.framework/EventKit

Yes, event kit only work for iOS 4.0 or later. So, how to make it for universal.

I want to make , if iPad app, don't use event kit framework.

However, I can't add

#import <EventKit/EventKit.h>
#import <EventKitUI/EventKitUI.h>

in run time

3条回答
地球回转人心会变
2楼-- · 2019-04-14 00:00

You need to do two things:

  1. First, weak link against the EventKit framework. You do this in Target->Get Info->General.

  2. Secondly, you need to decide at run time whether or not certain functionality is available:

    Class someClass = NSClassFromString(@"SomeClass");
    if(someClass) {
      // iOS4 code
    }
    else {
      // iOS3.2 code
    }
    
查看更多
3楼-- · 2019-04-14 00:22

I know this is a really weak answer, but the only answer if you need EventKit on the iPad: Wait until next month when iOS 4.2 ships for the iPad. At this time use the 4.2 beta to develop your universal app. Maybe your app can be ready when the App Store starts accepting apps requiring iOS 4.2.

查看更多
聊天终结者
4楼-- · 2019-04-14 00:25

Need to make weak linking.

Right Click on Target -> Get Info -> General Tab

change Eventkit Framework required to weak.

查看更多
登录 后发表回答