Сборка Admob Robovm Eclipse с ошибкой: неопределенные символы для архитектуры armv7

#libgdx #admob #robovm

#libgdx #admob #robovm

Вопрос:

Я интегрирую привязку admob для моего проекта robovm-libgdx на github: https://github.com/BlueRiverInteractive/robovm-ios-bindings/tree/master/admob следуя этому документу: https://github.com/libgdx/libgdx/wiki/Admob-in-libgdx#ios-setup-robovm

На этапе отладки с устройствами я получил сообщение об ошибке:

 6/20/14 10:02:57 AM: [ERROR] Undefined symbols for architecture armv7:
6/20/14 10:02:57 AM: [ERROR]   "_, referenced from:
6/20/14 10:02:57 AM: [ERROR]       l001 in libadmob.a(GADGestureUtil.o)
6/20/14 10:02:57 AM: [ERROR]   "_SCNetworkReachabilityGetFlags", referenced from:
6/20/14 10:02:57 AM: [ERROR]       l001 in libadmob.a(GADGestureUtil.o)
6/20/14 10:02:57 AM: [ERROR]   "_OBJC_CLASS_$_MMessageComposeViewController", referenced from:
6/20/14 10:02:57 AM: [ERROR]       objc-class-ref in libadmob.a(GADOpener.o)
6/20/14 10:02:57 AM: [ERROR]   "_OBJC_CLASS_$_MFMailComposeViewController", referenced from:
6/20/14 10:02:57 AM: [ERROR]       objc-class-ref in libadmob.a(GADOpener.o)
6/20/14 10:02:57 AM: [ERROR]   "_SCNetworkReachabilityCreateWithName", referenced from:
6/20/14 10:02:57 AM: [ERROR]       -[GADNetworkChecker startNetworkChecking] in libadmob.a(GADNetworkChecker.o)
6/20/14 10:02:58 AM: [ERROR]   "_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from:
6/20/14 10:02:58 AM: [ERROR]       objc-class-ref in libadmob.a(GADDevice.o)
6/20/14 10:02:58 AM: [ERROR]   "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
6/20/14 10:02:58 AM: [ERROR]       -[GADNetworkChecker stopNetworkChecking] in libadmob.a(GADNetworkChecker.o)
6/20/14 10:02:58 AM: [ERROR]   "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
6/20/14 10:02:58 AM: [ERROR]       -[GADNetworkChecker startNetworkChecking] in libadmob.a(GADNetworkChecker.o)
6/20/14 10:02:58 AM: [ERROR]   "_SCNetworkReachabilitySetCallback", referenced from:
6/20/14 10:02:58 AM: [ERROR]       -[GADNetworkChecker startNetworkChecking] in libadmob.a(GADNetworkChecker.o)
6/20/14 10:02:59 AM: [ERROR] ld: symbol(s) not found for architecture armv7
6/20/14 10:02:59 AM: [ERROR] clang: error: linker command failed with exit code 1 (use -v to see invocation)
6/20/14 10:02:59 AM: [ERROR] Build fail
  

Мне нужна ваша помощь для ее решения. Спасибо!

Ответ №1:

я решил эту проблему, добавив еще три фреймворка (MessageUI, SystemConfiguration, CoreTelephony) — на данный момент мои фреймворки в robovm.xml выглядит как:

 <frameworks>
  <framework>UIKit</framework>
  <framework>OpenGLES</framework>
  <framework>QuartzCore</framework>
  <framework>CoreGraphics</framework>
  <framework>OpenAL</framework>
  <framework>AudioToolbox</framework>
  <framework>AVFoundation</framework>
  <framework>MessageUI</framework>
  <framework>SystemConfiguration</framework>
  <framework>CoreTelephony</framework>
</frameworks>
  

Комментарии:

1. Пожалуйста, как я могу добавить эти фреймворки в Android Studio? Я нигде не могу найти загрузки

2. С тех пор, как я решил эту проблему, прошло некоторое время, но вам не нужно загружать эти фреймворки. Эти фреймворки являются системными фреймворками из iOS. robovm.xml просто определите, какие системные фреймворки нужны вашему проекту Xcode.