Major iOS 5 features that cannot be used in iOS 4 - ios5

Update - Example
The UIScrollView property in UIWebView is available for iOS 5 or later. I find this out by searching Apple's developer site for all of my UI element class one by one.
Things like this, is there a full collection for iOS 5 features?
Original Post
Such as which method of UIView is only available in iOS 5 or later.
I can't find out the problem why my app can't run on iOS 4.3 device but runs on iOS 5 or later.
Thank you!
If there are many new features iOS 5, how can I find it all in one place instead of reading Apple's website page by page?

Finally, I found it. Apple made a good summary.

Related

Possible to still produce iOS6 style apps using xCode 5?

for now I am keeping my app in iOS6 style until I get a chance to update some of the artwork. I am wondering, if I update to xCode 5, is there a way to compile my code so that it will still produce the iOS6 style and install it on my device with iOS7? Getting a bit tiring uploading my code through TestFlight...
It's not the Xcode version that provides the assets, its the iOS SDK.
That means apps which are compiled using iOS 6 SDK and lower will use the older style default assets, however apps which are compiled on iOS 7 SDK will use the new style controls.
Your best bet would be to create assets and style the controls to your specification if you want to use the new Xcode.
No, Apple has changed the look of all system components. As far as I know, it is not possible to force your app to use the old style on iOS 7.
You would get the new look on iOS 7 (when using iOS 7), When your app would run on iOS 6 it would look like it was on iOS 6.
It's pretty simple and straight forward. You don't have to do nothing just make sure it looks good on iOS 7 also.
To be more clear if you use AlertView you would get the new style when your app runs on 7 (with parallax etc.) and old look when run on 6.
My suggestion to you is just test it on iOS 7 and fine tune graphics if needed.

Simple posts to Facebook and Twitter iOS 5 & 6

I'm currently implementing a simple button that posts to social networking sites (giving my app a little exposure, you know the drill). However, I'm a little confused by all this social networking stuff. On one hand I know iOS 6 has a really nice framework for FB and Twitter (Social.framework) but for iOS 5 it's a little different. iOS 6, I think I've got figured... I find it a little weirder when we go into iOS 5 however. From what I understand Twitter was already integrated into iOS 5 and can be accessed using the Twitter.framework and Account.framework frameworks. What I don't get is in order to support both 5 & 6 for Twitter do I have to use Social.framework, Twitter.framework and Account.framework to support everything? I.e. two different methods depending on iOS version. Or, if I use the latest SDK will iOS 5 twitter work with Social.framework? That Twitter covered.
Now for Facebook, how do I go about posting in iOS 5? I'm pretty sure Social.framework won't work in iOS 5, even if I build the app with latest SDK. Therefore I think it's inevitable that I'll have to have two different methods which run depending on the iOS version installed. Is that correct? If so, how do I go about integrating FB into iOS 5? Do I have to use the SDKs provided by Facebook?
So to summarise my questions if all that was a little wordy.
1) Can I incorporate Twitter-posting into my app using only Social.framework for both iOS 5 & 6, or do I have to do one method using Social.framework (for iOS 6) and then another method using Twitter.framework and Account.framework (iOS 5)?
2) I can use Social.framework for Facebook in iOS 6, but can't for iOS 5, therefore, I have to do two separate methods, one with Social.framework (iOS 6) and then one with the FB SDK (iOS 5), correct?
Thanks in advance, Regards,
Mike
1) Social.Framework is available only on iOS6+ so you have to split between the two frameworks (or you can use only Twitter.Framework even though some methods have been deprecated on iOS6)
2) You can use the Facebook SDK both on iOS5 and iOS6 (latest version for iOS at the time i write this answer is 3.5). The Facebook SDK already takes care of using the user's Facebook account on iOS6 or relying on the Facebook app on iOS5 or iOS6 when the account is not already configured in the phone

How can I deploy app only for iPhone 3Gs,4,4S and skip iPhone5 support?

I want upload app to app store for review but it seems like I need also iPhone 5 screenshots but I don't have app prepared for iPhone 5. Please, how can I deploy app only for iphone 3gs,4,4s?
I find something in Targets/Build Settings/Architectures Standard armv7 and Base SDK is Latest iOS 6.0. Is that what I have to change?
Just for absolute clarity, Apple released an announcement on March 21st 2013 stating that starting May 1st 2013 new apps and app updates MUST be built for iOS devices with Retina display and iPhone apps must also support the 4-inch display on iPhone 5.
You can view the announcement here.
The best solution is to just properly prepare your app for the iPhone 5's display. And no. Changing the base SDK will not help here.
You can't, only apps submitted before iPhone5-release can run in "iPhone 4 mode" on the new iPhone. All updates to apps and newly submitted apps must support the new 4 inch screen.
You cannot exclude the iPhone5 in the target settings and if there were a way to do that, there is no way Apple would approve it. You can remove support for old devices, but never for new ones.
After all, Apple wants as many apps as possible to adapt the new format as soon as possible, and this is what you have to do... don't worry - if you are fairly used to developing to iOS you can do it in just a few hours...
Apple has stated that theY will still (currently) be accepting apps without specific iOS 6 and iPhone 5 support when developed with an Xcode version prior to 4.5, and thus with an SDK 5.1 or earlier. 568h support is specifically not allowed in apps built that way.
Apps built that way will run in letterbox on a 5, or the similar 1X/2X compatibility boxes that the iPad uses for legacy iPhone only apps.
I submitted an app following the release of the iPhone 5 with the latest version of XCode that runs letterboxed on the iPhone 5. Just remove armv7s from your supported architectures.

iOS 6 - Rate App links busted?

i've put the iOS 6 GM on my iPhone 4 (not 4S),
and the 'rate it' buttons in my own app and others no longer do their thing.
instead it opens the app store w/ "cannot connect to itunes store".
regular app-links from safari work fine.
i'm using links of this form:
itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=<APP_ID>
for example, from safari on iOS 5.1, the link on this page works fine:
http://elenzil.com/scratch/appstore
but the same test w/ iOS 6 yields the problem i describe.
.. i have to say the App Store in general seems a bit buggy in the iOS 6 GM.
i'm seeing issues scrolling through the list of search results, mainly.
We also ran into this, but it appears that Apple put in a fix this morning. No updates of iOS required.
I'm using http and it works well in iOS6.
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=xxxxxxxxxx&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software
Just sharing what I use.

Is the use of storyboards in Xcode 4.2 production ready and recommended? (c.f. previous XIB methods)

Is the use of storyboards in Xcode 4.2 production ready and recommended?
That is, would iPhone/iPad developers that have used storyboards recommend (for native iPhone/iPad apps) to definitely use storyboards? Or are there some gotchas and issues still with the concept?
P.S. Also do storyboards assist in getting a Universal Application designed/working?
This depends, for the most part, on your target audience. The only potential deal-breaker is the fact that using storyboards requires you to set your app's deployment target to iOS 5.0 or later; a storyboarded app cannot run on any earlier version of iOS.
If you must cater to previous versions of iOS, you have to continue using individual nib files if designing your interface with Interface Builder. I'd also recommend sticking with whatever you're already using in your existing projects. (You can introduce storyboards into your existing projects in steps, but remember that they'll only work in iOS 5. There's a WWDC 2011 presentation that walks you through this process.)
For new projects, storyboards seem to be the way to go, as long as you're sure you won't need to deploy to previous iOS versions.
Also do storyboards assist in getting a Universal Application designed/working?
Not sure what you mean by "assist", but you have to create one storyboard of nibs for each device family. So one for iPhone/iPod touch, and one for iPad.
It would be interesting to know how much of the market you are missing out on by targeting only iOS 5. I have noted that there is a significant percentage of iPhone users who dont upgrade their iOS be it from iOS 3 to iOS 4 or even iOS 5 so any apps targeting iOS 5 will mean they can not download any app you create.
I started out using iOS 5 with storyboard and it's a great feature, but had to pull back and use xibs so that I get backwards compatibility. There's just too much of the market you will miss out on by only targeting iOS 5.
ARC is a great plus, and just for that feature alone I am happy with the transition to iOS 5. Not to mention the new CLGeoCoder class and JSON now included. Anyone who wants to use JSON API have a look at this great tutorial from Ray Wenderlich.