15

I am trying to build lite version of my iPhone application using AdMob. I followed the guidelines here http://www.iphonedevsdk.com/forum/iphone-sdk-development/11358-creating-lite-version-app.html and created two different targets. In the lite version I added a macro called LITEVERSION which I am checking using #ifdef and doing the appropriate things.

But when I build the lite version of the app, I get a linker error

ld: library not found for -lAdMobDevice collect2: ld returned 1 exit status

However I am able to build the full version without any issues and also noticed that build is working fine (for the fullversion) even if I remove the #ifdef macros. This suggests that the libAdMobSimulator.a library is linking properly for the full version however it fails on the lite version.

Any pointers would be greatly appreciated!

Cheers Jugs

1
  • 1
    Are you dragging & dropping a file from an aliased directory? That's what I did. The moment I copied the file to another directory and then dragged & dropped into the project it worked. Enough to drive you completely insane isn't it !!
    – user2333332
    Commented Apr 29, 2013 at 18:48

6 Answers 6

23

When I had this problem, the cause was that I'd added the library into Xcode by dragging it in like a regular source file.

The fix was to remove it, and then add it properly using the "Add->Existing Frameworks..." dialogue.

1
  • 1
    +1 for that: solved the same problem for me. I haven't checked for sure, but one would assume that XCode must add some additional search paths and/or linker flags when the library/framework is added in this way.
    – Carlos P
    Commented Sep 12, 2013 at 21:00
16

I got similar error as I was using CocoaPods libraries

library not found for -lPods-MyApp

I got the error because I opened xcode project instead of workspace.

5

I was using CocoaPods, and ran pod install, and that fixed it.

1
  • 1
    I am facing the same issue, But installing the pods again are of no use !! Is there any other alternative .. Commented Jan 12, 2015 at 8:33
0

I figured out what he problem was. I just removed all frameworks and libraries and added them back in for both the targets and it worked!

Cheers

1
  • no use in removing ALL frameworks & libraries to solve this issue. Just the relevant ones. Commented Jun 10, 2014 at 18:35
0

I cause this because of a libray libMobClickLibrary.a which is used in youmeng sdk missed. I fix the issued after copy libMobClickLibrary.a to the project floder.

0

I had the same problem with Google Analytics library. My problem was that I forgot to add the path to the Library Search Paths in my target's build settings. (Target -> Build Settings -> Library Search Paths)

Not the answer you're looking for? Browse other questions tagged or ask your own question.