1

EventKitを使用してカレンダーをiPhoneおよびiPadアプリに統合したいと思います。ただし、MonoTouch.EventKitを使用するなど、このコードを含めると、アプリはOS 3.xデバイス(iPod touch 2G)では実行されません。

MonoTouchでアプリを構築し、最小OSバージョンを3.0のままにして、iOS 4とEventKitを同時にサポートする方法はありますか?3.0デバイスのサポートを中断せずにiOS4デバイスのEventKit機能を含めるにはどうすればよいですか?

ありがとう

4

2 に答える 2

2

bosmacsが述べたように、これを実現するには、EventKitフレームワークに対して「弱く」リンクする必要があることをMonoTouchに通知する必要があります。弱いバインディングにより、フレームワークのクラスが最初に必要になったときにのみ、フレームワークがオンデマンドでロードされます。

これを行うには、次の手順を実行する必要があります。

  • プロジェクトオプションを開き、iPhoneビルドペインに移動します。

  • 弱くリンクしたい各構成の追加引数に「-gcc_flags"-weak_frameworkiAd "」を追加します

これに加えて、タイプの使用を、それらが存在しない可能性のある古いバージョンのiOSで実行されないように保護する必要があります。これを実現する方法はいくつかありますが、そのうちの1つはUIDevice.CurrentDevice.SystemVersionを解析することです。

于 2010-11-12T21:07:10.217 に答える
1

EventKitフレームワークを弱くリンクしてから、実行時に必要なクラスが存在するかどうかを確認できるはずです。参照:ユニバーサルアプリ(OS3.2)EventKit、AVCaptureSessionクラスの存在を確認するiPhone、および2.0互換アプリでオプションでiPhone OS 3.0の機能をどのように使用しますか?

プロジェクト設定で展開ターゲットを3.0に設定し、4.x SDKに対してコンパイルすることで、弱いリンクの側面に対処する必要があります。

于 2010-11-12T20:19:42.833 に答える