3D TOUCH – Thực hiện hành động nhanh chóng với Swift

56

Cho đến iOS 9, Apple đã thêm vào quick actions (hành động nhanh chóng) cho icon của app để người dùng có thể liên kết sâu tới một chức năng trong ứng dụng 1 cách nhanh chóng. Bằng cách nhấn vào icon app của những thiết bị mới nhất bao gồm iPhone 6s và 6s Plus, người dùng sẽ nhận được một tập hợp các quick actions. Khi người dùng chọn vào một quick action nào đó, ứng dụng sẽ khởi động và đối tượng delegate của app sẽ nhận được tin nhắn quick action.

DEFINE QUICK ACTIONS

Trong file Info.plist của app, tạo một mảng UIApplicationShortcutItems. Đây là nơi mà chúng ta định nghĩa những hành động, tiêu đề, tiêu đề phụ, phím tắt cho mỗi cái. Lưu ý rằng bạn chỉ có thể có tối đa 4 quick actions trên icon của app.

UIApplicationShortcutItemType – một chuỗi cần chuyển tới cho app của bạn khi người dùng gọi các quick action tương ứng.
UIApplicationShortcutItemTitle – một chuỗi sẽ xuất hiện cho người dùng trên màn hình Home như tên gọi của quick action.
UIApplicationShortcutItemSubtitle – một chuỗi optional mà sẽ xuất hiện trên màn hình Home, ngay dưới các chuỗi title tương ứng.
UIApplicationShortcutItemIconType – một chuỗi optional xác định kiểu của một icon từ thư viện hệ thống cung cấp.

Bạn có thể tìm thấy danh sách đầy đủ những icon mà Apple đưa vào trong thư viện asset của họ tại đây.

UIApplicationShortcutItemIconFile – một chuỗi optional xác định hình ảnh icon để sử dụng trong gói bundle của app hoặc là tên của một tấm hình trong asset.

UIApplicationShortcutItemUserInfo – một tuỳ chọn, dictionary của app-defined. Sử dụng cái này có thể cung cấp thông tin phiên bản của app.

Example:

Tiếp theo bạn có thể run app và kiểm tra để bạn xem nếu những quick actions được định dạng theo những gì bạn mong đợi. Lưu ý: Bạn phải phát triển chúng trên thiết bị có hỗ trợ 3D Touch. Máy ảo trong Xcode không có 3D Touch.

HANDLE THE SHORT CUTS

Bắt đầu bằng cách thêm một enum và các thuộc tính mà chúng ta sẽ cần trong những methods phía dưới. Nếu bạn không muốn dùng những enum, hãy đảm bảo rằng các tên của chúng phù hợp với những giá trị UIApplicationShortcutItemType mà bạn đã nhập trong Info.plist.

Đọc trong UIApplicationShortcutItem đó là lựa chọn bởi người dùng trong hàm didFinishLaunchingWithOptions. Ở đây chúng ta đang lưu trữ những giá trị trong launchedShortcutItem để chúng ta có thể xử lý tiếp.

Method tiếp theo mà sẽ gọi là applicationDidBecomeActive, method này sẽ được gọi sau didFinishLaunchingWithOptions trong lần đầu tiên khởi động app hoặc mỗi lần người dùng vào trong app trong khi nó vẫn mở ở background.

Khi người dùng chọn một trong những quick actions khi ứng dụng khởi động hoặc quay lại tiếp tục ứng dụng và gọi method dưới đây trong appdelegate.

Cuối cùng chúng ta cần xử lý short cut và deep link phù hợp với từng màn hình bên trong app.

Bạn có thể download source code ở đây: full source code for this tutorial

Nguồn: IDE Academy via BrianColeman