Я пытаюсь создать динамическую структуру для приложения iOS. Благодаря новой версии Xcode (6) мы можем выбрать Cocoa Touch Framework, когда мы создадим новый проект, и больше не нужно добавлять агрегированную цель, запустите script и так сделать ее. У меня нет проблем при создании фреймворка. Но когда я пытаюсь использовать его в приложении iOS, я получаю некоторые проблемы с архитектурой.
ld: warning: ignoring file /Library/Frameworks/MyFramework.framework/MyFramework, file was built for x86_64 which is not the architecture being linked (arm64): /Library/Frameworks/MyFramework.framework/MyFramework
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_MyFrameworkWebService", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ld: warning: ignoring file /Library/Frameworks/MyFramework.framework/MyFramework, file was built for x86_64 which is not the architecture being linked (armv7): /Library/Frameworks/MyFramework.framework/MyFramework
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_MyFrameworkWebService", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Ну, я попытался изменить настройки проекта и целевого объекта фреймворка (Архитектуры и Создать только допустимую архитектуру и Действительные архитектуры). Я сделал то же самое для проекта приложения iOS, но ничего не работает. Я думаю, что я чего-то не понял.
Например, когда я создаю фреймворк только для i386 (iOS Simulator), проверьте с помощью командной строки "xcrun lipo -info MyFramework", у меня есть проблема, которая
ld: предупреждение: игнорирование файла /Library/Frameworks/MyFramework.framework/MyFramework, файл был создан для x86_64, который не связан с архитектурой (i386)...
Если кто-то может помочь мне получить фреймворк, который работает для всех архитектур iOS, включая симуляторы.