Ошибка Mach-O при интеграции Flurry с Xcode

Я впервые пытаюсь интегрировать Flurry SDK в свое приложение для iOS. Я добавил библиотеки и код в AppDelegate.m, как описано в их инструкциях. При компиляции получаю следующие ошибки:

 Undefined symbols for architecture armv7:
  "_SCNetworkReachabilityCreateWithAddress", referenced from:
      +[FlurryReachability flurryReachabilityWithAddress:] in libFlurry.a(libFlurry.a-armv7-master.o)
  "_SCNetworkReachabilityCreateWithName", referenced from:
      +[FlurryReachability flurryReachabilityWithHostName:] in libFlurry.a(libFlurry.a-armv7-master.o)
  "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
      -[FlurryReachability flurryStopNotifier] in libFlurry.a(libFlurry.a-armv7-master.o)
  "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
      -[FlurryReachability flurryStartNotifier] in libFlurry.a(libFlurry.a-armv7-master.o)
  "_SCNetworkReachabilitySetCallback", referenced from:
      -[FlurryReachability flurryStartNotifier] in libFlurry.a(libFlurry.a-armv7-master.o)
  "_SCNetworkReachabilityGetFlags", referenced from:
      -[FlurryReachability flurryCurrentReachabilityStatus] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryReachable] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryConnectionRequired] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryConnectionOnDemand] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryUserInterventionRequired] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryReachableViaWWAN] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryReachableViaWiFi] in libFlurry.a(libFlurry.a-armv7-master.o)
      ...
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я обновился до последней версии XCode и использую последнюю версию Flurry SDK.

Кто-нибудь еще сталкивался с этим и имеет исправление? На их форумах поддержки упоминалась аналогичная проблема несколько дней назад, но пользователи утверждали, что она была исправлена, и я не могу найти на их сайте никаких предложений о том, что с этим делать.


person James    schedule 22.09.2012    source источник
comment
Не уверен, находитесь ли вы на симуляторе или на устройстве. Возможно, вам потребуется добавить поддержку для armv6 и armv7. Если это так, см.: stackoverflow.com/questions/7488657/   -  person Snowcrash    schedule 22.09.2012
comment
Я пробовал это с устройством. Просто чтобы увидеть, что я попытался построить симулятор и получил те же ошибки. Я добавил поддержку armv6 и 7 в дополнение к 7s, как описано в ссылке, которую вы прислали, но это тоже не помогло. Хорошие мысли, есть другие идеи?   -  person James    schedule 22.09.2012
comment
Вы добавили SystemConfiguration.framework?   -  person tc.    schedule 23.09.2012
comment
Пожалуйста, обновитесь до последней версии Flurry SDK v4.0.4 для iOS. Он построен на основе Xcode 4.5 и включает поддержку iPhone 5 и armv7. Упомянутая вами ошибка возникла из-за ошибки в SDK v4.0.1 и была исправлена ​​в следующем релизе v4.0.2. (Отказ от ответственности: я работаю в команде поддержки Flurry)   -  person Aman Bansal    schedule 24.09.2012
comment
Ну, я использовал версию 4.0.4. Однако я забыл добавить SystemConfiguration.framework. Спасибо за вашу помощь всем!   -  person James    schedule 25.09.2012
comment
У меня была такая же проблема, когда я добавил фреймворк через вкладку «Фазы сборки» в настройках проекта. Когда я сделал это, это не добавило двоичный файл (libFlurry.a) должным образом. Исправил это, перетащив папку Flurry прямо в папку Frameworks.   -  person ninehundreds    schedule 01.03.2013


Ответы (2)


Короче говоря, вам нужно связать структуру SystemConfiguration. Ответ на этот поток объясняет это. Исправлено это для меня, когда я обновился до Flurry SDK 4.0.6.

Я бы хотел, чтобы Flurry объяснил это, но я не видел никакой документации на сайте Flurry, объясняющей этот необходимый шаг интеграции Flurry SDK 4.0.6.

Ссылка на SystemConfiguration.framework

person BigSauce    schedule 18.10.2012
comment
Рад помочь! Спасибо за ответ! - person BigSauce; 08.11.2012
comment
Бам! Интересно, почему они не включили это в свои инструкции. - person Nungster; 13.03.2013

Существует альтернативный API, который также является бесплатным (полное раскрытие, я соучредитель): www.askingpoint.com. Он готов к работе с iOS 6 и включает в себя встроенный виджет рейтинга, который управляется из вашей учетной записи на стороне сервера и использует вашу аналитику, чтобы просить оценить вас только у тех пользователей, которые часто вас используют.

Надеюсь, что это касается жалоб на мой предыдущий пост. Извините за битую ссылку.

person Cliff Ribaudo    schedule 24.09.2012
comment
Клифф, AskingPoint действительно звучит круто. Можно ли добавить его совместно с другими сервисами аналитики? Я хотел бы попробовать систему оценок, но, вероятно, я выберу Flurry для самой аналитики. - person James; 25.09.2012
comment
Конечно. Это абсолютно бесплатно, и с нашей стороны ничто не мешает людям использовать более одного решения. На самом деле для начала требуется всего одна строка кода и около 5 минут времени. Вы можете связаться со мной по электронной почте в моем профиле стека или указанном там сайте, если хотите. - person Cliff Ribaudo; 26.09.2012
comment
Привет, Клифф! Просто хотел сообщить вам, что я установил AskingPoint и использую его для обработки отзывов о своем приложении. До сих пор это было здорово, спасибо, что познакомили меня с ним :-) - person James; 12.12.2012
comment
Эй, Джеймс, здорово! Мы видим, что ваше приложение запускается, и ваши цифры растут довольно быстро. Рад помочь. - person Cliff Ribaudo; 12.12.2012