Перекомпилировать библиотеку в Xcode

У меня два вопроса в принципе.

Сценарий: у меня есть (n) SDK платежного шлюза NMI.

  1. SDK или библиотека не будут работать в среде симулятора. Хотя это логически правильно, поскольку SDK предназначен для чтения магнитных данных, я не могу протестировать другие части моего приложения на симуляторе (и у меня ограниченный ресурс на устройстве). Есть ли способ перекомпилировать SDK или на основе моего исследования, как я могу создать статическую библиотеку, чтобы я мог создать SDK на основе архитектуры i386. Или еще лучше, есть ли способ проверить, является ли среда i386, а затем не загружать SDK?

  2. Я попытался создать приложение (n), используя упомянутый выше SDK. Я хотел бы запустить его, используя устройство iPhone5s и арку (armv64, armv7 и armv7s), но он говорит «неопределенные символы для armv7». Будет ли способ каким-то образом перекомпилировать SDK и включить его для работы на более новой архитектуре?

Любая помощь горячо приветствуется. СПАСИБО


person n0minal    schedule 27.02.2014    source источник
comment
Итак, вы используете SDK в настоящее время как скомпилированную статическую библиотеку? Если у вас есть исходники (что, как вы подразумеваете, у вас есть), добавьте исходник как отдельный проект статической библиотеки (используя рабочее пространство Xcode), и Xcode скомпилирует SDK для любой арки, необходимой для проекта.   -  person trojanfoe    schedule 27.02.2014
comment
@trojanfoe Я гуглил это, но меня озадачивает то, что вы можете просто создать проект статической библиотеки, добавить файлы SDK (файлы заголовков и файл .a), а затем скомпилировать?   -  person n0minal    schedule 27.02.2014
comment
Нет, у вас должен быть источник.   -  person trojanfoe    schedule 27.02.2014
comment
@trojanfoe, это будут файлы заголовков и файл скомпилированной библиотеки, верно? или не? потому что это единственные файлы, которые у меня есть для этой библиотеки.   -  person n0minal    schedule 28.02.2014


Ответы (1)


Мы используем разные цели для симулятора и для устройства, а в коде используем макрос TARGET_IPHONE_SIMULATOR.

пример:

#if (TARGET_IPHONE_SIMULATOR)
NSLog(@"device");
#else 
NSLog(@"simulator");
#endif
person sage444    schedule 27.02.2014