views:

215

answers:

1

Hi,

I recently ran into troubles building an app with latest iOS 4.1 SDK and running it on device with iOS 3.x. App works OK on 4.x devices and iPad, but crashes on devices running older 3.x iOS.

Problem appears to be in linker, since crashes are obviously caused by calls to 3rd party libraries used in the project. The linker (or even compiler) suspicion is supported by fact that when I build the app with older 3.1.3 SDK, it works as expected.

My Release configuration uses iOS 4.1 as Base SDK and iOS 3.0 as deployment target platform, compiled with LLVM GCC 4.2. I also tried GCC 4.2 compiler, but it didn't help too.

I've found that there's some bug in linker/compiler in this version of SDK, but none of proposed solutions worked for me.

I desperately need to resolve this issue, so any help is highly appreciated.

Thanks to everyone for any hint or advice.

A: 

Hello !

Just to let you know that if you are using something like iAd framework, you need to add this framework as "weak dependency" in the Target Info Pop-Up :-)

If it's a librairie, could you list them ?

Good Luck !

Vinzius
Hi, thanks for your response, but this is not the case, no iAd fw is used. The app uses Three20 and some library for handling Zip archives. No matter if I define it as weak or required dependency, the result is the same. As I wrote above, it works on iOS 4.x and 3.2 devices, but not on iOS <3.2. First call to linked library causes crash. When I build the app with 3.1.3 SDK, it works on 3.0 normally. I assume it needs to adjust some linker or compiler flags, but I cannot figure out WHICH and HOW?!
Matthes