Search code examples
iphoneios4three20ios32

"_UIApplicationDidEnterBackgroundNotification", referenced from: Error while linking


I'm using the Three20 library in my app, I am seeing this error during linking of the app:

"_UIApplicationDidEnterBackgroundNotification", referenced from: _UIApplicationDidEnterBackgroundNotification$non_lazy_ptr in libThree20UINavigator.a(TTBaseNavigator.o) (maybe you meant: _UIApplicationDidEnterBackgroundNotification$non_lazy_ptr) ld: symbol(s) not found

I have seen that this problem happens when I try to build for BASE SDK IOS 3.2 Simulator but not on IOS 4.1 Simulator. I have tried the following settings to no avail:

Architecture for my project and ALL Three20 projects set to Optimized
Project Settings/Active Target - BaseSDK for my project and ALL Three20 projects set to IOS 3.2 Simulator

Architecture for my project and ALL Three20 projects set to Standard
Project Settings/Active Target - BaseSDK for my project and ALL Three20 projects set to IOS 3.2 Simulator

Architecture for my project and ALL Three20 projects set to Standard
Active Target - BaseSDK for my project and ALL Three20 projects set to IOS 3.2 Simulator
Project Settings - BaseSDK for my project set to IOS 4.1 Simulator

The following are the settings that work:

Architecture for my project and ALL Three20 projects set to Standard (or Optimized)
Active Target/Project Settings BaseSDK for ALL Three20 projects set to IOS 3.2 Simulator
Active Target/Project Settings BaseSDK for my project set to IOS 4.1 Simulator

I am tired of trying these permutations. Really want to understand wth is going on - but haven't been able to find any meaningful logs. Thanks for any comments/answers.


Solution

  • that symbol is declared in the 4.0 SDK. you can't use that function on iOS 3.x. you have 2 choices:

    1) target iOS 4.0 or greater

    2) use an earlier release of three20, which was built to work with the sdk you target