Trình giả lập  iOS là một phần không thể thiếu trong bất kỳ quy trình phát triển iOS nào. Chúng ta không thể bỏ qua nó. Trình mô phỏng mới từ Xcode 9 mang đến nhiều thủ thuật hữu ích, có thể giúp bạn làm việc hiệu quả hơn. Cuối cùng, Apple nhớ họ đã có Simulator rồi! So với các bản cập nhật khiêm tốn trước đây, cái này có vẻ như là một bước chuyển lớn.

Vì vậy, hãy cùng khám phá và liệt kê tất cả các tính năng tôi tìm thấy trong trình giả lập iOS mới (một số thủ thuật bạn có thể sử dụng trong Trình giả lập cũ).

1. Sử dụng trình giả lập chế độ toàn màn hình với Xcode

Khi bạn có 13'' màn hình thì chế độ toàn màn hình với Xcode chỉ là một phương pháp tiết kiệm. Thật không may bạn lại không thể sử dụng trình giả lập với Xcode ở chế độ toàn màn hình trước đây, nhưng bay giờ thì bạn có thể 😎

Tính năng này đã đặt mặc định bắt đầu từ Xcode 9b3 vậy nên bạn không cần làm gì để làm nó hoạt động cả. 

Update: Hóa ra tính năng này bị tắt theo mặc định đối với một số người, nhưng đừng lo, bạn luôn có thể kích hoạt tính năng này qua menu Apple Internal như tôi đã mô tả thêm. Nếu bạn muốn khám phá thêm các tính năng bí mật trong Trình mô phỏng mới, thì bạn nên bật menu Hidden Internals của Apple.

Để làm điều ấy bạn cần tạo một tệp trống tên "AppleInternal" trong root directory. Chỉ cần chạy lệnh này dưới đây và khởi động lại Simulator:

sudo mkdir /AppleInternal

Các mục menu mới sẽ hiển thị. ☝️

Lưu ý: Tôi chỉ thử nghiệm cách này trên Giả lập Xcode 9b3. Nếu bạn không có, tải Xcode mới nhất ở đây.

2. Mở nhiều trình giả lập cùng một lúc

Bạn có nhớ lần thử nghiệm thất bại của mình trên các trình giả lập khác nhau không? Trước đây, bạn buộc phải chỉ mở một phiên bản Trình mô phỏng tại thời điểm đó. Có rất nhiều cách "hack" làm thế nào để mở nhiều giả lập iOS trong phiên bản Xcode cũ hơn. Nhưng cuối cùng, với Xcode 9, tính năng này đã có sẵn.

3. Thay đổi kích thước trình giả lập giống như một cửa sổ thông thường

Trước Xcode 9, chúng ta chỉ có các tùy chọn Scale điều chỉnh kích thước cửa sổ giả lập. Bây giờ Apple cuối cùng đã thực hiện thay đổi kích thước cửa sổ sẵn có của giả lập. Đây là chi tiết nhỏ hữu ích có thể giúp bạn tổ chức không gian làm việc hiệu quả nếu bạn mở nhiều trình giả lập.

4. Ghi lại video của trình giả lập 

Trong mục tài liệu chính thức "What's new" của Xcode 9, Apple tuyên bố bây giờ bạn có thể quay video màn hình giả lập. Điều này không hoàn toàn đúng lắm. Bạn có thể làm điều đó ngay cả trong các phiên bản cũ hơn với simctl. Mặc dù vậy, tôi không tìm thấy bất kỳ bằng chứng nào bạn có thể kích hoạt quay video từ giao diện (ngoại trừ ghi màn hình tích hợp trong iOS 11).

Để nhận tệp video của bạn, hãy thực hiện lệnh sau:


xcrun simctl io booted recordVideo --type=mp4 

booted - có nghĩa là, simctl chọn trình giả lập hiện đang khởi động. Trong trường hợp bạn có nhiều trình giả lập đã khởi động, simctl chọn phiên bản hiện đang hoạt động.

5. Chia sẻ các tệp với trình giả lập ngay từ Finder 

Bây giờ trình giả lập có tiện ích mở rộng Finder cho phép bạn chia sẻ tệp trực tiếp từ cửa sổ của Finder.

Bạn có thể thực hiện tương tự với các tệp ảnh/video sử dụng dòng lệnh simctl sau:

	
xcrun simctl addmedia booted 

Tuy nhiên, đối với tôi việc kéo và thả tệp vào cửa sổ giả lập  có vẻ nhanh hơn nhiều.

6. Mở các URL trên trình giả lập

Điều này cũng đi kèm với simctl. Vì vậy, bạn cũng có thể mở các URL tùy chỉnh trên trình giả lập cũ hơn.

Thực hiện lệnh sau với bất cứ URL nào bạn cần:

	
xcrun simctl openurl booted 

Để biết danh sách tất cả các URL của Apple, vui lòng xem tài liệu

7. Tìm kiếm thư mục Container trong ứng dụng nhanh chóng

Một lệnh nữa từ simctl. Bạn có thể có container của ứng dụng trên hệ thống tệp với một lệnh đơn. Bạn chỉ cần biết định danh gói ứng dụng và thực hiện lệnh bên dưới"

	
xcrun simctl get_app_container booted 

Hoặc bạn có thể thao tác nhanh hơn nữa bằng cách mở thư mục đích trong Finder bằng lệnh open:

open `xcrun simctl get_app_container booted ` -a Finder

8. Khởi chạy ứng dụng trên giả lập với dòng lệnh Args

Với simctl, bạn còn có thể khởi chạy ứng dụng của mình từ thiết bị đầu cuối và chuyển một số đối số dòng lệnh ở đó (thậm chí bạn có thể thiết lập một biến số môi trường). Điều này có thể hữu ích nếu bạn muốn thêm một số thao tác chỉ gỡ lỗi ẩn vào ứng dụng của mình. 

Hãy cùng dòng lệnh bên dưới:

xcrun simctl launch --console booted  

9. Lấy thông tin ứng dụng đầy đủ với Bundle ID

Đôi khi lại rất hữu ích để tìm ra nơi tệp ứng dụng của bạn hoặc dữ liệu tạm thời nằm ở đâu trên hệ thống tệp. Nếu bạn cần thông tin toàn diện hơn thì simctl get_app_container có thể cung cấp. simctl cũng có một công cụ nhỏ tên là appinfo sẽ hiển thị cho bạn một số thông tin theo định dạng sau:

{
   ApplicationType = User;
   Bundle = ;
   BundleContainer = ;
   CFBundleDisplayName = TestiOSApp;
   CFBundleExecutable = TestiOSApp;
   CFBundleIdentifier = "com.ahmed.app.TestiOSApp";
   CFBundleName = TestiOSApp;
   CFBundleVersion = 1;
   DataContainer = ;
   GroupContainers =     {
   };
   Path = ;
   SBAppTags =     (
   );
}

Thực hiện lệnh sau:

xcrun simctl appinfo booted 

Một điều cuối cùng....

Giả lập iOS là công cụ rất mạnh có thể tăng tốc quá trình phát triển của bạn lên rất nhiều. Nhưng đó là chỉ khi bạn biết tất cả các chi tiết và thủ thuật nhỏ. Và rõ ràng, là một kỹ sư giỏi, bạn phải biết các công cụ của mình.

Tại Flawless, giả lập iOS cực kỳ quan trọng đối với chúng tôi. Sản phẩm của chúng tôi là plugin iOS Simulator cho phép các kỹ sư kiểm tra bất kỳ thiết kế nào trên đầu triển khai ngay bên trong trình giả lập. Vì vậy, tôi thậm chí có thể nói với bạn rằng tôi vui như thế nào với bản phát hành Xcode 9 và giả lập mới này. Không thể chờ đến phiên bản public được! Vì vậy, chúng tôi có thể triển khai các tính năng hữu ích hơn để giữ chất lượng hình ảnh của ứng dụng iOS ở trạng thái tốt.

Ngoài ra, nếu tôi bỏ lỡ điều gì đó quan trọng, hãy thêm thủ thuật của bạn vào các bình luận bên dưới.