Подтвердить что ты не робот

Ссылка на dylib для файла MacOSX '/usr/lib/libSystem.B.dylib' для архитектуры i386

Недавно я переключил свой MacBook разработки с классического MacBook (32 бит) на MacBook Air (64 бит). Я пытаюсь открыть проект, который был сделан на моем старом MacBook (32 бит) с XCode 4.

Проект представляет собой приложение PhoneGap, сделанное в PhoneGap 1.7.0.

Мой новый MacBook Air (64-разрядный) запускает XCode 5.

Я импортировал свои профили разработчиков из своего старого MacBook в новый MacBook Air. Но когда я пытаюсь запустить его, я получаю следующее сообщение об ошибке.

enter image description here

enter image description here

Я попытался изменить мою архитектуру в настройках сборки на armv7, но все равно не повезло: (

Кто-нибудь знает, почему я получаю эту ошибку и как ее исправить?

Спасибо

4b9b3361

Ответ 1

ОК, так что, как оказалось, XCode 5 изменяет архитектуру по умолчанию на armv7, когда мое приложение не поддерживает armv7. Я запускаю Cordova 1.7.0, и эта версия не поддерживает архитектуру armv7.

Проблема с архитектурой исправления:

  • Удалены архитектуры ВСЕ из Build SettingsValid Architecture
  • Добавлен armv6 в Build SettingsValid Architecture enter image description here


Исправить libSystem.B.dylib проблема:

  1. Удалено /usr/lib/libSystem.B.dylib из Build SettingsLinkingOther Linker Flags

  2. Также удалено -weak_library из Build SettingsLinkingOther Linker Flags enter image description here

Ответ 2

Xcode 5 просит вас создать свои библиотеки для симулятора (1) и для iOS (2). Затем вы можете объединить (3) в жирную двоичную систему, которую вы затем связываете с вашим основным проектом. Я использую те же флаги, что и Xcode, для создания вашего основного проекта (как видно из вашего screendump).

Выраженные общие переменные toolchain gnu:

1. Создание библиотеки для симулятора

CC=clang
IPHONEOS_DEPLOYMENT_TARGET=7.0
PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH"
CFLAGS="-arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -mios-simulator-version-min=7.0"

2. Создание библиотеки для iOS

CC=clang
IPHONEOS_DEPLOYMENT_TARGET=7.0
PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH"
CFLAGS="-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -miphoneos-version-min=7.0"

3. Слияние с жирным двоичным

Выберите любой из .a или .dylib в зависимости от того, что вы используете:

lipo -create "your armv7 lib".a     "your simulator lib".a     -output "your lib".a
lipo -create "your armv7 lib".dylib "your simulator lib".dylib -output "your lib".dylib