2016-05-24 8 views
1

У меня есть сомнение, когда мы устанавливаем целевое устройство и создаем нормальный рабочий проект, тогда он создает успех, но тот же проект, когда я меняю цель на симулятор ИЛИ Generic iOS Device, тогда он терпит неудачу. У меня есть общий снимок экрана для получения сведений об ошибке, когда я строю рабочий проект на симуляторе. В чем причина этого? почему же код строит + отлично работает на устройствах iphone или Generic iOS Device, с другой стороны, терпит неудачу на симуляторе? Обратите внимание, что Я добавил уже необходимую Framework в свой проект. Любое предложение будет замечательным. Спасибо, парни.iOS - Почему не удалось создать симулятор, но успех на устройстве/универсальном устройстве iOS?

http://i.stack.imgur.com/CJTim.png

+0

Вам нужно добавить '#import ' возможно, вы можете найти решение самостоятельно, как просто google с ошибкой «_OBJC_CLASS _ $ _ SKStoreProductViewController», «ссылка от:» вы получаете, какая инфраструктура отсутствует, добавьте фрейм фреймворка, что ошибка уходит –

ответ

1

это означает, что опорные каркасы пропустили

для _OBJC_CLASS_$_SKStoreProductViewController

добавить Рамочный StoreKit

для _OBJC_CLASS_$_asidentifiermanager

добавить AdSupport.framework

для _OBJC_CLASS_$_CMMotionManager

добавить

CoreMotion.framework

+0

@ Nitin Gohel и Anbu.Karthik, ** Итак, почему то же строение кода + отлично работает на устройствах iphone ИЛИ Generic iOS Device, с другой стороны, терпит неудачу на симуляторе? ** –

+0

Как ваш ответ объясняет, почему он строит нормально для симулятора, а не для устройства? Что может означать ваш комментарий? отсутствующий "на самом деле означает? Это Apple-поставляемые рамки, о которых вы говорите. – trojanfoe

0

Ваш макинтош (симулятор) работает на архитектуре i386. Если вы скомпилируете свои статические библиотеки для i386, вы сможете использовать их на симуляторе.

Попробуйте добавить «i386» на «Действительна Архитектуру»

1

Всякий раз, когда вы столкнулись с таким вопросом, я рекомендую по использованию «Lipo» инструмента Apple. Вы называете это так:

/usr/bin/lipo -i <path-to-libraray-file>.a 

Ответом будет:

Architectures in the fat file: <the-lib>.a are: armv7 arm64 

Я думаю, что в вашем случае, библиотека, которая обеспечивает ASIdentifierManager только покажетARMv7 и arm64 которые необходимы для работы на реальных устройствах, но не i386, требуемых для симулятора.

Итак, вопрос заключается в том, откуда эта библиотека. Если вы получили его от третьего лица, попросите их предоставить «жирную» библиотеку, которая включает в себя все необходимые архитектуры, в том числе одну для i386

+0

в моем случае я проверил липо, и у меня есть архитектура, которая мне нужна (arm64), но все равно получаю ту же ошибку. Любая мысль? – kavain

+0

, если вам нужен arm64, вы не имеете отношения к этому вопросу симулятора. Во всяком случае, убедитесь, что ваша инфраструктура/библиотека действительно включена в сборку. Попытайтесь понять журнал сборки. Если вы все еще терпите неудачу, попробуйте задать отдельный вопрос – ishahak

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