Hey iOS developers: you may want to head into your the iOS Dev Center on Apple's website, because the Cupertino-based firm just served up iOS 5 beta 4 for download. The new software carries the build number 9A5274d and, as usual, is available for the iPad, iPad 2, iPhone 3GS, iPhone 4, and third and fourth gen iPod touch. Also available is a new version of the iTunes 10.5 beta.
We've seen Apple slowly introducing iOS 5 features with each new beta build, like when Wi-Fi syncing was made available in beta 2. There's no word yet on what kind of goodies are packed into iOS 5 beta 4, but you can be sure we'll let you know more when we do. If you a registered iOS developer, get to downloading!
UPDATE: It seems that beta 4 is the first version of iOS 5 to support over the air updates. Those of you on beta 3 should be able to head into Settings, then General, and then Software Update and download beta 4 sans wires. Two things to note: first, not all beta 3 users are reporting problems when trying to download beta 4 OTA, although the consensus seems to be that the new software should pop up after a couple of tries. Second, installing iOS 5 beta four over the air will require you to re-sync your photos with iTunes after the install completes. The full iOS 5 beta 4 change log is available below, courtesy of BGR:
NOTES AND KNOWN ISSUES
The following issues relate to using the 5.0 SDK to develop code.
- When creating an iCloud account you can use any Apple ID provided it is a full email address and not a MobileMe account. If you have a MobileMe account, you can copy data from that account to an iCloud account to use during testing. You can find more information on iCloud at: http://developer.apple.com/icloud
- When setting up an iCloud or MobileMe account using the setup assistant and leaving Find My iPhone on, it might actually turn Find my iPhone off after the setup. Please verify in Settings/Mail, Contacts, Calendar/YourAccount that Find my iPhone is toggled On after leaving the setup assistant.
- It is recommended that you disable Bookmarks on multiple accounts. If they are enabled, the results might be undefined.
- FIXED: In this beta the option of “Choosing a security question” is not working during an iCloud account setup.
- Starting in iOS 5, video content in applications and websites are AirPlay-enabled by default.
- iOS 5 supports AirPlay of video via AV Foundation.
- Switching into AirPay Video while using mirroring will leave the screen black but the video is still playing.
- Apple TV Software beta enables users to mirror the contents of an iPad 2 to an Apple TV (2nd generation) using AirPlay. This beta 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.
- There is no new build for AppleTV for beta 4. Please continue using the build provided with beta 3.
- Using voice chat in iOS 5 requires setting the kAudioSessionMode_VoiceChat mode on the Audio Session, or setting the AVAudioSessionModeVoiceChat mode on the AVAudioSession object.
- All MobileMe calendars were duplicated after turning calendar syncing off and back on.
- FIXED: Restoring from a Seed 1 backup or earlier will cause MobileMe/iCloud calendars not to sync. Subscribed calendars will show up in Calendars but none of your event calendars will appear in MobileCal. To workaround the problem please remove and re-add the account.
- If SnowLeopard isn’t syncing your calendars on iOS device and you created a calendar or reminders list using a previous iOS 5.0 seed, change the name of that calendar or list on the iOS device and then let it sync.
- In this beta Birthday calendar is temporarily disabled for Web apps and Windows and will be available in a future release.
- NEW: In MobileMe local contacts are deleted instead of be being merged.
- In this beta Import/Export vCard is disabled from Action menu and will be available in future release.
- Match data for turn based matches is currently limited to 4 KB of data.
- When both Wifi and 3G are disabled (i.e. in Airplane mode) sometimes GameKit can cause the connection in a local Bluetooth match to fail.
- iBooks 1.2.2 may fail to display some text or images in books. Please update to iBooks 1.3 in the App Store.
- As this is beta software, it is recommended that you do not use the iCloud services to store any critical data or information. If you enable iCloud Backup, automatic backup with iTunes when syncing will be disabled. We suggest you also manually back up your device with iTunes. It is strongly advised you upgrade to this version of the iOS 5 beta in order to continue backing up your devices and preserve previous backups.
- During the iOS 5 beta period, any documents stored on the servers might be purged periodically before GM. Therefore, it is highly recommended that you do not store any critical documents or information on the servers.
- If your application is using the NSMetadataQuery class, you must set a predicate, even though the predicate itself is ignored.
- The Foundation framework doesn’t include the team ID when looking for an app’s mobile documents container. The Team ID must be included at the beginning of the identifier string passed to theURLForUbiquityContainerIdentifier: method.
- In this beta, the setSortDescriptors: method of NSMetadataQuery is not supported.
- In this beta, if you want to use iCloud, you have to manually specify various container identifiers (your application’s Display set) within an Entitlements file for both of your Mac OS X and iOS projects.
- There are issues using the Cloud Storage document API in conjunction with protected data which can lead to data corruption.
- In this beta, document-based applications cannot always detect when files change, move, or are deleted out from underneath them.
- NEW: In this beta, file presenters (objects that adopt the NSFilePresenter protocol) do not receive some of the messages that they’re supposed to receive, especially:
- You can workaround this by implementing the relinquishPresentedItemToWriter: method and checking to see if the writer actually wrote when your file presenter reacquires. You can also use FSEvents to observe file system changes
- In this beta, messages about changes to files in a directory are not getting delivered to objects that adopt the NSFilePresenter protocol.
- While reporting 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 their 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 for the bug report.
- NEW: File names in iCloud Storage are case sensitive.
- NEW: iMessage beta 1 will be unable to communicate with iMessage users on beta 2 or later.
- The version of iTunes that comes with beta 4 cannot sync devices that have the beta 2 software installed. To avoid this problem, do the following:
- Sync any devices that have beta 3 installed to the version of iTunes that came with beta 4.
- Upgrade iTunes to the version that comes with beta 4.
- Connect the device and install the beta 4 software. (Understand that you might see a failure to sync error when you first connect the device.)
- After installing the beta 4 software, restore from your the backup you made in step 1.
- Videos purchased from the iTunes Store do not play on a 2nd generation AppleTV over AirPlay with iTunes 10.5.
- NEW: The startMonitoringSignificantLocationChanges method of CLLocationManager does not cause applications to be resumed or launched in the background for significant location change updates. However, if a backup from a previous software version (where an application was monitoring significant location changes) is restored to the device, significant location change monitoring will continue to cause that application to be resumed or launched in the background.
- NEW: Forwarding a message with attachments included does not attach the file and the message compose screen does not change from “Loading….”
- NEW: Some songs are missing their album artwork after changing the device library via syncing.
- NEW: In iOS 5.0 beta 4, several OpenGL extensions have been moved from the APPLE namespace to the EXT namespace, causing some API to be renamed. The altered extensions are EXT_color_buffer_half_float,EXT_occlusion_query_boolean, EXT_separate_shader_objects, EXT_shadow_samplers, EXT_texture_rg, EXT_debug_label, and EXT_debug_marker.
OTA Software Update
- NEW: If you are doing a OTA software update from beta 3 to beta 4, you will need to re-sync your photos with iTunes.”
- NEW: In this beta iPhone 4 device cannot join personal hotspot even if it is on due to a non functional WiFi tethering on these devices.
- If you apply red-eye adjustments in iOS, and import your image into the iPhoto seed build, the red-eye adjustments will not appear on that image in iPhoto. As a result, subsequent syncing of your image back to the iOS device from iPhoto will not show the red-eye adjustments.
- FIXED: In this beta FaceTime icon is missing in Settings on the iPhones.
- NEW: Location services are not functional in iOS 4.3 simulator running on Mac OS 10.7 with Xcode 4.2.
- Push and local notifications for apps appear in the new Notification Center in iOS 5. Notification Center displays notifications that are considered “unread.” In order to accommodate push and local notifications that have no “unread” status, developers can use their application badge count to trigger a clearing of notifications from Notification Center. When an application clears its badge count (by setting it to zero), iOS 5 will clear its notifications from Notification Center.
- NEW: iOS 5.0 terminates VoIP applications that are resumed in the background for incoming network traffic with extreme frequency. Developers are encouraged to make sure all incoming data is read from VoIP sockets to avoid this condition.
- NEW: When tweeting your location from Safari and exiting before the location can be established, the location arrow will stay in the status bar. The arrow can be removed by killing Safari from the task switcher.
- NEW: Instruments overwrites the loaded automation script, even if another program is editing it.
- The play and record buttons in the Automation instrument script editor may not work properly after targeting an application that was launched by a trace session and has ended. They may also not work if you target an application that was suspended. If you run into this problem and it persists, you may need to close and reopen the trace document to get back into a functional state.
- When capturing actions into a script using the Automation instrument, interfaces with web views or table cells that contain a high number of off screen elements may take an extremely long time before returning with an expression.
- The lock() and unlock() functions of UIATarget have been replaced with the lockForDuration(<seconds>) function.
- FIXED:Instruments overwrites the loaded automation script, even if another program is editing it.
- Starting in iOS 5 beta 2, you can now trigger the execution of an 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>
- Starting in iOS 5 beta 3, the exclusiveTouch property of UIControl has returned to its original default value of NO.
- 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 return0.0 to hide a header.
- In the iOS 5 beta, the UITableView class has two methods to move one cell from one row to another with defined parameters. These APIs are:
- Using the UIWebView class in Interface Builder, setting transparent background color is possible in iOS 5. Developers compiling against the new SDK can check their XIB for the UIWebView transparent setting.
- In the iOS 5 beta, the UINavigationBar, UIToolbar, and UITabBar implementations have changed so that the drawRect: method is not called on instances of these classes 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 that 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.
- Touch events are not getting forwarded to the view in the cameraOverlayView property of UIImagePickerController.
- FIXED:When creating a new appointment in calendar app on a device using 24 hr clock, you cannot select an hour value greater than 12. The date-time picker value sets current weekday to be the same as previous day (e.g: a An appointment on Tuesday will be set as Monday).
- We have changed the behavior of scrollToRowAtIndexPath:atScrollPosition:animated: such that UITableViewScrollPositionTop and UITableViewScrollPositionBottom now adjust for the top and bottom portions of the contentInset property.
- 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 picked up a newer WebKit engine, which closely matches Safari 5.1. Some areas to be aware of with the new WebKit framework on iOS:
- 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> form field, which includes removing leading zeros and number formatting.
- Touch events are now supported on input fields.
- window.onerror is now supported.
- There is a new user agent that does not have locale information in the User Agent string.
- In iOS 5 beta 4, wireless syncing is now available on Windows as well as the Mac (requires 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.
- In some cases, your device may fail to sync contacts, calendars and account settings, or back up to iTunes. If this happens, reboot your device and re-sync.
- NEW: In some cases, syncing photos may result in only thumbnails on your device. If this happens, unsync Photos then re-sync again.
- When uninstalling iOS 5.0 SDK beta 2 or upgrading from iOS 5.0 SDK beta 2 your new install might be missing the /usr/lib/libsvn* files thus making some subversion functionality (such as the perl bindings and git-svn) unavailable.
- If your host machine is a Snow Leopard based, you can get these back by reinstalling BSD.pkg from your OS DVD, followed by a Combo Update to Mac OS X 10.6.8 or later.
- If your host machine is Lion based you will have to reinstall the OS.
- In this beta, device restores using Xcode are disabled. Please use iTunes only to back up and restore your device.
- In some cases, Xcode 4.2 Organizer does not display a device that is in restore mode. As a workaround you can use iTunes to restore.
- In iOS 5 beta 4, the iOS Simulator is not compatible with previous releases of the iCloud Developer Seed for OS X. It is highly recommended that you update to the latest iCloud Developer Seed to ensure compatibility.
- iOS 5.0 SDK supports both iOS 4.3 and iOS 5.0 simulators.