Quay lại blog

Chạy ứng dụng iOS trên PC và Mac: cách nào thực sự khả thi

Trên Windows không có trình giả lập iOS hợp pháp dành cho người dùng phổ thông. So sánh ba con đường: thiết bị iOS thật trên cloud, cài trực tiếp trên Mac dùng chip Apple và trình giả lập đi kèm Xcode, kèm cách chọn theo mục đích.

Muốn chạy ứng dụng iOS trên máy tính, trước hết phải chấp nhận một tiền đề: trên Windows không có trình giả lập iOS hợp pháp dành cho người dùng phổ thông. Những công cụ như BlueStacks giả lập Android, vốn là một hệ thống hoàn toàn khác với iOS. Ứng dụng iOS được xây dựng cho chip ARM và cơ chế ký của Apple, và không có bản image hệ thống nào được phân phối hợp pháp để chạy trực tiếp trên Windows.

Thực tế chỉ có ba con đường khả thi, và mục đích cùng giới hạn của chúng khác nhau khá nhiều.

Con đường 1: thiết bị iOS thật trên cloud

Trên các nền tảng kiểm thử cloud là những chiếc iPhone hoặc iPad thật. Bạn thao tác chúng trong trình duyệt: cài bản build thử nghiệm và chạm để xác minh đều diễn ra từ xa. Các dịch vụ như BrowserStack, Sauce Labs và AWS Device Farm hoạt động theo cách này, và một số nền tảng phục vụ nghiên cứu bảo mật còn cho quyền truy cập ở tầng thấp hơn.

Ưu điểm là gần với thiết bị thật: năng lực phần cứng và phiên bản hệ thống đều là thật, nên phù hợp để tái hiện sự cố trên môi trường thật và kiểm tra khả năng tương thích. Giới hạn cũng rõ ràng không kém: tính phí theo mức sử dụng, phiên là tài nguyên dùng chung và bị hủy khi xong, thao tác có độ trễ mạng, và không phù hợp để treo máy chạy dài. Ngoài ra thiết bị trên cloud thực chất là máy của người khác, nên dữ liệu kiểm thử, thông tin đăng nhập và ảnh chụp màn hình đều nằm ở xa - đừng tải nội dung nhạy cảm lên đó.

Con đường 2: Mac dùng chip Apple

Mac dùng chip dòng M có thể cài trực tiếp ứng dụng iPhone và iPad từ App Store, miễn là nhà phát triển chưa tắt tùy chọn này. Đây hiện là cách ít phiền nhất để dùng ứng dụng iOS trên máy tính: sau khi cài, nó chỉ là một cửa sổ và hiệu năng gần như native.

Có hai giới hạn: chỉ Mac dùng chip Apple được hỗ trợ, máy Intel thì không; và việc cài được hay không phụ thuộc vào công tắc của nhà phát triển, khi khá nhiều ứng dụng tự chọn không phát hành trên macOS. Sau khi cài vẫn có khoảng cách về trải nghiệm: ứng dụng iOS vốn được thiết kế cho ngón tay chạm, nên chuột và bàn phím khiến một số tương tác trở nên khó chịu, còn việc xoay màn hình và các tính năng phụ thuộc con quay hồi chuyển cũng không phải lúc nào cũng mượt.

Con đường 3: trình giả lập đi kèm công cụ phát triển

iOS Simulator được cài cùng Xcode, chạy trên macOS và có vai trò là công cụ phát triển, gỡ lỗi: bạn cần mã nguồn hoặc gói đã build, và nó giả lập môi trường chạy iOS chứ không phải một thiết bị thật. Camera, cảm biến, thông báo đẩy và những phần gắn chặt với phần cứng không được tái hiện đầy đủ. Nếu muốn cài ứng dụng từ cửa hàng thì con đường này không đi được, vì nó vốn không được thiết kế cho việc đó. Lợi thế của nó là có thể cài nhiều phiên bản iOS cùng lúc để kiểm tra một thay đổi hành xử thế nào trên các hệ thống khác nhau, đỡ vất vả hơn nhiều so với việc liên tục cài lại thiết bị thật.

Ba con đường khác nhau ở đâu

So sánh mục đích và giới hạn giữa thiết bị iOS thật trên cloud, Mac dùng chip Apple và Xcode Simulator

Về tương thích, thiết bị thật trên cloud gần với thiết bị thật nhất, sau đó là chạy native trên chip Apple, còn Simulator hỗ trợ yếu nhất cho các năng lực liên quan đến phần cứng.

Về hiệu năng, cloud phụ thuộc vào mạng, giải pháp tại chỗ phụ thuộc vào chính chiếc máy, và chạy native trên chip Apple là hiệu quả nhất.

Về rủi ro tài khoản có một ranh giới cứng: đừng nhập Apple ID và mật khẩu vào những thứ được gọi là trình giả lập iOS không rõ nguồn gốc, vì phần lớn công cụ như vậy không thể chạy iOS thật và trang đó tồn tại chỉ để thu thập tài khoản. Cũng đừng đăng nhập tài khoản chính của bạn trong một phiên cloud dùng chung, bởi việc dùng chung tài khoản vốn đã vi phạm điều khoản dịch vụ của Apple, và việc xin mở khóa tài khoản bị khóa khá phiền phức. Với mục đích kiểm thử, hãy dùng một tài khoản thử nghiệm tạo riêng và bỏ đi sau khi dùng xong.

Về tuân thủ, thỏa thuận giấy phép phần mềm của Apple không cho phép chạy macOS và iOS trên phần cứng không phải của Apple. Bất kỳ sản phẩm phổ thông nào tuyên bố giả lập được iOS trên Windows hoặc là lớp vỏ Android, hoặc có mục đích khác.

Chọn con đường theo mục đích

Với phát triển và gỡ lỗi: xử lý thay đổi hằng ngày tại chỗ bằng Simulator của Xcode, còn phần liên quan đến khác biệt phần cứng và phiên bản hệ thống thì kiểm tra bổ sung bằng thiết bị thật trên cloud.

Nếu chỉ muốn dùng một ứng dụng nào đó trên máy tính: trước tiên xem nhà cung cấp có bản web hay ứng dụng desktop không; nếu không có thì Mac dùng chip Apple là phương án thực tế nhất, sau đó là thuê thiết bị theo mức sử dụng trên nền tảng cloud. Tìm trình giả lập chỉ để chạy lâu dài một ứng dụng iOS thường không đáng về chi phí.

Về chi phí cũng có thể nghĩ ngược lại: nếu một năm chỉ dùng vài lần, thiết bị cloud tính phí theo mức sử dụng sẽ hợp lý hơn và bạn không phải mua máy chỉ để kiểm tra một lần; nếu dùng hằng ngày, việc cài native trên Mac cho trải nghiệm và độ ổn định tốt hơn rõ rệt.

Trong đội nhóm còn một vấn đề nhỏ: khi nhiều thành viên có tài khoản thử nghiệm khác nhau và lần lượt đăng nhập trên cùng một máy, cookie và phiên dễ ghi đè lẫn nhau, gây ra tình trạng mất đăng nhập khó hiểu. Cho mỗi tài khoản một môi trường trình duyệt tách biệt sẽ tránh được kiểu nhiễu này, và PurpleMark cung cấp chính kiểu cách ly môi trường như vậy.