2010-06-24 4 views
2

Как я могу создать универсальный проект, поддерживающий iAd (только в приложении для iPhone)?Универсальный проект iPhone/iPad с инфраструктурой iAd

Использование iPhone SDK 4, давайте предположим, что я могу сделать следующие шаги:

  1. Open XCode;
  2. Перейти к файлу> Новый проект;
  3. Выберите приложение на основе окон (или что-то еще), выберите продукт: Universal (и после выбора названия для проекта).

Он будет создавать универсальный скелет проекта с группами iPhone/iPad, как обычно. Теперь я решил интегрировать ОВР в моем iPhone App, так что я сделать следующее:

  1. Щелкните правой кнопкой мыши в группе под названием рамочные проекта> Добавить> Существующие рамочные ...
  2. Выберите iAd.framework> Add

Пока что так хорошо. Я могу просто создать и запустить с помощью Active Executable как Название проекта - iPhone Simulator 4.0, и проект работает нормально. Предположим, что я изменяю Active Executable на Название проекта - iPad Simulator 3.2. Хотя iAd.framework по-прежнему ссылается в Frameworks успешно (без маркировки с красным цветом), приложение разбилось в симуляторе iPad, и я получил следующее сообщение об ошибке:

dyld: Библиотека не загружена:/System/Library/Frameworks/iAd.framework/iAd Ссылка на:/Пользователи/nexia1/Библиотека/Поддержка приложений/iPhone Simulator/3.2/Приложения/8479EE14-28AA-4628-A668-CCF3FE770628/Untitled.app/Без названия Причина: изображение не найдено

Могу ли я использовать iAd в таком универсальном проекте? (даже это я упоминаю только в своем приложении для iPhone).

Заранее спасибо

ответ

3

Вам нужно слабое звено рамки, и в вашем коде спросить, если существуют классы.

Apple, имеет аналогичный пример для этого: http://developer.apple.com/iphone/library/samplecode/MailComposer/index.html

Речь идет о почтовом листе в приложении на 3.0, все еще работает на 2.x, но вы получите точку.

+0

Спасибо Эйко, что решило мою проблему! Для целей простоты выполните следующие действия: Перейдите в «Цели»> Выберите «Цель» и нажмите «Информация». В Linked Libraries выбран iAd.framework и измените тип от Required to Weak. Спасибо! –

+0

также проверяют UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone перед отправкой сообщений в ADBannerView, иначе вы можете получить некоторые сбои – valexa

Смежные вопросы