Как использовать EventKit (Calendar) и при этом поддерживать iOS 3.x (MonoTouch)? - PullRequest
1 голос
/ 12 ноября 2010

Я хотел бы использовать EventKit для интеграции Календаря в мои приложения для iPhone и iPad.Однако, когда я включаю этот код, например, используя MonoTouch.EventKit, приложение не запускается на моем устройстве OS 3.x (iPod touch 2G).

Есть ли способ создать приложение в MonoTouch и по-прежнему иметьминимальная версия ОС как 3.0 еще поддерживает iOS 4 и EventKit одновременно?Как включить функцию EventKit для устройств iOS 4, не прерывая поддержку устройств 3.0?

Спасибо

Ответы [ 2 ]

2 голосов
/ 13 ноября 2010

Как уже упоминалось в bosmacs, для этого вам нужно сообщить MonoTouch, что вам нужно "слабо" связываться с фреймворком EventKit. Слабые привязки гарантируют, что каркас загружается только по требованию, когда в первый раз требуется класс из каркаса.

Для этого вам необходимо выполнить следующие шаги:

  • Откройте параметры проекта и перейдите на панель сборки iPhone.
  • Добавить '-gcc_flags "-weak_framework
    iAd "'к дополнительным аргументам для каждого Конфигурация вы хотите, чтобы слабая ссылка на

В дополнение к этому вам нужно будет предотвратить использование типов в старых версиях iOS, где они могут не существовать. Есть несколько методов для достижения этой цели, но один из них - разбор UIDevice.CurrentDevice.SystemVersion.

1 голос
/ 12 ноября 2010

У вас должна получиться слабая ссылка на среду EventKit, а затем во время выполнения проверить наличие классов, которые вам нужны. См. Также: EventKit в универсальном приложении (OS3.2) , Проверка iPhone на наличие классов AVCaptureSession и Как дополнительно использовать функции iPhone OS 3.0 в приложении, совместимом с 2.0

Если для цели проекта в настройках проекта установить значение 3.0, но при компиляции с использованием 4.x SDK аспект слабой связи должен позаботиться о вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...