Cài iOS Simulator với Expo Go

iOS Simulator tạo một iPhone hoặc iPad ảo trên máy Mac. Bạn có thể xem TaskFlow mà không cần iPhone thật và không cần đăng ký Apple Developer Program để chạy app cục bộ bằng Expo Go.
iOS Simulator chỉ chạy trên macOS. Nếu bạn dùng Windows hoặc Linux, hãy chọn Android thật hoặc Android Emulator.

Bạn cần chuẩn bị

  • Máy Mac còn đủ dung lượng cho Xcode và iOS Simulator
  • Apple ID để tải Xcode từ Mac App Store
  • Node.js, VS Code và Claude Code đã cài theo phần cài đặt công cụ
  • Kết nối Internet ổn định để tải Xcode và iOS runtime

Kết quả cần đạt

Sau phần này, bạn sẽ:
  • Cài được Xcode và Command Line Tools
  • Tải được một iOS Simulator runtime
  • Khởi động được iPhone ảo
  • Chạy TaskFlow bằng phím i
  • Biết xử lý lỗi Simulator thường gặp

1. Cài Xcode

1

Mở Xcode trên Mac App Store

Mở Xcode trên Mac App Store, sau đó bấm Get/Install.Nếu Xcode đã có trên máy, bấm Update để dùng phiên bản tương thích với macOS hiện tại.
2

Chờ cài đặt hoàn tất

Xcode có dung lượng lớn nên quá trình tải có thể kéo dài. Giữ máy kết nối nguồn điện và không tắt Mac App Store.
3

Mở Xcode lần đầu

Mở Xcode trong thư mục Applications. Chấp nhận thỏa thuận và cho phép Xcode cài thêm thành phần nếu được hỏi.

2. Cài Command Line Tools

1

Mở Settings của Xcode

Trong thanh menu macOS, chọn Xcode → Settings… hoặc nhấn Cmd + ,.
2

Mở tab Locations

Chọn Locations.
3

Chọn Command Line Tools

Trong mục Command Line Tools, chọn phiên bản Xcode mới nhất đang có trên máy.
4

Kiểm tra trong terminal

Mở terminal trong VS Code và chạy:
Lệnh phải trả về một đường dẫn, thường kết thúc bằng Contents/Developer.
Command Line Tools đã sẵn sàng khi xcode-select -p trả về đường dẫn và không báo lỗi.

3. Cài iOS Simulator runtime

1

Mở Components

Trong Xcode, chọn Xcode → Settings… → Components.
2

Tải iOS runtime

Trong Platform Support, tìm phiên bản iOS phù hợp rồi bấm Get.Chờ Xcode tải và cài runtime hoàn tất trước khi đóng ứng dụng.
3

Mở Simulator

Trong thanh menu Xcode, chọn Xcode → Open Developer Tool → Simulator.
4

Chọn thiết bị ảo

Trong Simulator, chọn File → Open Simulator, rồi chọn một mẫu iPhone. Nếu bạn chưa biết chọn thiết bị nào, hãy dùng mẫu iPhone mặc định mới nhất.

4. Watchman có bắt buộc không?

Watchman giúp theo dõi thay đổi file. Theo tài liệu Expo, bạn chỉ cần cài Watchman cho project dùng Expo SDK 55 trở xuống.
Nếu máy chưa có Homebrew, cài từ brew.sh. Sau đó chạy:
Kiểm tra:
Nếu bạn chưa tạo project hoặc không biết phiên bản Expo SDK, hãy bỏ qua Watchman. Claude Code có thể kiểm tra và chỉ cài khi cần.

5. Chạy TaskFlow bằng Expo Go

Bạn thực hiện phần này sau khi tạo project trong Buổi 01.
1

Mở iOS Simulator

Mở Simulator từ Xcode và chờ màn hình chính của iPhone ảo xuất hiện.
2

Khởi động Expo

Mở project TaskFlow trong VS Code rồi chạy:
3

Mở app trên iOS Simulator

Khi terminal hiển thị menu Expo, nhấn phím i.Expo CLI sẽ kết nối với Simulator, tự cài Expo Go nếu cần và mở TaskFlow.
4

Kiểm tra cập nhật

Yêu cầu Claude Code đổi một dòng chữ rồi lưu file. TaskFlow trên Simulator phải tự cập nhật. Nhấn r trong terminal nếu cần reload.

Nếu Simulator không chạy

Mở Xcode và Simulator trước. Chờ màn hình chính iPhone ảo xuất hiện, quay lại terminal rồi nhấn i lần nữa.
Mở Xcode → Settings… → Locations, chọn phiên bản mới nhất trong Command Line Tools, sau đó mở terminal mới.
Mở Xcode → Settings… → Components, tìm iOS trong Platform Support rồi bấm Get. Khởi động lại Simulator sau khi tải xong.
Đóng bớt ứng dụng. Trong Simulator, chọn Device → Restart. Nếu vẫn lỗi, thoát Simulator và mở lại từ Xcode.
Kiểm tra Simulator có kết nối mạng. Dừng Expo bằng Ctrl + C, chạy lại npx expo start rồi nhấn i.
Sao chép nội dung lỗi trong terminal rồi gửi cho Claude Code:

Checklist hoàn thành

  • Xcode đã cài và mở được
  • Command Line Tools đã được chọn
  • xcode-select -p trả về đường dẫn
  • iOS Simulator runtime đã cài
  • Một iPhone ảo khởi động được
  • npx expo start chạy được trong project
  • Nhấn i mở được TaskFlow bằng Expo Go
  • Thay đổi trong code xuất hiện trên Simulator
Hướng dẫn này bám theo lựa chọn iOS Simulator with Expo Go trong tài liệu thiết lập môi trường của Expo.
Tiếp theo: Buổi 01 — Thực hành để tạo project TaskFlow.