May be this will be silliest question but users are facing such problems.
Sorry for same.
I have made build on xcode 3.2 which has maximum IOS 4.3 and uploaded on itunes.
Now users which are downloading application having IOS 5.0 says that application is getting crashed or vanished.
So, just want to ask that build made on xcode 3.2 runs on IOS 5.0
Please help.....
Thanks a lot....
The short answer is that you have a bug in your app.
An app compiled for iOS 4.3 should work just fine. However, as with any update to the operating system, ambiguities in API calls are tightened, undocumented behaviours vanish and some APIs become deprecated. Deprecations won't cause problems (yet), though both of the others might.
For this reason you should be testing with new versions as they become available.
Related
I have an app on the iphone app store that has a very bizarre bug. It has to do with a user dragging an image around the screen. On iOS 5.x it works beautifully. On iOS 4.x it does not work (only lets you drag on a diagonal). The bug is disastrous because it prevents the user from continuing.
Anyways, there should be no reason why the code acts differently between 4.x and 5.0 (no deprecated methods were used or anything). And when I started testing for the problem I realized that the code I compiled and submitted to apple built onto my iphone actually works perfectly on 4.2.
So, the app store version of my app exhibits the weird bug explained above on 4.x and not on 5.0, but the app does not exhibit the bug WITH THE SAME CODE when built from xcode to my device. How is that possible? Could the compiler have messed things up?
Resolved. This was the issue was with armv6 and the LLVM 3.0 compiler with CGPoints. See here: Apple Dev Forum
I searched for days, nothing found, no answer on apple dev forums, I want to be able to test my apps on older versions - on iOS Simulator!
I know - this is not the proper way of testing and not 100% reliable. But I can't afford getting another test-device with older iOS, aaand downgrading my existing devices seems to be a very tough task too - damn sure too tough for me...
Testing on iOS Simulator for 3.x versions will do enough good for those who didn't upgrade to 4.x yet and download my apps.
So please - anyone who was able to reactivate the older iOS Simulator SDKs on Lion / Xcode 4.1? - Don't tell me to set deployment target please :-)
THANKS!
Actually you can install xcode 3.2.x in Lion, and it's will automatic installed in "developer-old" floder. Your xcode 4.1 is still available.
I also want to reactivate the older iOS Simulator SDKs on Lion / Xcode 4.1. ;)
NotMyName posted blow in devforums.apple.com
By reverting back to OS X 10.6.8, and Xcode 4.02, apparently. :-(
Although it is worth noting that the Apple employees posting here have repeated a few times that this is an intended change, and one might guess that either the various simulator versions weren't particularly accurate on their API levels, or that it was just too much work to maintain. I seem to remember there being some bugs in the block implementations at the various levels, for starters.
There's also the often reported mantra, "The simulator is NOT an accurate way of testing your app's behavior."
You can't reactivate the iOS 3.x Simulator, you will need to install an older version of Xcode (one with the iOS 3.x SDK) along side Xcode 4.x (with the iOS 4.x SDK).
If my deployment target is set to iOS 4.1 and submitted to apple, and they test the app on iOS 4.3, would that cause the app to malfunction? My app was rejected for a bug that I am unable to recreate on my iPhone 4. The exact same device model they tested the app on. I simply cannot find the bug or error in my code. Any advice would be greatly appreciated.
If you build your app to target iOS 4.1 it should run on iOS 4.3. It's possible that your app does something that works on 4.1 but causes a problem on 4.3; I had that myself with an app already in the store, and had to post an update so it worked correctly under a newer iOS release.
Note that you can tell the iOS Simulator what version iOS to simulate: on the Hardware menu, select Version, and subsequent runs will be tested against that version of the system libraries.
The simulator is not a perfect reproduction of a real device, but hopefully you can do this to reproduce the behavior that Apple has seen on their devices.
Did you test it on your iPhone 4 with iOS 4.3? There's two parts to the puzzle. If they rejected it for crashing under iPhone 4, you have to check all the different iOS versions you claim to support. The target iOS 4.1 should still make it work on 4.3, you just might have a crash (which apparently you do). Through testing with that actual software version on your iPhone, you'll find the bug and hopefully squash it. Good luck!
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
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 :)
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
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
I am dealing with an old code designed for iPhone OS 2.0. In this code I have some instructions that we deprecated on iPhone 3.0.
I am not willing to change the version because I have many customers, specially on iPod Touch, that are still using 2.0. If I update the instructions they will be unable to continue receiving the updates.
The application is compiled for 2.0 and always have been like that.
I have submitted a new version for Apple, where some bugs were corrected and new functionality was added. I have always sent this app to apple and they never complained. Now they rejected the application telling me that it is crashing under OS 3.1.3.
I've followed their instructions but I don't see any crash and the part of the code that uses the "deprecated" function works perfectly on 3.1.3.
Compiling the project for 3.1.3, I see a yellow warning on Xcode telling me that one instruction was deprecated on 3.1.3.
The big question is: will this instruction work on 3.1.3 and should I ignore this warning?
Can this make the iPhone crash?
In my mind, all new versions of the iPhone OS keeps back compatibility with older versions, so, as I think, any application compiled for 2.0 will run on 3.1.3 and all versions up.
As you see, I have tested this on 3.1.3 and the application works perfectly.
How can that be? Any ideas?
thanks for any help.
Deprecated calls are designed to work in the OS release that they became deprecated in, but stop working in some (undefined) future OS. The deprecation is a warning to developers: Hey, you should change your code, this WILL break in the future. It's a way to update the API-base without breaking everyone.
In summary, you're okay to use these calls now, but you'll want to edit the code should you ever decide to ditch 2.x operability.