xcode 4.5: неопределенные символы для архитектуры armv7s:

Я полностью сошел с ума от этой проблемы ... у меня есть проект, который работал нормально, но после того, как я добавил facebook sdk, он выдает следующие ошибки (ошибки, которые заставили меня удалить armv6, надеясь, что он будет работать нормально после этого, но это дает больше проблем, так как я Я прохожу через это .. Я сейчас использую Arch armv7 и armv7s вместе, и это ошибка, которую он дает

/Users/ME/Library/Developer/Xcode/DerivedData/Cocktail-gfjrrmcunekvfiacogqdfcxliqfg/Build/Intermediates/Cocktail.build/Debug-iphoneos/Cocktail.build/Objects-normal/armv7/Cocktail.build/Objects-normal/armv7/Cocktail. Распределенные приложения / Все коктейли / Коктейль "setenv IPHONEOS_DEPLOYMENT_TARGET 4.3 setenv PATH" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/us : / usr / bin: / bin: / usr / sbin: / sbin "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app /Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -L / Users / ME / Library / Developer / Xcode / DerivedData / MyProj-gfjrrmcunekvfiacogqdfcxliqfg / Build / Products / Debug-iphone Users / ME / Apple DistributedApps / MyProj All / MyProj "-F / Users / ME / Library / Developer / Xcode / DerivedData / MyProj-gfjrrmcunekvfiacogqdfcxliqfg / Build / Products / Debug-iphoneos" -F / Users / ME / Apple DistributedApps / MyProj All / MyProj "-filelist /Users/ME/Library/Developer/Xcode/DerivedData/MyProj-gfjrrmcunekvfiacogqdfcxliqfg/Build/Intermediates/MyProj.build/Deburnorm/Debug-yProj.build/Debug-subscribe/ /armv7/MyProj.LinkFileList -dead_strip -ObjC -all_load -lxml2 -lsqlite3.0 -fobjc-arc -fobjc-link-runtime -miphoneos-version-min = 4.3 -framework AdSupport -framework Social -framework Systemwork MapKit -frame CoreLocation -framework Twitter -framework AssetsLibrary -framework MobileCoreServices -framework CoreVideo -framework CoreMedia -lz -lsqlite3.0 -framework AddressBook -framework CFNetwork -framework CoreFoundation -framework Security -framework -iartz -framework Message framework AVFoundation -framework CoreGraphics -framework UIKit -framework Foundation -framework FacebookSDK -framework RevMobAds -lFlurryAnalytics -o / Users / ME / Library / Developer / Xcode / DerivedData / MyProj-gfjrrmc unekvfiacogqdfcxliqfg / Build / Intermediates / MyProj.build / Debug-iphoneos / MyProj.build / Objects-normal / armv7 / MyProj

    Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_ACAccountStore", referenced from:
      objc-class-ref in FacebookSDK(FBSession.o)
  "_SKStoreProductParameterITunesItemIdentifier", referenced from:
      -[RevMobStoreController openStoreWithITunesItemId:] in RevMobAds(RevMobStoreController.o)
  "_ACFacebookAudienceFriends", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
  "_OBJC_CLASS_$_SKStoreProductViewController", referenced from:
      objc-class-ref in RevMobAds(RevMobStoreController.o)
  "_OBJC_CLASS_$_GADBannerView", referenced from:
      objc-class-ref in NewsViewController.o
      objc-class-ref in SportsViewController.o
      objc-class-ref in LecViewController.o
      objc-class-ref in AccViewController.o
      objc-class-ref in JokesViewController.o
      objc-class-ref in GamesViewController.o
      objc-class-ref in CaricViewController.o
      ...
  "_ACFacebookAppIdKey", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
  "_ACAccountTypeIdentifierFacebook", referenced from:
      +[FBSession renewSystemAuthorization] in FacebookSDK(FBSession.o)
  "_ACFacebookAudienceKey", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
  "_ACFacebookAudienceOnlyMe", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
  "_kGADAdSizeSmartBannerPortrait", referenced from:
      -[NewsViewController shouldAutorotateToInterfaceOrientation:] in NewsViewController.o
      -[SportsViewController viewDidLoad] in SportsViewController.o
      -[LecViewController viewDidLoad] in LecViewController.o
      -[AccViewController viewDidLoad] in AccViewController.o
      -[JokesViewController viewDidLoad] in JokesViewController.o
      -[GamesViewController viewDidLoad] in GamesViewController.o
      -[CaricViewController viewDidLoad] in CaricViewController.o
      ...
  "_OBJC_CLASS_$_GADRequest", referenced from:
      objc-class-ref in NewsViewController.o
      objc-class-ref in SportsViewController.o
      objc-class-ref in LecViewController.o
      objc-class-ref in AccViewController.o
      objc-class-ref in JokesViewController.o
      objc-class-ref in GamesViewController.o
      objc-class-ref in CaricViewController.o
      ...
  "_ACFacebookPermissionsKey", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
  "_CGSizeFromGADAdSize", referenced from:
      -[NewsViewController shouldAutorotateToInterfaceOrientation:] in NewsViewController.o
      -[SportsViewController viewDidLoad] in SportsViewController.o
      -[LecViewController viewDidLoad] in LecViewController.o
      -[AccViewController viewDidLoad] in AccViewController.o
      -[JokesViewController viewDidLoad] in JokesViewController.o
      -[GamesViewController viewDidLoad] in GamesViewController.o
      -[CaricViewController viewDidLoad] in CaricViewController.o
      ...
  "_ACFacebookAudienceEveryone", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

person Mohamed Emad Hegab    schedule 14.10.2012    source источник
comment
Кажется, вы используете предварительно скомпилированную статическую библиотеку, которая не содержит фрагмента armv7s. Текст, который вы вставили, не содержит ошибки, вы должны предоставить нам правильный результат.   -  person ldiqual    schedule 14.10.2012
comment
извините, я отредактировал его, чтобы показать ошибки   -  person Mohamed Emad Hegab    schedule 14.10.2012
comment
Итак, это SDK Facebook. Вы используете скомпилированную библиотеку (что-то вроде facebook.a) или напрямую исходные файлы FB SDK? Если вы используете исходные файлы, вам следует снова очистить и построить свой проект. Если нет, вам следует использовать исходные файлы.   -  person ldiqual    schedule 14.10.2012
comment
Я использую FacebookSDK.framework, и я создал чистую папку сборки, но ничего не произошло   -  person Mohamed Emad Hegab    schedule 14.10.2012
comment
хорошо, я добавил (account.framework) и все ошибки facebook исчезли .. теперь у меня проблемы с admob и revmob .. и что?   -  person Mohamed Emad Hegab    schedule 14.10.2012
comment
Это огромная проблема с библиотеками, которые вы включаете вручную. Вам стоит подумать об интеграции CocoaPod, это было бы облегчением.   -  person ldiqual    schedule 14.10.2012
comment
здесь решена проблема: stackoverflow.com/questions/13621599/   -  person Mário Carvalho    schedule 13.12.2012
comment
Для решения проблем с Admob необходимо добавить StoreKit.framework   -  person Luis Ascorbe    schedule 22.04.2013


Ответы (3)


Facebook sdk не скомпилирован для armv7s, но вы можете скомпилировать самостоятельно

Посмотрите на ответ Лиама Николса здесь

https://developers.facebook.com/bugs/107674376052717/

Загрузите копию исходного кода со страницы центра git (facebook git hub) Откройте проект xcode и в настройках сборки измените архитектуру на armv7, armv7s Закройте проект Перейдите в / scripts и запустите терминал ./build_all.sh Когда он завершит компиляцию, вы можете найти фреймворк в builds / FacebookSDK.framework

person jcesarmobile    schedule 14.10.2012

В качестве промежуточного решения вы можете удалить armv7s из архитектур в проекте Xcode. Измените "$ (ARCHS_STANDARD_32_BIT)" на "armv7". Когда библиотеки будут обновлены, вернитесь к повторному добавлению поддержки armv7s.

person zaph    schedule 14.10.2012

Удалите armv7s из раздела valid architectures, и он заработает.

Настройки сборки -> Архитектуры -> Допустимые архитектуры

Настройки сборки Xcode

person Harikrishnan    schedule 28.02.2014