07/09/2018, 17:53

[iOS 11] What's New for Developer ?

iOS 11 đã được release bản public vào rạng sáng nay giờ Việt Nam (September 20, 2017) . Chúng ta sẽ cần phải điểm qua một lượt những tính năng mới và cập nhập trong phiên bản này. General Hỗ trợ thư viện barcodes (New) Thêm mới các APIs trong AV Foundation , Core Image , và SiriKit ...

iOS 11 đã được release bản public vào rạng sáng nay giờ Việt Nam (September 20, 2017) . Chúng ta sẽ cần phải điểm qua một lượt những tính năng mới và cập nhập trong phiên bản này.

General

  1. Hỗ trợ thư viện barcodes (New)
    • Thêm mới các APIs trong AV Foundation, Core Image, và SiriKit để hỗ trợ detection, decoding và creation của barcodes với nội dung nhị phân
    • Thêm đối tượng mô tả barcode, CIBarcodeDescriptor tới Core Image để cung cấp khả năng tương tác với AV Foundation và các Vision API
  2. MusicKit (New)
    • Có thể truy cập vào Apple Music catalog, và user’s library.
    • Thêm mới và cập nhập một số chức năng trong StoreKit để lấy được client tokens và storefront identifiers.
    • Thêm mới và cập nhập một số chức năng trong Media Player để cho phép phát lại music .
    • Thêm mới hiển thị thông báo tùy chỉnh trong luồng thiết lập thuê bao của Apple Music.

App Frameworks

  1. Hỗ trợ kéo thả (New) : Kéo và thả trong iOS cho phép người dùng kéo các mục từ vị trí này đến vị trí khác trên màn hình, trong một ứng dụng hoặc trong các ứng dụng khác nhau.
    • Thêm chức năng để xác định đâu là nguồn cũng như là các điểm sẽ kéo đến.
    • Thêm các bản xem trước có thể tuỳ chỉnh và hình động.
      Bạn có thể tìm hiểu thêm về Drag and Drop trong tài liệu.
  2. Duyệt các tài liệu cục bộ và iCloud (New)
    • Thêm trình điều khiển chế độ xem cho tài liệu duyệt được lưu trữ locally và iCloud : UIDocumentBrowserViewController và UIDocumentBrowserTransitionController
    • Thêm UIDocumentBrowserAction, đây là một đối tượng để tạo một hành động cho document browser
    • Thêm FileProvider và FileProviderUI frameworks để thêm các dịch vụ lưu trữ từ bên thứ ba (third party)
      Bạn có tìm hiểu nhiều hơn từ Adding a Document Browser to Your App
  3. Nâng cao hỗ trợ Dynamic Type
    • Thêm UIFontMetrics, một đối tượng để tạo các phông chữ tuỳ chỉnh dựa trên kích thước văn bản đang được chọn.
    • Cập nhật Auto Layout để tự động điều chỉnh khoảng cách dựa trên kích thước phông chữ khi một đường viền đường cơ sở là một phần của một ràng buộc (constraint) sử dụng khoảng cách hệ thống.
    • Thêm thuộc tính để bảo vệ dự liệu vector cho PDF assets để cho phép mở rộng mượt mà. Bạn có thể sử dụng thuộc tính này để hiển thị một phiên bản lớn hơn với bar items và segmented control items. Để kích hoạt tính năng mở rộng trong PDF, trong danh mục Attributes inspector, chọn "Preserve vector data".
    • Thêm UIAccessibilityContentSizeCategoryImageAdjusting, một giao thức để chia tỉ lệ hình ảnh cho kích thước văn bản.
  4. Nâng cao Auto Layout hỗ trợ Dynamic Type
    • Cập nhập NSLayoutXAxisAnchor và NSLayoutYAxisAnchor để cung cấp các phương pháp tạo ra các constraint sử dụng khoảng cách giữa 2 điểm cố định. Trước đây, cách duy nhất để tạo một constraint như vậy là với dấu gạch ngang (-) trong Visual Format Language
    • Thêm tuỳ chọn NSLayoutFormatOptions để tạo ra một chuỗi Visual Format Language sử dụng khoảng cách giữa đường gốc và đường cơ sở.
    • Cập nhập UIStackView cho phép sử dụng system spacing và customized spacing.
  5. Cập nhập nội dung văn bản để làm việc với ứng dụng tự động điền mật khẩu
    • Thêm username và password vào UITextContentType
  6. Thêm primaryEdge, một thuộc tính của UISplitViewController để điều khiển master viewcontroller.
  7. Thêm sectionInsetReference, một thuộc tính enum mới của UICollectionViewFlowLayout , xác định ranh giới được sử dụng cho section insets.
  8. Cập nhập Keyboard extensions :
    • Thêm selectedText, một thuộc tính của UITextDocumentProxy sẽ trả về text đang được chọn trong tài liệu.
    • Thêm documentIdentifier, một thuộc tính của UITextDocumentProxy xác định liệu người dùng có đang điều hướng tới một tiện ích (widget) văn bản mới không.
    • Thêm hasFullAccess, một thuộc tính của UIInputViewController kiểm tra quyền của bàn phím.
    • Thêm needsInputModeSwitchKey, một thuộc tính của UIInputViewController để kiểm soát việc hiển thị phím chuyển đổi input-mode.
    • Thêm mới quyền hệ thống trong Setting để truy cập ứng dụng và các tiện ích mở rộng của keyboard extensions
  9. Nâng cấp API cho không gian lưu trữ
    • Thêm mới các key tới URL cho các kịch bản khác nhau :
      • volumeAvailableCapacityForImportantUsageKey trả về tổng số byte có sẵn cho một tính toán được yêu cầu rõ ràng từ người dùng hoặc cần thiết để hoạt động của ứng dụng.
      • volumeAvailableCapacityForOpportunisticUsageKey trả về tổng số byte có sẵn để lưu trữ các mục không cần thiết, chẳng hạn như nội dung được tải xuống để có hiệu suất mà người sử dụng có thể hoặc không thể sử dụng.

Graphics and Games

  1. Hỗ trợ Augmented reality (AR) (New)
    • Thêm mới ARKit framework, kết hợp theo dõi chuyển động thiết bị, camera chụp bối cảnh, xử lý bối cảnh tiên tiến và tiện ích hiển thị để đơn giản hoá nhiệm vụ xây dựng trải nghiệm AR.
  2. Phân thích hình ảnh hiệu suất cao. (New)
    • Thêm mới Vision framework, để phân tích khuôn mặt, mã vạch, văn bản, đường chân trời của hình ảnh và các khu vực hình chữ nhật.
    • Hỗ trợ tích hợp Vison framework với Core ML để chạy mô hình tuỳ chỉnh trên hình ảnh.
    • Thêm tính năng theo dõi đối tượng trong video.
    • Hỗ trợ thêm việc đăng kí hình ảnh (image registration).
  3. Khả năng tuỳ chỉnh để tạo ra các blending kernel cho Core Image. (New)
    • Thêm CIBlendKernel, một kiểu đặc biệt của CIColorKernel đểt trộn 2 hình ảnh (hỗ trợ bơi CIRenderDestination và CIImageAccumulator)
    • Thêm init(functionName:fromMetalLibraryData:) vào CIKernel để viết các kernel bằng cách sử dụng Metal để hưởng lợi từ các tính năng ngôn ngữ được cải thiện và thời gian biên dịch giảm.
  4. Mở rộng ReplayKit framework
    • Cập nhập RPScreenRecorder để chụp màn hình và hỗ trợ quay trở lại camera.
  5. Thêm mới các bộ lọc trong Core Image : CITextImageGenerator, CIColorCurves, CILabDeltaE, CIBokehBlur, CIMinMaxRed, và CIBicubicScaleTransform.

App Services

  1. Hỗ trợ machine learning
    • Thêm mới Core ML framework, để dễ dàng tích hợp mô hình máy học vào các ứng dụng.
  2. SiriKit hỗ trợ visual codes
    • Thêm Visual Codes domain, SiriKit hỗ trợ hiển thị các mã hình ảnh để trao đổi thông tin thanh toán và liên lạc.
  3. SiriKit hỗ trỡ notes và to-do lists
    • Thêm Lists and Notes, SiriKit hỗ trợ Siri để thêm ghi chú, tương tác với dánh sách việc cần làm và tương tác với lời nhắc nhở (reminders).
  4. Thêm một số mục vào SiriKit domains
    • Thêm việc huỷ bỏ đặt xe và phản hồi đến Ride Booking domain.
    • Thêm chuyển tiền và tìm kiếm tài khoản cho Payments domain.
  5. Tìm kiếm tiêu đề (heading) của thiết bị
    • Thêm heading vào CMDeviceMotion, một thuộc tính trả về vị trí cạnh của tiêu đề. Giá trị trả về là degrees kiểu double.
  6. Multipath TCP
    • Thêm hỗ trợ sử dụng nhiều giao diện, như Wi-Fi và di động, để truyền một luồng dữ liệu duy nhất, bằng cách mở rộng URLSessionConfiguration để hỗ trợ Multipath TCP như được định nghĩa trong IETF RFC 6824. Xem URLSessionConfiguration.MultipathServiceType.
  7. DNS Proxy
    • Thêm mới một ứng dụng DNS Proxy mở rộng vào Network Extension framework.
  8. Apple Pay
    • Thêm PKPaymentError và PassKit, cấu trúc để báo cáo chi tiết các sai sót trong thông tin vận chuyển và thanh toán của người dùng và cho các lỗi permission. Chúng ta có thể sử dụng thông tin này để tùy chỉnh thông báo lỗi.
    • Cập nhật các phương pháp xử lý trong PKPaymentAuthorizationControllerDelegate để nhận một PKPaymentError.
    • Cập nhật PKPaymentRequest để sử dụng PKContactField để biết thông tin liên lạc.
    • Thêm supportedCountries vào trong PKPaymentRequest để xác định các quốc gia được hỗ trợ giao dịch.
  9. Promoting in-app purchase
    • Chúng ta có thể quảng bá tối đa 20 lượt mua hàng trong ứng dụng trên trang sản phẩm App Store. Khách hàng có thể bắt đầu mua trên App Store, và sau đó được đưa đến ứng dụng để hoàn tất giao dịch.
    • Thêm paymentQueue (: shouldAddStore: for :), một phương thức mới của SKPaymentTransactionObserver cho việc mua hàng trong ứng dụng được quảng cáo.
  10. Live messages
    • Thêm mới MSMessageLiveLayout, một message layout để hiển thị live messages với nội dung động. Mỗi một live message sử dụng riêng một MSMessagesAppViewController và có thể có nhiều live message hoạt động trên màn hình cùng một lúc.
  11. Nâng cấp HomeKit
    • Tăng cường các điều kiện dựa trên thời gian. HMSignificantTimeEvent chỉ định thời gian mặt trời mọc và hoàng hôn. HMCalendarEvent chỉ định một ngày và thời gian. HMDurationEvent chỉ định một khoảng thời gian.
    • Thêm HMCharacteristicThresholdRangeEvent để hỗ trợ theo dõi trạng thái của phụ kiện trong phạm vi nào đó, chẳng hạn như chạy một hành động khi nhiệt độ từ 68 đến 72 độ.
    • Thêm HMPresenceEvent để thêm điều kiện dựa trên sự hiện diện có hoặc không có người dùng.
    • Cập nhật HMEventTrigger để cho phép các sự kiện lặp lại .
  12. Cập nhập MapKit
    • Thêm mutedStandard, chế độ hiển thị bản đồ mới nhấn mạnh dữ liệu của nhà phát triển..
    • Thêm thuộc tính để tùy chỉnh các chú thích hoạt động khi va chạm xảy ra. Chúng ta sẽ cần so sánh kết hợp displayPriority, collisionMode và clusteringIdentifier để đưa các đánh giá.
  13. Thêm phương thức authorStatus vào các lớp CMAltimiter, CMPedometer, CMMotionActivityManagerCMSensorRecorder của Core Motion. Phương pháp được sử dụng để xác định xem ứng dụng có được phép nhận dữ liệu từ nguồn hay không.

Media and Web

  1. Hỗ trợ High Efficiency Video Coding (HEVC).
  2. Hỗ trợ High Efficiency Image Format (HEIF)
  3. Hỗ trợ chụp và xử lý dữ liệu độ chiều sâu, và chụp ảnh nâng cao.
    • Thêm các đối tượng vào AV Foundation để thu thập và lưu trữ cho dữ liệu chiều sâu. Xem AVCaptureDepthDataOutput, AVDepthData và các API có liên quan.
    • Thêm AVCapturePhoto, một đối tượng đóng gói thông tin cho một ảnh chụp và hỗ trợ hình ảnh được mã hoá HEVC và HEIC.
    • Cập nhật AVCapturePhotoOutput để cung cấp thêm thông tin về các tính năng của máy ảnh và định dạng đầu ra được hỗ trợ.
  4. Quản lý lưu trữ tự động.
    • Thêm chức năng quản lý lưu trữ tự động của các nội dung HTTP live streaming đến AVAssetDownloadTask.
  5. AirPlay 2
    • Cải thiện độ tin cậy AirPlay cho việc phát lại âm thanh trong AV Foundation. Bạn nên sử dụng AVPlayer hoặc AVSampleBufferAudioRenderer để thấy được độ cải thiện.

System

  1. Cấu hình Hotspot
    • Thêm một mở rộng mạng cho cấu hình hotspot NEHotspotConfiguration.
  2. Phát hiện các thẻ NFC và đọc các tin nhắn có chứa dữ liệu NDEF
    • Đã thêm Core NFC, một framework mới để đọc Near Field Communications (NFC) và dữ liệu trong NFC Data Exchange Format (NDEF)
  3. Cập nhập Core Bluetooth framework
    • Hỗ trợ các kênh L2CAP.
    • Tăng thời gian hồi phục để hoạt động trên các thiết lập Bluetooth và khởi động lại thiết bị.

Trên đây là một số tổng hơp từ trang chủ What's New in iOS. Mọi người có thể tìm hiểu thêm một số mục mình chưa nhắc tới trong bài viết.

Happy Coding!

0