Problems running application compiled with XCode 3.2.4 and iOS SDK 4.1 on iOS 3.x - iphone

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.

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 !

I guess I am too late at answering this one. But still - If you have the 3.1.3 device with you, doing an in-system debugging by loading an app with a developer profile gives you what caused the crash. I faced a similar problem when my apps used to work fine on the 4.0+ devices but used to crash immediately upon startup when I tried it on 3.1.2 device. I compiled it with a developer profile and then did an in-system debugging. I found out that I was using a class UIPopoverController which was brought in with iOS 3.2 and hence used to fail for my 3.1.2. Putting in the necessary checks for this resolved my problem.
Hope that helps.

Related

parse.com Linker Error xcode 6 swift

After I installing xcode6 I got some errors with parse.The project was working just fine in beta versions of xcode 6. I think i might be parse.com that is not compatible with xcode6. I think I have added all the frameworks properly
I experienced the same problem,
first, download the latest SDK version from Parse.com
second, I noticed that when I run it NOT on the iPhone 6 simulator it works fine.
You're targeting the iOS Simulator, which the Parse framework does not seem to support. So:
Clean project.
Change the destination from iOS Simulator to iOS Device.
Build.
That's all you need to do.

Aspen Simulator not working

I have googled for two days and still no luck. I am running a Mac OS X 10.5.5 and the iPhone SDK 3.1 beta, running the Aspen Simulator.
My problem is that I can not get any app to work on the Simulator. It builds alright but the simulator shows a black screen and then returns to the main menu. I get this error on Xcode:
Error from Debugger: Failed to launch simulated application. See console.
and in console, it says something about "unable to find springboard (bootstrap lookup error".
Can you please help me?
I think you should think about updating your system. Using an old iPhone SDK 3.1 beta nowadays is really strange, you should update to the latest stable iOS SDK 4.3.3 and test backwards compatibility of your app using the built in iOS SDK 3.2 from iPad. This will help you test the app on this older SDK while getting active support from both Apple and developers.
Tell me if updating solves your issues or not. Thank you!

How to find iOS 4 only code in iPhone project

i have a iPhone Project with Base SDK 4.0 and Deployment Target set to 3.0 with XCode 3.2.3. Is there an "easy" way to find out whether i use iOS 4 only API calls in my Source Code. I'm aware that i could install an old XCode to run my project against an e.g. 3.1.3 Simulator, but i hope there is a simpler way for checking this.
Anybody has an idea?
Thanks
Roland
Set the SDK to a 3.x SDK and recompile. If you have any new errors or warnings, it's probably a sign you have 4.0-specific code, and the errors will tell you where.

Launching Instruments from Xcode on iPhone project with libxml2 fails

I get a crash whenever launching an iPhone application that uses libxml2 in Instruments from Xcode. Ideas as to the cause? Ultimately this reason is given:
Reason: Incompatible library version: Foundation requires version 10.0.0 or later, but libxml2.2.dylib provides version 9.0.0
For me it happens when I compile a 2.2.1 application for Simulator, then switch Simulator version to 3.0, then launch application from Simulator. My application crashes with the same error you have.
[Update]
Finally, it happends only on simulator, not on iPhone.
Same behavior here. Instrument crash on simulator but not on iPhone so it's not a solution but at least a work around.
And it works on both simulator and iPhone if i compile on 3.0 SDK
I've confirmed that if you're linking in 3.0 or 3.1 against the SDK-relative version of libxml2.dylib, Instruments works fine.
I'm left believing that the failure under 2.2.1 is simply a bug in that version that must have been a one-off.

Changing to llvm compiler when deploying iPhone app

I found this:
Changing Compiler to llvm-clang on existing iPhone Project
But that does not help.
I am still getting the error. Setting the BaseSDK to the iPhoneSimulator 3.1 seems to work. But I don't think this is the right thing to do...
If you read the answer and comments on that question, you'll see that there is not yet a version of LLVM that will target the iPhone device. You can target the iPhone Simulator using LLVM GCC, with some fiddling, because that is running on a Mac. Even though LLVM can target the ARM platform, Apple has indicated that it's not yet ready for use in deploying to the iPhone.