Вопрос по iphone, objective-c, xcode4 – отсутствует необходимая архитектура armv7 в файле?

21

Я продолжаю получать это предупреждение и ошибки, кто-нибудь может помочь?

<code>    ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms       /iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/System/Library/Frameworks//SystemConfiguration.framework/SystemConfiguration, missing required architecture armv7 in file
    Undefined symbols for architecture armv7:
    "_SCNetworkReachabilityCreateWithAddress", referenced from:
  +[Reachability reachabilityWithAddress:] in Reachability.o
   "_SCNetworkReachabilityCreateWithName", referenced from:
  +[Reachability reachabilityWithHostName:] in Reachability.o
   "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
  -[Reachability stopNotifier] in Reachability.o
   "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
  -[Reachability startNotifier] in Reachability.o
   "_SCNetworkReachabilitySetCallback", referenced from:
  -[Reachability startNotifier] in Reachability.o
   "_SCNetworkReachabilityGetFlags", referenced from:
  -[Reachability connectionRequired] in Reachability.o
  -[Reachability currentReachabilityStatus] in Reachability.o
   ld: symbol(s) not found for architecture armv7
   clang: error: linker command failed with exit code 1 (use -v to see invocation)
</code>

Мое приложение отлично работает в симуляторе. Я не понимаю, это просто когда я строю на телефоне.

Ваш Ответ

5   ответов
0

Добавить армию в свой проект (Path => Project tittle(select Xcode blue color reject title) -> Build Setting -> ARCHS) в этой дуге, если у вас нет armv7, чем добавить его ...

Надеюсь, что это поможет вам..

0

Перейти к Нажмите на значок проекта - & gt; Цели - & gt; Настройки сборки - & gt; архитектуры

Нажмите - & gt; Другой + и добавить armv6 в указанном столбце ...

Очистить и построить

59

Вам нужно связать с платформой SystemConfiguration. Выберите ваш проект в навигаторе проекта XCode, выберите цель вашего приложения и перейдите на вкладку Фазы сборки. В разделе «Ссылка на двоичные файлы с библиотеками» нажмите кнопку «+». нажмите кнопку и выберите SystemConfiguration.framework.

Могут быть другие зависимости фреймворка, которые нужно добавить таким же образом, но добавление SystemConfiguration - это то, что исправило те же ошибки для меня.

ETA: я прыгнул прямо к ошибкам и не увидел предупреждение ld в верхней части вставки. Если вы уже ссылаетесь на SystemConfiguration, возможно, попробуйте удалить и повторно добавить его, а если ничего не помогло, обновите Xcode. Последний релиз определенно имеет правильную архитектуру, поэтому мне кажется, что ваш проект выглядит не в том месте или что-то не так с самой платформой.

@ Шон Д - ДА !!! ТЫ ЖЖЕШЬ!!!!
Спасибо за это! Вы только что спасли меня от того, что могло бы быть долгим днем :)
приятно - спасибо за быстрое исправление.
У меня тоже сработало. Я думаю, что это правильный ответ.
Ты, мой друг, рок. Это заняло 30 секунд и мгновенно решило это для меня. Благодарю.
4

Произошло со мной, когда я включал фреймворк, который был построен с использованием Carthage, и цель его установки была установлена на iOS 11, но я создавал для iOS 9. Поэтому 32-битные архитектуры (armv7, i386) отсутствовали. Я изменил цель развертывания для этой платформы на iOS 9, и это решило мою проблему.

Спасибо, это очень помогло! Та же проблема для меня.
1

Пожалуйста, убедитесь, что добавили всю необходимую библиотеку для сборки вашего приложения. эта ошибка кажется, что вы пропустили некоторые файлы ..

Похожие вопросы