ã¿ã¤ã ã©ã¤ã³ã§ã¯ãã¤ã¾ããã¼ããAppleçµãã£ã¦ãããã¸ã§ããºãããã°ãããªãã¨ã«ã¯ã»ã»ã»ãã¨ããè½èã®å£°ãããããè¦ããã¾ãããã"iOS 10.0 API Diffs" ã "What's New in iOS" çã®ãã¬ãªãªã¼ã¹ããã¥ã¡ã³ããè¦ãã¨ä»åãæ°ããæ©è½ãæ°å¤ã追å ããã¦ãã¦ãå人çã«ã¯é常ã«ã¯ã¯ã¯ã¯ãã¦ããã¾ãã
以ä¸ãæ°ã«ãªã£ããã®ãåæãã¦ããã¾ãã
VoIP API / CallKit
BONXというVoIP通話するプロダクトを手伝っているé¢ä¿ã§ãIPé話ãã©ããªæãã§ã§ããããã«ãªãã®ãï¼ãµã¼ãã¼ã¯èªåã§ç¨æããã®ãã¨ãï¼ãé常ã«æ°ã«ãªãã¾ãã
"Speakerbox: Using CallKit to create a VoIP app" ã¨ããå
¬å¼ãµã³ãã«ãå
¬éããã¦ããã®ã§ãå¾ã§ã³ã¼ããè¦ã¦ã¿ããã¨æãã¾ãã
SiriKit / Intents / IntentsUI
ã¤ãã«Siriã®APIãéçºè ã«éæ¾ããã¾ãããWhat's New in iOS ã§ãä¸çªä¸ã«æ¸ããã¦ããã®ã§ãAppleã¨ãã¦ã iOS 10 ã®ç®çã¨èãã¦ããã®ã§ã¯ãªãã§ããããã
SiriKit ã¨ãããã¬ã¼ã ã¯ã¼ã¯ãããããã§ã¯ãªãã¦ãIntents / Intents UI ã¨ãããã¬ã¼ã ã¯ã¼ã¯ããã®å®ä½ã¨ãªãããã§ãã以ä¸ã®6ã¤ã®ãã¡ã¤ã³ããµãã¼ããããã¨ã®ãã¨ã
- Audio or video calling
- Messaging
- Sending or receiving payments
- Searching photos
- Booking a ride
- Managing workouts
ããã ãè¦ã¦ãä½ãã©ããªæãã§ã©ãã¾ã§ã§ããã®ããå
¨ç¶ãã³ã¨æ¥ãªãã®ã§ãå¾ã»ã©ä»¥ä¸ã®å
¬å¼ãµã³ãã«ã試ãã¦ã¿ã¾ãã
- IntentHandling: Using the Intents framework to handle custom Siri request
- UnicornChat: Extending Your Apps with SiriKit
é³å£°èªèAPI / Speech
SiriKitã¨ã¯å¥ã«ãé³å£°èªèã®APIã追å ããã¾ããããªã¢ã«ã¿ã¤ã é³å£°ã«ããé²é³æ¸ã¿é³å£°ã«ã使ããããã§ãã
let recognizer = SFSpeechRecognizer() let request = SFSpeechURLRecognitionRequest(url: audioFileURL) recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in print (result?.bestTranscription.formattedString) })
"SpeakToMe: Using Speech Recognition with AVAudioEngine" ã¨ããå
¬å¼ãµã³ãã«ãå
¬éããã¦ããã®ã§ãããã«è©¦ãã¾ããSFSpeechRecognizerã®åæåæã« Locale ã渡ããããã«ãªã£ã¦ã¾ãããæ¥æ¬èªããããã®ã§ããããï¼ãã¨ã§ãã£ã¦ã¿ã¾ãï¼
private let speechRecognizer = SFSpeechRecognizer(locale: Locale(localeIdentifier: "en-US"))!
ï¼2016.6.15追è¨ï¼å®éã«è§¦ã£ã¦ã¿ã¦è¨äºãæ¸ãã¾ããï¼
AVFoundation
AVCapturePhotoOutput
AVFoudationã§åçãæ®ãéã«ä½¿ç¨ãã¦ãã AVCaptureStillImageOutput ã deprecated ã«ãªããiOS 10 ã§ã¯ AVCapturePhotoOutput ã¨ããæ°ã¯ã©ã¹ã使ãããã§ãããã¹ã¦ã®åçã¯ã¼ã¯ããã¼ã«unifiedãªãã¤ãã©ã¤ã³ãæä¾ãããã¨ã®ãã¨ã§ããã«ã¡ã©ã«è©³ããããã§ããªãã®ã§ä½¿ã£ã¦ã¿ãªãã¨ããããªãã®ã§ãããAddedãªAPIãè¦ã¦ããã¨ãLive Photo æ®å½±æ©è½ãéçºè ã«éæ¾ããã¦ããã¨ãè²ã ã¨ã§ãããã¨ãå¢ãã¦ããã§ãã
AVCapturePhotoCaptureDelegate.capture(_: AVCapturePhotoOutput, didFinishProcessingLivePhotoToMovieFileAt: URL, duration: CMTime, photoDisplay: CMTime, resolvedSettings: AVCaptureResolvedPhotoSettings, error: NSError?) AVCapturePhotoCaptureDelegate.capture(_: AVCapturePhotoOutput, didFinishRecordingLivePhotoMovieForEventualFileAt: URL, resolvedSettings: AVCaptureResolvedPhotoSettings) AVCapturePhotoOutput.isLivePhotoAutoTrimmingEnabled AVCapturePhotoOutput.isLivePhotoCaptureEnabled AVCapturePhotoOutput.isLivePhotoCaptureSupported AVCapturePhotoOutput.isLivePhotoCaptureSuspended AVCapturePhotoSettings.livePhotoMovieFileURL AVCapturePhotoSettings.livePhotoMovieMetadata AVCaptureResolvedPhotoSettings.livePhotoMovieDimensions
AVPlayerLooper
ã¡ãã£ã¢ï¼ãªã¼ãã£ãªã»ãããªã®ãã¨ã ã¨æãããï¼ã®ç¹å®ç®æãç°¡åã«ã«ã¼ããããããã¯ã©ã¹ãã¨ã®ãã¨ã
Messages
é·ã ã¨ãã¼ãã¼ãã§ç´¹ä»ãããMessagesã¢ããªã®æ°æ©è½ãã使ã£ã¦ãªãããããã¨ãã声ãå¤ãã¿ã¤ã ã©ã¤ã³ã§è¦ããã¾ãããããMessagesã¨ãããã¬ã¼ã ã¯ã¼ã¯ã追å ãããéçºè ãã§ãããã¨ãä½ããå¢ããããã§ãã
What's New ã«ããã¨ãApp Extensionãã¤ãã£ã¦Messagesã¢ããªã¨èªåã®ã¢ããªãé£æºãããããããã§ããã¤ãããApp Extensionã¯ä»¥ä¸ã®2種é¡ï¼
- ã¹ããã«ã¼ããã¯ï¼ã¦ã¼ã¶ã¼ãMessagesã§ä½¿ããã¨ãã§ããï¼
- Messageså ã§ä½¿ããã«ã¹ã¿ã UIï¼iMessage appã¨å¼ã¶ï¼
"Ice Cream Builder: A simple Messages app extension" ã¨ããå
¬å¼ãµã³ãã«ãå
¬éããã¦ãã¾ãããã¨リファレンスãããã¨è¦ã§ããããã°ã©ãã³ã°ã¬ã¤ãçã«ããããããæ¸ããã¦ããã§ããã
Core Image
ãã¼ãã¼ãã§ã®Photosã®è©±ã®ä¸ã§ãé¡ã ããããªãã¦ãä¹é¦¬ãã¿ãããªã·ã¼ã³ãèªèããããã«ãªã£ããã¨ãã話ããã£ã¦ãCIDetector, CIFeatureã«ããã®ã¸ã追å ããã¦ãã®ããªã¨æã£ãã API Diffs ã«ã¯æ®å¿µãªããããããå¤æ´ãè¦å½ããã¾ããã§ããã
ãã£ã«ã¿ã¯ä»¥ä¸ã®5ã¤ã追å ãããã¨ã®ãã¨ãã¢ãããµã³ããªã³ã°ãã£ã«ã¿ã¯ã¡ãã£ã¨è©¦ãã¦ã¿ããã
- CINinePartTiled
- CINinePartStretched
- CIHueSaturationValueGradient
- CIEdgePreserveUpsampleFilter
- CIClamp
åã¯ä¸ç¼ã¬ãã¦ã¼ã¶ã§ã¯ãªãã®ã§ä½¿ããªããã§ãããRAWç»åãæ±ããããã«ãªã£ãã¨ã®ãã¨ã
RAW image file support is now available on iOS devices that use the A8 or A9 CPU. Core Image can decode RAW images produced by several third-party cameras as well as images produced by the iSight camera of supported iOS devices (to learn more, see AVFoundation). To process RAW images, use filterWithImageData:options: or filterWithImageURL:options: to create a CIFilter object, adjust RAW processing options with the keys listed in RAW Image Options, and read the processed image from the filterâs outputImage property.
ãã¨ã`imageWithExtent:processorDescription:argumentDigest:inputFormat:outputFormat:options:roiCallback:processor:` ã¨ããã¡ã½ãããä½ãéè¦ãããªã®ã§ãããç解ã«èªä¿¡ããªãã®ã§WWDCã®ã»ãã·ã§ã³è¦ã¦ããã³ã¡ã³ããã¾ãã
You can now insert custom processing into a Core Image filter graph by using the imageWithExtent:processorDescription:argumentDigest:inputFormat:outputFormat:options:roiCallback:processor: method. This method adds a callback block that Core Image invokes in between filters when processing an image for display or output; in the block, you can access the pixel buffers or Metal textures containing the current state of the processed image and apply your own image processing algorithms.
MapKit
Addedã¯ä»¥ä¸ã®3ã¤ã ãã
MKAnnotationView.init(coder: NSCoder) NSUserActivity.mapItem MKLaunchOptionsDirectionsModeDefault
ãã¼ãã¼ãã§ã¯Mapã¢ããªã®æ°æ©è½ã®è©±ããã£ãã®ã«ãããã ãï¼ã¨ä¸ç¬æãã¾ããããNSUserActivity ã«è¿½å ããã `mapItem` ã¨ããããããã£ãéè¦ã£ã½ãã§ããWhat's New ã® Proactive Suggestions ã®é ã«ä»¥ä¸ã®ããã«è§£èª¬ããã¦ãã¾ãã
In iOS 10, the NSUserActivity object includes the mapItem property, which lets you provide location information that can be used in other contexts. For example, if your app displays hotel reviews, you can use the mapItem property to hold the location of the hotel the user is viewing so that when the user switches to a travel planning app, that hotelâs location is automatically available. And if you support app search, you can use the new text-based address component properties in CSSearchableItemAttributeSet, such as thoroughfare and postalCode, to fully specify locations to which the user may want to go. Note that when you use the mapItem property, the system automatically populates the contentAttributeSet property, too.
ãã¼ãã¼ãã§è©±ãã¦ãæ©è½ã¨é¢é£ãããã¨ã ã¨ã¯æãã¾ãããæ£ç´ãããèªåã§è©¦ãã¦ã¿ãªãã¨ããããããªããã
Core Bluetooth
ããç¨åº¦æ¯ãã¦ãã®ã§ãã¼ãçã«Bluetooth 5.0ããµãã¼ããããã¨ãããªãéãã¯ãããªã«å¤æ´ãªãããªã¨æã£ã¦ã¾ãããããã¯ããããªã«å¤§ããªå¤æ´ã¯ããã¾ããã§ããã
主ãªå¤æ´ç¹ã¨ãã¦ã¯ã
CBCentralManager.state CBPeripheralManager.state
ããªããªã£ã¦ã代ããã«ãããã®ç¶æ ã管çããã¯ã©ã¹ CBManager ã¨ããã®ã追å ããããã¨ããç¹ã§ããBluetoothã®ç¶æ ããã®ã¯ã©ã¹ããåãããã«ãªã£ããã¨ããã ããã¨ã
CBManager.state
CBManagerState [enum]
CBManagerState.poweredOff
CBManagerState.poweredOn
CBManagerState.resetting
CBManagerState.unauthorized
CBManagerState.unknown
CBManagerState.unsupported
ã¾ããCBCentralManager 㨠CBPeripheralManager ã«å¼æ°ãªãã®åæåã¡ã½ããã追å ããã¾ããã
CBCentralManager.init() CBPeripheralManager.init()
ãã¨ããã£ã©ã¯ã¿ãªã¹ãã£ãã¯ã®Valueã®æå¹ç¯å²ãæå®ãã Descriptor ã® UUID ã示ãå®æ°ã追å ããã¦ãã¾ãã
CBUUIDCharacteristicValidRangeString
ï¼Valid Range ãã£ã¹ã¯ãªãã¿ã®ããã¥ã¡ã³ãï¼
Core Motion
Significant Elevation ã¾ããã®APIã追å ããã¦ãã¦ãï¼Core Locationã®ï¼Significant Location ã®ããã«ããã¯ã°ã©ã¦ã³ãã§ããããªã¼ãç¯ç´ãã¤ã¤å¤§ã¾ããªé«åº¦ã®å¤åãåãããããªæãã«ãªã£ãã®ããªã¨ã
CMAltimeter.isSignificantElevationAvailable() -> Bool [class] CMAltimeter.querySignificantElevationChange(from: Date, to: Date, withHandler: CoreMotion.CMSignificantElevationSampleHandler) CMAltimeter.startSignificantElevationUpdates(handler: CoreMotion.CMSignificantElevationSampleHandler) CMAltimeter.stopSignificantElevationUpdates() CMSignificantElevationSample CMSignificantElevationSample.elevationAscended CMSignificantElevationSample.elevationDescended CMSignificantElevationSample.endDate CMSignificantElevationSample.startDate CMSignificantElevationSampleHandler
æ°App Extension
å人çã«ã¯Extensionã¯å ¨ç¶ã¤ãã£ã¦ãªãã®ã§ããããéçºè ãã§ãããã¨ãã¨ãã¦ã¯éè¦ãªã®ã§ãä½ã追å ããã¦ä½ãã§ããããã«ãªã£ãã®ããã¯ãããã¦ããããã¨æã£ã¦ãã¾ãã
iOS 10 ã§ã¯ä»¥ä¸ã® Extension Points ã追å ã«ãªã£ãããã§ãã
- Call Directory
- Intents
- Intents UI
- Messages
- Notification Content
- Notification Service
- Sticker Pack
ãã¨ããµã¼ããã¼ãã£è£½ã®ãã¼ãã¼ãã®Extensionãå¼·åãããã¨ã®ãã¨ã
ãã¨ã§è¦ã
Proactive Suggestions
ããããè³¢ããªã£ãããã¨ãã話ã£ã½ãããWhat's New ã§é·ãã«æ¸ããã¦ãã¦ãé¢é£ãã¬ã¼ã ã¯ã¼ã¯ã»ã¯ã©ã¹ãå¤ãã®ã§å¾ã§èªãã
UserNotifications / UserNotificationsUI / VideoSubscriberAccount
æ°ãã¬ã¼ã ã¯ã¼ã¯ã ãã©ãååçã«ã¯å¿
è¦ã«ãªã£ãã¨ãã«è¦ãã°ããããªãã¨æãã®ã§ã¾ãå¾ã»ã©ã
ãã®ä»ããã¾ãå¤æ´ããªãã£ããã¬ã¼ã ã¯ã¼ã¯
ããã«æ¸ãã以å¤ã«ãããããããã¾ãããAPI Diffsã§ãã¼ã¸ãéãã¦è¦ããã®ã®ä¸ã§ã追å APIããªãã£ãããããã¯ãã»ã¨ãã©ããªãã£ããã®ãã¾ã¨ãã¦ããã¾ãã
以ä¸ã¯AddedãªAPIãªãã
- AudioUnit
- CoreLocation
- CoreAudioKit
- ExternalAccessory
- OpenAL
- MultipeerConnectivity
- HealthKitUI
以ä¸ã¯ã»ã¨ãã©Addedãªãããããã¯æ°ã«ãªãå¤æ´ããªãã£ãã
- AVKit
- CoreAudio
- OpenGLES
watchOS 3 ã®æ°æ©è½
éãå¤ãã®ã§ãå¥è¨äºã¨ãã¦ã¾ã¨ãã¾ãããå人çã«ã¯æ¹åãã¦æ¬²ããã£ãã¨ãããã¡ããã¨æ¹åããã¦ã¦å¥½å°è±¡ã§ãã