Ответ 1
Вам нужно добавить инфраструктуру StoreKit
EDIT: теперь я вижу, что вы имеете в виду, возникла проблема с более старыми версиями, я добавляю ссылку на отредактированную структуру для решения этой проблемы: Edited Revmob Framework
Я хочу добавить RevMob добавить в мое приложение, но есть некоторые ошибки
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SKStoreProductViewController", referenced from:
objc-class-ref in RevMobAds(RevMobStoreController.o)
"_SKStoreProductParameterITunesItemIdentifier", referenced from:
-[RevMobStoreController openStoreWithITunesItemId:] in RevMobAds(RevMobStoreController.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я уже добавил StoreKit
, SystemConfiguration
и RevMob
Frameworks.
Я использую Xcode4.3 и ios4.2
Плз помоги мне. Спасибо заранее.
Вам нужно добавить инфраструктуру StoreKit
EDIT: теперь я вижу, что вы имеете в виду, возникла проблема с более старыми версиями, я добавляю ссылку на отредактированную структуру для решения этой проблемы: Edited Revmob Framework
Вы должны установить ссылку на StoreKit.framework
Похоже, что у вашего объявления sdk теперь нет поддержки для использования с симулятором.
- [RevMobStoreController openStoreWithITunesItemId:] в RevMobAds (RevMobStoreController.o) ld: символ (ы), не найденный для архитектуры i386
если вы получаете что-либо, что упоминает "не найденное для архитектуры", означает, что revmob не включает классы для работы на симуляторе. У вас есть 2 варианта. найдите отсутствующую библиотеку ".a файл" или только скомпилируйте для тестирования на устройстве.
Я столкнулся с проблемой с новым ios6, где revmob не поддерживал новую архитектуру armv7s iphone 5.
Двойная проверка установки revmob или попытка компиляции на свой телефон вместо симулятора
Когда вы удаляете файлы вручную в xcode, файлы не копируются в Bundle. Таким образом, "SKStoreProductViewController.m" был файлом, не скопированным в комплекте, поэтому произошла ошибка. Чтобы устранить ошибку. Перетащите файлы только .m файлов в Copy Bundle Resource
, как показано на рисунке
Они выпускают новую версию SDK (4.6.0), которая отлично работает на старых версиях Xcode!
Эта ошибка также может произойти, если вы удалили файл из своего проекта и впоследствии его повторно создали. Иногда Xcode автоматически не включает его в поле "Скомпилировать источники" (когда вы нажимаете на цель). Установите флажок и посмотрите, включены ли все исходные файлы, а затем перетащите их и перестройте.
Это также происходит с Appirater. Я получил это сообщение:
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_SKStoreProductViewController", referenced from: objc-class-ref in Appirater.o "_SKStoreProductParameterITunesItemIdentifier", referenced from: +[Appirater rateApp] in Appirater.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
--- Чтобы исправить ---
Я столкнулся с подобной проблемой, и после длительного поиска и проверки образца кода RevMob я нашел это решение, возможно, помог другим:
В разделе "Цель проекта" выберите Параметры сборки, в разделе Развертывание, проверьте Цель развертывания iOS, измените значение на iOS 9.0 или выше.
Я надеюсь, что эта помощь.