views:

229

answers:

3

Hi,

I was just wondering if anyone knows of any articles relating to upgrading an iPhone application from 3.0 to iOS4. (Thanks for this iWasRobbed).

While the application still runs on iOS4, it will not run on the iPhone 4, but does on my iPhone 3G.

When I deploy the app on the iPhone 4, the Default screen loads and it will sit there hanging. The only inclination towards a problem I get is this warning:

warning: UUID mismatch detected with the loaded library - on disk is:
 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/UIKit.framework/UIKit
warning: UUID mismatch detected with the loaded library - on disk is:
 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/PrivateFrameworks/DataAccessExpress.framework/DataAccessExpress

Thanks

James

+2  A: 

James,

Apple has provided this checklist: http://developer.apple.com/iphone/checklist/

It generally should not be that big of an issue. Typically, you just set the baseline SDK as 4.0 and the deployment target as either 4.0 or something 3.0+.

If it is not running on an iPhone 4, you may wish to explain further what specifically it is doing or not doing when you attempt to run it on that device. Keep in mind that all apps (for the most part) that were designed to run on 3.0 and above will typically run well on an iPhone 4.

There might be some issues with deprecated methods, so make sure you resolve those prior to installing and running the app. You should get a compiler warning for any of those, if not check your target settings and there should be a checkbox for it.

Other than that, I'm not sure what else would prevent you without understanding further details of your project.

As additional information, you should really look into the WWDC 2010 video called "Future Proofing Your Applications" (watching it now :)

iWasRobbed
Thanks, I've just updated the question with the specific issue.
ing0
I think that is probably unrelated to your issue. Read up a bit more here: http://stackoverflow.com/questions/215252/uuid-mismatch-detected-with-the-loaded-library ..Could you however post what you are placing in `applicationDidFinishLaunching` and your `viewDidLoad` etc methods? Also, did you look to see if you have deprecated warnings turned on?
iWasRobbed
Typically if the application hangs at the `Default.png` then there's an issue in your `applicationDidFinishLaunching` method or you are tying up the main thread with loading lots of data in your `viewDidLoad` method instead of letting the UIKit perform all the drawing on the main thread
iWasRobbed
Ah, I changed a couple of things in there when updating. I will check to see if thats where the problem is.
ing0
A: 

I had the same problem and think I have solved it because the problem has gone away. Firstly I deleted the build folder. Then I Installed the latest version of ios (4.1 in this case) onto my iphone through itunes. Afterwards i installed the latest xcode and iphone sdk package from the apple devlopers site. This in itself probably fixed the problem but just to be sure I added a new provisioning profile for the phone on my computer and everything worked great afterwards. Hope that helps

twerdster
+1  A: 

That is most likely a mismatch between what iOS your iPhone 4 is running and what SDK you're using in Xcode. The UUIDs are mismatched because the iPhone 4 is using a different version SDK to what you've coded in.

Solution, install the latest SDK and make sure your iPhone matches this. The latest out is 4.1

sciritai