PDA

View Full Version : iOS 5 GM Seed Now Available



ravage221
5th October 2011, 05:18 AM
So while the rest of the Apple website is having problems, the Developer's Portal just updated with a new NDA/Developer Agreement (yay!) and more importantly GM builds for iOS 5 and Xcode 4.2. Interestingly I was prompted for a delta update a couple hours ago.

NOTABLY ABSENT: No Siri API's. This pisses me off. Would have been great to integrate it all but they are keeping it all to themselves :(

Release Notes (Apple's notes are always crap...)


Accounts

When creating an iCloud account, you can use any Apple ID as long as it is a full email address and not a MobileMe account. If you have a MobileMe account, you can move that account to iCloud. You can find more information at: http://me.com/move

AirPlay

Starting in iOS 5, AirPlay is enabled by default for video content in applications and websites.

In iOS 5, AV Foundation adds support for video playback via AirPlay.

APIs

The NSNetService class and CFNetService APIs do no include P2P interfaces by default. To browse, register, or resolve services over P2P interfaces, an application needs to use the Bonjour DNSService*() APIs noted below.

Setting the interfaceIndex parameter to kDNSServiceInterfaceIndexAny in the following API's will not include P2P interfaces by default. To include P2P interfaces, you must now set the kDNSServiceFlagsIncludeP2P flag when using kDNSServiceInterfaceIndexAny or set the interfaceIndex to kDNSServiceInterfaceIndexP2P. The affected APIs are:

DNSServiceBrowse

DNSServiceRegister

DNSServiceResolve

DNSServiceRegisterRecord

DNSServiceQueryRecord

API Validation

In the iOS 5 development tools, it is possible to extract APIs used by an application and have them checked for use of private APIs. This option is offered when you validate your application for app submission.

Apple TV

The Apple TV Software enables users to mirror the contents of an iPad 2 to an Apple TV (2nd generation) using AirPlay. This software also enables Photo Stream on Apple TV so users can access photos stored in iCloud. Apple TV Software beta is being provided to test the latest AirPlay functionality with your iOS 5 apps and web sites. If you wish to install Apple TV Software beta on your device, you must first register your device UDID in the iOS Developer Program Portal.

Automatic Reference Counting

In Xcode, if the configuration is set to Device and there is a space in the path of one of the source files (more commonly, the project is inside a directory with spaces), the “Convert to Automatic Reference Counting” step (after Precheck) will fail with error: Error in format of file: <path>.

If encountered, the user should switch to Simulator and retry the migration.

Binary Compatibility

On applications linked against the iOS 5 SDK, scroll view content offsets will no longer be rounded to integral pixels during a pinch gesture.

GameKit

Match data for turn-based matches is limited to 4 KB.

FIXED: Auto-matching with the turn-based view controller does not work. Invites or the direct auto-match API can be used as a workaround.

iCloud Backup

Backups made prior to September 22nd are no longer available. It is strongly advised to upgrade to this version of iOS 5 in order to continue backing up your devices

iCloud Storage

In the iCloud key-value store, the maximum number of keys has been raised to 256.

All newly generated provisioning profiles are now automatically enabled for iCloud. If you are using an Xcode managed Team Provisioning Profile, click refresh in the Xcode Organizer to obtain a new iCloud-enabled profile. To enable all other provisioning profiles for iCloud, simply regenerate your profiles in the iOS Provisioning Portal.

If your application is using the NSMetadataQuery class, you must set a predicate and the predicate is now honored. But the predicate is an NSPredicate-style predicate, not a Spotlight-style predicate. An example of the difference is that you must use LIKE instead of = for wildcard matching. The differences are defined in more detail at: Loading… (http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Predicates/Articles/pSpotlightComparison.html#//apple_ref/doc/uid/TP40002370-SW1).

The setSortDescriptors: method of NSMetadataQuery is not supported.

To enable iCloud storage within your apps in iOS 5, click the Enable Entitlements checkbox in the Summary pane of your project. Xcode creates a custom entitlements file for your project that automatically includes your Team ID. You can add additional iCloud Container values as required by your application. (Note that you must regenerate your existing provisioning profiles, either with Xcode or in the iOS Provisioning Portal, to use iCloud storage.)

The container identifier string you pass to the URLForUbiquityContainerIdentifier: method of NSFileManager must include the team ID at the beginning of the string. As a convenience, you can pass nil to retrieve the first document container ID specified in your app’s entitlements.

In iOS 5, files that are protected via Data Protection cannot be used with iCloud Storage APIs.

File presenters—objects that adopt the NSFilePresenter protocol—do not receive some of the messages that they are supposed to receive, including:

presentedSubitemDidChangeAtURL:

As a work around, implement the relinquishPresentedItemToWriter: method and check to see if the writer actually wrote when your file presenter reacquires the file.

If you report a bug related to the iCloud storage interfaces, please include the logs collected during your debugging session. To generate these logs, you must install a special debug profile on your device.

The debug profile can be obtained from http://connect.apple.com. This profile enables the generation of debug logs that are needed to diagnose any problems using iCloud storage. The instructions to collect the logs are:

Install the profile. (The easiest way to do this is to mail it to yourself and open the attachment on your device.)

Reproduce the bug.

Sync with iTunes to pull the logs off your device.

Attach the logs to your bug report. You can find the logs in ~/Library/Logs/CrashReporter/MobileDevice/DeviceName/DiagnosticLogs.

These logs can grow large very quickly, so you should remove the profile after you have reproduced the problem and pulled the logs of your device.

File names are case-insensitive in Mac OS X but case-sensitive in iOS. This can lead to problems when sharing files between the two using iCloud. You should take steps on iOS to avoid creating files whose names differ only by case.

iTunes

The version of iTunes that comes with the GM release cannot sync devices that have the beta 7 software installed. To avoid this problem, do the following:

Sync any devices that have beta 7 installed to the version of iTunes that came with beta 7.

Upgrade iTunes to the version that comes with the GM release.

Connect the device and install the GM software. (Understand that you might see a failure to sync error when you first connect the device.)

After installing the GM software, restore from your backup you made in step 1.

Music Player

FIXED: When deleting a song or video from Music/Videos on the device, the Music Player app crashes.

Security

In iOS 5, the signing of certificates with MD5 signatures is not supported. Please ensure that certificates use signature algorithms based on SHA1 or SHA2.

Springboard

Push and local notifications for apps appear in the new Notification Center in iOS 5. Notification Center displays notifications that are considered "unread.” To accommodate push and local notifications that have no unread status, set your application’s badge count to 0 to clear that app’s notifications from Notification Center.

UI Automation

When using the performTaskWithPathArgumentsTimeout method of UIAHost in a UI Automation script where the API outputs excessively (say, thousands of lines of text) to standard out or standard error, the task may deadlock until the timeout is reached, at which point it will throw a JavaScript exception.

The lock() and unlock() functions of UIATarget have been replaced with the lockForDuration(<seconds>) function.

In iOS 5, you can now trigger the execution of a UI Automation script on an iOS device from the host terminal by using the instruments tool. The command is:

instruments -w <device id> -t <template> <application>

When using the cli instruments for UI Automation you can now target the default Automation Template and pass the script and results path into the tool as environment variable options. For example:

instruments -w <device id> -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate <application> -e UIASCRIPT <script> -e UIARESULTSPATH <results path>

UIKit

Rotation callbacks in iOS 5 are not applied to view controllers that are presented over a full screen. What this means is that if your code presents a view controller over another view controller, and then the user subsequently rotates the device to a different orientation, upon dismissal, the underlying controller (i.e. presenting controller) will not receive any rotation callbacks. Note however that the presenting controller will receive a viewWillLayoutSubviews call when it is redisplayed, and the interfaceOrientation property can be queried from this method and used to lay out the controller correctly.

In iOS 5, the UIPickerView class doesn't send its pickerView:didSelectRow:inComponent: delegate message in response to the programatic selection of an item.

Returning nil from the tableView:viewForHeaderInSection: method (or its footer equivalent) is no longer sufficient to hide a header. You must override tableView:heightForHeaderInSection: and return 0.0 to hide a header.

In iOS 5, the UITableView class has two methods to move one cell from one row to another with defined parameters. These APIs are:

moveSection:toSection:

moveRowAtIndexPath:toIndexPath:

Using the UIWebView class in Interface Builder, setting a transparent background color is possible in iOS 5. Developers compiling against the new SDK can check their XIB for the UIWebView transparent setting.

In iOS 5, the UINavigationBar, UIToolbar, and UITabBar implementations have changed so that the drawRect: method is not called unless it is implemented in a subclass. Apps that have re-implemented drawRect: in a category on any of these classes will find that the drawRect: method isn't called. UIKit does link-checking to keep the method from being called in apps linked before iOS 5 but does not support this design on iOS 5 or later. Apps can either:

Use the customization API for bars in iOS 5 and later, which is the preferred way.

Subclass UINavigationBar (or the other bar classes) and override drawRect: in the subclass.

The indexPathForRow:inSection:, section, and row methods of NSIndexPath now use NSInteger instead of NSUInteger, so that these types match with methods defined on UITableView.

The behavior of the UITableView class’s scrollToRowAtIndexPath:atScrollPosition:animated: method has changed. If a scroll position of UITableViewScrollPositionTop or UITableViewScrollPositionBottom is specified, the method now adjusts for the top and bottom portions of the contentInset property.

In releases prior to iOS 5, the UIPopoverController class would unconditionally set the autoresizing masks of view controllers that provided the content for the popover controller. It would also unconditionally set the autoresizing masks of the views of view controllers pushed on to a UINavigationController object which was the content view controller of the popover controller.

The UIPopoverController class no longer does this for applications linked against iOS 5 or later. Developers should ensure that the autoresizing masks of views are set properly to allow for arbitrary resizing within any container, not just popovers. A mask of (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight) is reasonable.

The completion handler for saveToURL:forSaveOperation:completionHandler: is called outside of the coordinated write block.

The autosaveWithCompletionHandler: method is now only called for period-based saves when it is safe to return without saving. Documents must save, though, if the saveToURL:forSaveOperation:completionHandler: method is invoked.

Safari and WebKit

In iOS 5, a new inherited CSS property, -webkit-overflow-scrolling, is available. The value touch allows the web developer to opt in to native-style scrolling in an overflow:scroll element. The default value for this property is auto, which allows single-finger scrolling without momentum.

The WebKit framework has been updated to a version which closely matches the engine used by Safari 5.1 on the Desktop. There are some areas to be aware of with the new WebKit framework on iOS 5. Specifically, for web sites and native apps that use UIWebView:

There is a new HTML5-compliant parser.

Text layout width may change slightly because word-rounding behavior now has floating-point-based precision.

There is improved validation of the <input type=number> form field, which includes removing leading zeros and number formatting.

Touch events are now supported on input fields.

<input type=range> is now supported.

window.onerror is now supported.

There is a new user agent that does not have locale information in the User Agent string.

URLs are now canonicalized by making the scheme all lowercase. If a fake URL is used to pass information from a UIWebView back to native code, make sure that the scheme is always lowercase, or that the native code compares the scheme in a case-insensitive manner.

Wi-Fi Syncing

Wireless syncing support requires Mac OS X 10.6.8 or Lion. You will see an option to enable wireless syncing when you connect your device to iTunes with the USB cable. It is recommended you perform your initial sync with a cable after restoring your device.

Wireless syncing is triggered automatically when the device is connected to power and on the same network as the paired computer. Or, you can manually trigger a sync from iTunes or from Settings > General > iTunes Sync (same network as paired computer required).

If you find issues with apps, media and/or photos synced to your device, you can reset then resync. From Settings > General > Reset, choose Erase all Content and Settings. Then reconnect to iTunes and sync again.

Alec Fraser
5th October 2011, 07:46 AM
NOTABLY ABSENT: No Siri API's. This pisses me off. Would have been great to integrate it all but they are keeping it all to themselves :(

It's still in Beta, let them get it working right first before they start doling out the APIs ;)

ravage221
5th October 2011, 09:07 AM
It's still in Beta, let them get it working right first before they start doling out the APIs ;)

But it is still going to be in the iPhone 4S which will be running it's own build of 5.0.
What is annoying that Siri definitely wont be making it to developer's hands for quite a while, and Apple will be keeping it to themselves for the foreseeable future.

The iPhone SDK has hit GM for the 5.0 release and after this point there are no changes made to API's until the next major release (with some exceptions), based on the development cycles and the time inbetween software releases, it will be at least 3-5 months until the 5.1 beta's start getting seeded. Siri is not a small feature and will not be delivered to developers in a 5.0.x release, it will definitely be in a 5.x release for developers, which one is the question (to which I hope 5.1!)

Alec Fraser
5th October 2011, 09:40 AM
I don't think you can say "definitely" about anything when it comes to Apple. And my original comment still stands, they're still working out the kinks and they're not going to open up the API until most of those kinks are worked out. Same thing happened with AirPlay. Sure its irritating, but it's understandable.

ravage221
5th October 2011, 09:46 AM
True true.
I'm just a bit pissed off that we don't at least get access to a beta of it at the same time to start working it into our apps, we seem to get betas of everything else.
Oh well; ultimately I don't really care, as long as it doesn't create too much of an advantage to Apple in the app space and would much rather develop for iOS than Android or WP7.

dotnet
5th October 2011, 10:55 AM
One thing that worried me during the presentation (or what I could catch of it) was the absence of any mentioning of iMessage. I hope I just missed it and that they didn't can the feature.

Cheers
Steffen.

rav3n
5th October 2011, 11:20 AM
One thing that worried me during the presentation (or what I could catch of it) was the absence of any mentioning of iMessage. I hope I just missed it and that they didn't can the feature.

Cheers
Steffen.

you must have missed it, they mentioned imessage a few times when talking about the ipods

Steeley
5th October 2011, 11:21 AM
On my iPhone 3GS the GM seed still hasn't fixed the severe battery drain when iCloud bookmark syncing is turned on.

ravage221
5th October 2011, 01:13 PM
On my iPhone 3GS the GM seed still hasn't fixed the severe battery drain when iCloud bookmark syncing is turned on.

I haven't experienced this or heard of it before and I have a 3GS with Bookmark syncing on. Got any steps to reproduce?
Do you know if it has an open ticket?



One thing that worried me during the presentation (or what I could catch of it) was the absence of any mentioning of iMessage. I hope I just missed it and that they didn't can the feature.

As rav3n said, it was mentioned a few times offhandedly during the presentation.
Also, it is definitely still there in the GM on all of my devices - so fear not! In fact the round trip for messages with pictures/videos seems to be faster.

dotnet
5th October 2011, 01:20 PM
Ah, thanks for the confirmation re iMessage. This is an important thing to know when choosing a plan ;)

Cheers
Steffen.

The Fluffy Duck
5th October 2011, 03:41 PM
Chill guys, Siri will come to developers. They just need to show it off and rub it in Androids faces first!

---------- Post added at 03:41 PM ---------- Previous post was at 02:55 PM ----------

My biggest grip is the MultiTasking gestures I LOVED have disappeared in my iOS5 GM on my 1st gen iPad. Very angry!

grfxninja
5th October 2011, 08:12 PM
err… should there be a delta update to GM available on my phone (4) or do I need to download the old fashioned way?

rav3n
5th October 2011, 09:05 PM
Did they say if siri was iphone 4s exclusive? Hopefully it comes to the 4.


err… should there be a delta update to GM available on my phone (4) or do I need to download the old fashioned way?

Nope you need to download the whole ips and restore in itunes.

arlibie
5th October 2011, 09:17 PM
Did they say if siri was iphone 4s exclusive? Hopefully it comes to the 4.

I'm interested in this too. The Apple website seems to only mention Siri on the iPhone 4S feature page and only "on iPhone 4S". It also doesn't mention it on the iOS 5 page... I hope it comes to the iPhone 4 too!

bartron
5th October 2011, 09:38 PM
I'm interested in this too. The Apple website seems to only mention Siri on the iPhone 4S feature page and only "on iPhone 4S". It also doesn't mention it on the iOS 5 page... I hope it comes to the iPhone 4 too!

Maybe one day, but not today.

Gotta give people a reason to jailbreak.

grfxninja
5th October 2011, 09:43 PM
Nope you need to download the whole ips and restore in itunes.

Cheers

bennyling
5th October 2011, 10:19 PM
Siri is definitely 4S exclusive, check the comparison page:
Apple - iPhone - Compare (http://www.apple.com/iphone/compare-iphones/)

forno
6th October 2011, 06:43 AM
I have never seen the need fo JB, but if Siri works properly in Aus, I would jb for it

Stez
6th October 2011, 06:57 AM
Can't believe people are still waiting for iOS 5. I've been on it for months and if you took it off my iPad it would be a totally different machine in my eyes. Lock screen information, new notifications and tabs are the killer features that just make things so much easier.

I don't think they've fixed a big but I've encountered in the beta releases yet. Whenever you hold to open new tab in Safari sometimes the page doesn't load and the URL bar is blank. Is it just me who's experienced this?

leon
6th October 2011, 07:10 AM
I have never seen the need fo JB, but if Siri works properly in Aus, I would jb for it

I was reading this morning that it has been tried and was a failure. Hardware below A5 spec just can't handle it.

rav3n
6th October 2011, 07:17 AM
It would appear for now that siri is 4s exclusive see the update here (http://9to5mac.com/2011/10/05/lets-talk-siri-ios-app-is-a-goner-the-trouble-in-canada-siri-hacked-to-run-on-the-a4-driven-ios-devices/#more-97131). Interesting to see if the ipad 2 gets siri seing as hardware wise its pretty much identical to the 4s

Stez
6th October 2011, 07:40 AM
It would appear for now that siri is 4s exclusive see the update here (http://9to5mac.com/2011/10/05/lets-talk-siri-ios-app-is-a-goner-the-trouble-in-canada-siri-hacked-to-run-on-the-a4-driven-ios-devices/#more-97131). Interesting to see if the ipad 2 gets siri seing as hardware wise its pretty much identical to the 4s

I don't see what's so intensive about Siri that makes it not able to run on an iPhone 4, which is amazingly powerful. I don't see it coming to the iPad 2 because Siri is much better suited to a smartphone but I'd jailbreak to be able to.

mitty
6th October 2011, 08:06 AM
My biggest grip is the MultiTasking gestures I LOVED have disappeared in my iOS5 GM on my 1st gen iPad. Very angry!

Agreed. One would hope that via Jailbreak there will be a way to turn them back on. What's annoying is that on the ios5 page on the Apple website, it says those features are "for ipad" not "ipad 2". I'm really wondering if they've stuffed up by not having them available on the ipad 1.

ravage221
6th October 2011, 09:18 AM
From the DevForums:
http://img853.imageshack.us/img853/9646/screenshot20111006at100.png

This is the GM tho, and in all the build flags of the seed it is all set to release, not beta so this will become 5.0, Apple has only ever issued a different build on release day than the GM once and that was a security issue.
You will probably see gestures come back in 5.0.1, which will be out pretty quickly I think. There are a massive number of open tickets that are getting closed, however I think Apple might hold 5.0.1 until ChronicDev shows it's hand (they claim they have 5 userland exploits that still aren't patched).

---------- Post added at 10:18 AM ---------- Previous post was at 10:12 AM ----------


I don't see what's so intensive about Siri that makes it not able to run on an iPhone 4, which is amazingly powerful. I don't see it coming to the iPad 2 because Siri is much better suited to a smartphone but I'd jailbreak to be able to.

Just like the releases before it, Apple is trying to distinguish the model by stating it has additional features, when really it is just the software that it is running that is offering the features. While I am sure to some extent the A5 would improve the service, I would think it would still be possible to integrate into the iPhone 4. In terms of jailbreaking for it; that will be difficult. Apple won't include Siri in the iPhone 4 builds of iOS 5, so it isn't just as simple as flicking a setting and having it work. You would have to strip Siri from the 4S build and get it into the 4 build. Maybe Siri has some kernel level support going on in the iPhone 4S. If that is true then it would be almost impossible as kernels are built on a model by model basis.

skyhawkmatthew
8th October 2011, 09:02 PM
Were these buttons present previously?
http://db.tt/xxc13ofI

EDIT: I've ascertained they only show on tracks purchased from iTunes; and they're something to do with Ping: they're currently broken though.

ravage221
9th October 2011, 01:33 PM
I've ascertained they only show on tracks purchased from iTunes; and they're something to do with Ping: they're currently broken though.

They're for liking and commenting on songs in Ping.
Arrived in beta 2. Works for me, but it will not do anything if that artist doesn't have a Ping profile.

Robstevo
9th October 2011, 02:43 PM
Don't like the look of that to be honest, too many buttons showing just for controlling the music. What is the thumbs up for?

skyhawkmatthew
9th October 2011, 02:43 PM
To tell Ping that you like the song you're listening to. Why they can't just pull that from your star-ratings, who knows.