Apple ปล่อย iOS 8.2 beta 4 ให้นักพัฒนาได้ทดสอบแล้ว การเปลี่ยนแปลงหลักๆ คือ ให้สามารถเชื่อมต่อ Bluetooth เข้ากับ Apple Watch ที่กำลังจะเปิดขายในต้นปีนี้
นักพัฒนาสามารถดาวน์โหลด iOS 8.2 beta ได้ที่ Dev Portal หรือหากว่าติดตั้ง beta 3 อยู่สามารถที่จะสั่งอัปเดตผ่าน OTA ได้เลยเช่นกัน
รายละเอียดการเปลี่ยนแปลงใน iOS 8.2 beta 4 ทั้งหมด
Bug Reporting
For issues not mentioned in the Notes and Known Issues section, please file bugs through the Apple Developer website (https://developer.apple.com/bug-reporting/ios/). Additionally, you may discuss these issues and iOS SDK 8.2 in the Apple Developer Forums: http://devforums.apple.com. To get more information about iCloud for Developers, go to http://developer.apple.com/icloud.
Notes and Known Issues
The following issues relate to using iOS SDK 8.2 to develop code.
App Extensions
Notes
App extensions need an arm64 slice to run on 64-bit devices. If you try to run the armv7 slice on a 64-bit device it won’t work.
Apps need to have an arm64 slice if the bundle contains a framework that both the app and the app extension link against.
Calendar
Known Issue
3rd party calendar sync does not work in this beta.
CloudKit
Note
A single
CKAsset
instance can no longer be set as a value on multiple CKRecords.Document Providers
Notes
Your app needs the iCloud entitlement to be able to be used as a document provider.
The
com.apple.developer.icloud-container-identifiers
entitlement is required.Known Issues
After rotating the document picker to landscape, the status bar is hidden.
Upon bringing up the document picker in landscape, the containing view may be shifted beneath the navigation bar.
File System
Note
The file system layout of app containers has changed on disk. Rather than relying on hard-coded directory structure, use the
NSSearchPathForDirectoriesInDomains
function or theURLForDirectory:inDomain:appropriateForURL:create:error:
method of theNSFileManager
class. See Accessing Files and Directories in File System Programming Guide.Fonts
Note
The Thai system font has increased in size to improve readability. This will cause clipping in many places in your UI if you don’t take appropriate action:
Use
UILabel
as much as possible. If you use Interface Builder, make sure that Clip Subviews is not checked. UIKit will grow the clipping region as necessary to not clip text.Use Dynamic Type. This will ensure that you do not have overlapping glyphs in multiline labels or text fields.
If you can’t do 1 and 2 because you implement your own views, you must implement measures not to clip. You can use CoreText to figure out the appropriate clipping region for a line of text by calling:
CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);To avoid overlapping glyphs in multiline text elements, adjust the line height. An additional 30% is recommended.
This measure will also help your app perform better in other languages, including Arabic, Hindi, and Vietnamese.
HealthKit
Note
HKUserPreferenceDidChangeNotification
has been renamedHKUserPreferencesUpdatedNotification
.iCloud
Note
Mail handoff and AirDrop may stop working after changing your iCloud password at appleid.apple.com.
Workaround: Sign out and back into iCloud on the device.
iCloud Drive
Note
URLForUbiquityContainerIdentifier:
might returnnil
when running your application in Xcode. If so, open System Preferences, navigate to iCloud > iCloud Drive, and enable Xcode.Music
Known Issue
Music playback from iTunes in the Cloud does not work in this beta.
Notification Center
Note
The schedule and intended use of
widgetPerformUpdateWithCompletionHandler:
is intended as a convenient home for all data/model update logic. If implemented, the system will call at opportune times for the widget to update its state, both when Notification Center is visible, as well as in the background. An implementation is required to enable background updates. It’s expected that the widget will perform the work to update asynchronously and off the main thread as much as possible. Widgets should call the argument block when the work is complete, passing the appropriateNCUpdateResult
. Widgets should NOT block returning fromviewWillAppear:
on the results of this operation. Instead, widgets should load cached state inviewWillAppear:
in order to match the state of the view from the lastviewWillDisappear:
, then transition smoothly to the new data when it arrives.NSURLSession
Note
The
NSURLSessionTask
class provides a new “priority” property with three associated constants:NSURLSessionTaskPriorityDefault
,NSURLSessionTaskPriorityLow
, andNSURLSessionTaskPriorityHigh
.NSURLSessionTask
priorities can be used to specify how multiple requests and responses to the same host should be prioritized. Note that the priority is a hint and not a strict guarantee ofNSURLSessionTask
performance.For complete usage details of
NSURLSessionTask
priorities, refer to theNSURLSession.h
header file, which is provided by the Foundation framework.Phone
Note
To activate Wi-Fi Calling functionality for T-Mobile (U.S. only), follow these steps:
Go to Settings > Phone > Wi-Fi Calling.
Toggle the Wi-Fi Calling switch to ON.
If the carrier does not have the user’s registered emergency address, you will be asked to add it before the feature is activated.
Photos
Notes
Maintain a backup of your photo library before enabling and while using iCloud Photo Library beta by:
Importing to your Mac using iPhoto
Importing to your Mac using Image Capture
iCloud Photo Library beta will not download photos and videos that were synced to your device from iTunes. Any photos and videos synced to your device from iTunes will be removed when you enable iCloud Photo Library beta.
iPhoto for iOS will not launch on iOS 8 beta. Launching Photos.app will migrate your iPhoto edits to the iOS 8 Photo Library. Make sure your iPhoto for iOS data is included in your device backup.
The ability to automatically optimize device space is enabled for all accounts larger than 5GB.
When using iCloud Family Sharing, both iCloud Photo Sharing and My Photo Stream are enabled.
UIKit
Notes
UILabel
has a default value of YES forclipsToBounds
. This differs from the normalUIView
default of NO.The
leftLayoutGuide
andrightLayoutGuide
APIs have been removed. Please use thelayoutMargins
property instead.WatchKit
Notes
The
WKInterfaceMap
API has changed. Specifically,setMapRect:
andsetCoordinateRegion:
have been replaced bysetVisibleMapRect:
andsetRegion:
respectively.The
WKInterfaceController
methodinitWithContext:
has been deprecated. Please useawakeWithContext:
instead. The designated initializer forWKInterfaceController
is nowinit
.The
WKInterfaceDevice
API has changed. Specifically,addCachedImage:name:
andaddCachedImageWithData:name:
now returnBOOL
to indicate the success or failure of adding an image to the cache. Note that these methods return NO if the cache size has reached its limit. Delete images from the cache by callingremoveCachedImageWithName:
orremoveAllCachedImages
.A page-based WatchKit app can dynamically resequence the pages at the root level using
reloadRootControllersWithNames:contexts:
.Rows in a
WKInterfaceTable
now have a default appearance. This appearance can be overridden by specifying the values for background color, margin, corner radius, and height for the row in Interface Builder.The method
setColor:
onWKInterfaceButton
has changed tosetBackgroundColor:
.Known Issues
Inserting, deleting, or updating rows of a
WKInterfaceTable
may cause the table to temporarily size incorrectly. Scrolling your interface controller should restore the table to the proper size.
SecRequestSharedWebCredential
API calls will always give a -909 Autofill disabled error.
WKInterfaceSwitch
does not reflect the color you set usingsetColor:
.Wi-Fi Calling (T-Mobile US only)
Note
The carrier name in the status bar will show “T-Mobile Wi-Fi” when the device is able to make and receive Wi-Fi calls.
จากเท่าที่ทดสอบใช้งานนั้นพบว่าเพลงใน Musics ที่ซื้อจาก iTunes Store นั้นจะเล่นได้สักพักแล้วหยุดซึ่งทาง Apple ได้แจ้งเอาไว้ให้ทราบข้างบนแล้ว ส่วนเรื่องของประสิทธิภาพนั้นไม่ได้มีการกล่าวถึงว่าทำงานได้เร็วขึ้นมากน้อยแต่อย่างใด
กำหนดการเปล่า iOS 8.2 นั้นยังไม่กำหนดแต่คาดว่าจะราวๆ ปลายเดือนกุมภาพันธ์หรือต้นเดือนมีนาคมที่จะถึงนี้