Chủ đề xcode how to run simulator: Xcode là công cụ phát triển mạnh mẽ dành cho các lập trình viên iOS. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách chạy trình giả lập (Simulator) trên Xcode một cách chi tiết, từ cài đặt đến kiểm thử ứng dụng. Hãy khám phá cách tối ưu hóa quy trình phát triển ứng dụng của bạn với Xcode Simulator qua các bước đơn giản.
Mục lục
- Hướng dẫn chi tiết cách chạy trình giả lập (Simulator) trong Xcode
- 1. Giới thiệu về Xcode Simulator
- 2. Cách cài đặt Simulator trong Xcode
- 3. Hướng dẫn chạy ứng dụng trên Simulator
- 4. Các công cụ hỗ trợ và tính năng Debugging
- 5. Ưu và nhược điểm của Xcode Simulator
- 6. Cách kiểm tra hiệu suất ứng dụng trên Simulator
- 7. Giải pháp thay thế cho việc test trên Simulator
- 8. Tổng kết và các lưu ý quan trọng
Hướng dẫn chi tiết cách chạy trình giả lập (Simulator) trong Xcode
Xcode là một công cụ phát triển ứng dụng của Apple, được sử dụng chủ yếu để phát triển các ứng dụng cho hệ điều hành iOS, macOS, tvOS và watchOS. Một trong những tính năng mạnh mẽ của Xcode là khả năng chạy trình giả lập (Simulator) để kiểm thử các ứng dụng mà không cần thiết bị thật. Dưới đây là các bước chi tiết để chạy trình giả lập trong Xcode:
Bước 1: Cài đặt Xcode và Simulator
- Mở ứng dụng Xcode trên máy Mac của bạn. Nếu chưa cài đặt, bạn có thể tải Xcode từ .
- Chọn Xcode > Preferences từ thanh menu trên cùng hoặc sử dụng phím tắt
Command + ,. - Chọn thẻ "Components", sau đó tìm Simulator mà bạn muốn cài đặt (ví dụ: iOS 14.1, iOS 15.2). Nhấn nút tải xuống bên cạnh phiên bản bạn muốn sử dụng.
Bước 2: Chạy trình giả lập
- Sau khi cài đặt, mở Xcode và chọn Product từ thanh menu.
- Chọn Destination, sau đó chọn thiết bị giả lập mà bạn muốn sử dụng từ danh sách các thiết bị khả dụng. Ví dụ: iPhone 14 Pro.
- Sau khi chọn thiết bị, bạn có thể nhấn
Command + Rhoặc chọn Run từ thanh menu để khởi chạy ứng dụng trong trình giả lập.
Bước 3: Kiểm thử ứng dụng trên Simulator
- Simulator cho phép bạn tương tác với ứng dụng giống như trên thiết bị thật. Bạn có thể nhấn, kéo thả, hoặc xoay thiết bị ảo để mô phỏng các thao tác thực tế.
- Có thể chuyển đổi giữa các loại thiết bị khác nhau như iPhone, iPad, Apple Watch, hoặc Apple TV thông qua danh sách thiết bị trong Simulator.
- Sử dụng các tính năng như camera giả lập, cảm biến chuyển động, và thông báo để kiểm tra các chức năng nâng cao của ứng dụng.
Một số lệnh hữu ích khi làm việc với Simulator
| Lệnh | Mô tả |
Command + Shift + H |
Quay lại màn hình chính của thiết bị giả lập |
Command + L |
Khóa/mở khóa thiết bị |
Command + R |
Chạy lại ứng dụng |
Command + Left/Right |
Xoay thiết bị giả lập |
Lợi ích và hạn chế của việc sử dụng Xcode Simulator
- Lợi ích:
- Giúp phát triển và kiểm thử ứng dụng nhanh chóng mà không cần thiết bị thật.
- Cho phép kiểm tra tính tương thích trên nhiều phiên bản hệ điều hành và thiết bị khác nhau.
- Hạn chế:
- Không thể mô phỏng chính xác hoàn toàn hiệu năng của ứng dụng trên thiết bị thật.
- Một số tính năng phần cứng như NFC, Apple Pay không thể thử nghiệm trên trình giả lập.
Kết luận
Việc sử dụng Xcode Simulator là một công cụ mạnh mẽ cho các nhà phát triển iOS. Nó cung cấp khả năng thử nghiệm ứng dụng trên nhiều cấu hình thiết bị và hệ điều hành khác nhau, giúp tiết kiệm chi phí và thời gian. Tuy nhiên, vẫn cần kiểm tra trên thiết bị thật để đảm bảo hiệu năng và trải nghiệm người dùng tốt nhất.

1. Giới thiệu về Xcode Simulator
Xcode Simulator là một công cụ mạnh mẽ tích hợp trong Xcode, được thiết kế để giúp các nhà phát triển kiểm thử ứng dụng trên nhiều thiết bị iOS, tvOS, và watchOS mà không cần thiết bị vật lý. Trình giả lập này mô phỏng các chức năng cơ bản của thiết bị thật, cho phép bạn chạy, thử nghiệm và gỡ lỗi ứng dụng trong môi trường phát triển.
Simulator không chỉ hỗ trợ kiểm tra giao diện, chức năng, mà còn giúp bạn mô phỏng các yếu tố phần cứng như cảm biến, vị trí GPS, và mạng di động, giúp phát triển ứng dụng toàn diện hơn. Các bước sử dụng Simulator bao gồm:
- Bước 1: Mở Xcode và tạo một dự án mới hoặc chọn một dự án hiện có.
- Bước 2: Chọn một thiết bị giả lập từ thanh công cụ, với nhiều phiên bản thiết bị khác nhau như iPhone, iPad.
- Bước 3: Nhấn
Command + Rđể chạy ứng dụng trên trình giả lập. - Bước 4: Sử dụng các công cụ debug như Console hoặc xem nhật ký hoạt động để kiểm tra lỗi và điều chỉnh ứng dụng.
Một trong những lợi thế lớn nhất của Xcode Simulator là tính khả dụng và linh hoạt. Bạn có thể chuyển đổi giữa các loại thiết bị chỉ với vài cú nhấp chuột, điều này giúp phát triển và kiểm thử ứng dụng trở nên nhanh chóng và hiệu quả hơn.
Tuy nhiên, cần lưu ý rằng trình giả lập không thể mô phỏng chính xác tất cả các tính năng phần cứng của thiết bị thật như NFC hay Apple Pay, do đó kiểm thử trên thiết bị vật lý là điều cần thiết trước khi phát hành ứng dụng.
2. Cách cài đặt Simulator trong Xcode
Để cài đặt và sử dụng Simulator trong Xcode, bạn cần thực hiện theo các bước sau đây:
- Bước 1: Mở ứng dụng Xcode trên máy Mac của bạn. Nếu chưa cài đặt Xcode, hãy tải từ Mac App Store.
- Bước 2: Sau khi mở Xcode, chọn Preferences từ menu Xcode hoặc nhấn
Command + ,để mở bảng cấu hình. - Bước 3: Trong cửa sổ Preferences, chuyển đến tab Components. Tại đây, bạn sẽ thấy danh sách các phiên bản iOS, tvOS, và watchOS có thể cài đặt.
- Bước 4: Chọn phiên bản hệ điều hành mà bạn muốn cài đặt cho Simulator và nhấn nút tải về. Các phiên bản này bao gồm nhiều thiết bị khác nhau như iPhone, iPad, Apple Watch và Apple TV.
- Bước 5: Sau khi tải về thành công, phiên bản bạn đã chọn sẽ được thêm vào danh sách các thiết bị có sẵn trong Simulator.
- Bước 6: Để kiểm tra, quay lại màn hình chính của Xcode, chọn tên thiết bị trong danh sách bên cạnh nút chạy (Run). Từ đây, bạn có thể chọn thiết bị giả lập mà bạn vừa cài đặt.
Với các bước trên, bạn đã hoàn tất quá trình cài đặt và cấu hình Simulator trong Xcode, giúp bạn dễ dàng kiểm tra và phát triển ứng dụng trên nhiều thiết bị khác nhau mà không cần sử dụng thiết bị vật lý.
3. Hướng dẫn chạy ứng dụng trên Simulator
Để chạy ứng dụng của bạn trên Xcode Simulator, hãy làm theo các bước dưới đây:
- Bước 1: Mở Xcode và mở dự án ứng dụng mà bạn muốn chạy trên Simulator. Nếu chưa có dự án, bạn có thể tạo một dự án mới bằng cách chọn Create a new Xcode project.
- Bước 2: Trên thanh công cụ, tại phần chọn thiết bị (Scheme), nhấp vào danh sách thiết bị và chọn một thiết bị giả lập mong muốn. Bạn có thể chọn các phiên bản khác nhau của iPhone, iPad, hoặc các thiết bị khác như Apple Watch và Apple TV tùy theo yêu cầu dự án.
- Bước 3: Nhấn
Command + Rhoặc nhấp vào nút Run (hình tam giác) trên thanh công cụ của Xcode. Ứng dụng của bạn sẽ bắt đầu được xây dựng và sau đó được triển khai lên thiết bị giả lập. - Bước 4: Khi Simulator khởi động, bạn có thể tương tác với ứng dụng như trên một thiết bị thực. Sử dụng chuột và bàn phím để mô phỏng các thao tác cảm ứng và nhập liệu.
- Bước 5: Để gỡ lỗi hoặc kiểm tra lỗi, bạn có thể sử dụng Console hoặc xem log của ứng dụng trong phần Debug navigator để tìm hiểu các vấn đề và điều chỉnh mã nguồn nếu cần.
Bằng cách sử dụng Xcode Simulator, bạn có thể kiểm tra nhiều phiên bản thiết bị khác nhau một cách nhanh chóng và dễ dàng, giúp tối ưu hóa ứng dụng trước khi triển khai lên các thiết bị thực tế.

4. Các công cụ hỗ trợ và tính năng Debugging
Xcode không chỉ cung cấp một môi trường phát triển mạnh mẽ mà còn đi kèm với nhiều công cụ hỗ trợ debugging tiên tiến, giúp lập trình viên nhanh chóng tìm ra và khắc phục các lỗi trong ứng dụng. Dưới đây là các tính năng và công cụ hỗ trợ trong quá trình gỡ lỗi:
- Console: Đây là công cụ gỡ lỗi cơ bản trong Xcode, hiển thị các thông báo từ hệ thống và các thông báo bạn in ra từ mã nguồn bằng các lệnh như
print(). Bạn có thể sử dụng Console để theo dõi luồng dữ liệu, kiểm tra các giá trị biến và tìm ra các lỗi logic trong ứng dụng. - Breakpoint: Breakpoint cho phép bạn tạm dừng quá trình thực thi mã tại một điểm nhất định để xem xét giá trị các biến và trạng thái ứng dụng. Để đặt breakpoint, bạn chỉ cần nhấp vào bên cạnh số dòng mã trong Xcode. Sau khi quá trình tạm dừng, bạn có thể kiểm tra và thay đổi các giá trị biến trực tiếp để xem ảnh hưởng.
- View Debugging: Đây là một tính năng rất hữu ích khi kiểm tra giao diện người dùng. Với View Debugging, bạn có thể xem cấu trúc của toàn bộ giao diện, bao gồm các lớp UI và vị trí các phần tử. Nó cho phép bạn xem xét giao diện theo dạng 3D để phát hiện các phần tử bị ẩn hoặc bố trí sai vị trí.
- Memory Debugger: Công cụ này giúp theo dõi việc sử dụng bộ nhớ của ứng dụng. Nó hiển thị các đối tượng đang chiếm dụng bộ nhớ, phát hiện memory leaks (rò rỉ bộ nhớ) và kiểm tra hiệu suất của ứng dụng. Đây là một tính năng quan trọng để đảm bảo ứng dụng chạy mượt mà và không tiêu tốn quá nhiều tài nguyên.
- Network Debugging: Với Network Debugging, bạn có thể theo dõi và phân tích các yêu cầu mạng của ứng dụng, xem thời gian phản hồi và dữ liệu được gửi, nhận từ máy chủ. Điều này rất hữu ích khi bạn muốn tối ưu hóa thời gian tải dữ liệu hoặc khắc phục các lỗi liên quan đến kết nối.
- Instruments: Đây là bộ công cụ hỗ trợ kiểm tra hiệu năng của ứng dụng. Instruments cho phép bạn kiểm tra tốc độ xử lý, sử dụng CPU, GPU và bộ nhớ, giúp bạn tối ưu hóa hiệu suất ứng dụng và phát hiện các vấn đề liên quan đến hiệu năng.
Với sự hỗ trợ từ các công cụ gỡ lỗi mạnh mẽ này, lập trình viên có thể dễ dàng kiểm tra và sửa lỗi ứng dụng trước khi phát hành, đảm bảo ứng dụng hoạt động ổn định và hiệu quả trên các thiết bị khác nhau.
5. Ưu và nhược điểm của Xcode Simulator
Xcode Simulator là một công cụ không thể thiếu đối với các nhà phát triển ứng dụng iOS, cho phép thử nghiệm ứng dụng trên nhiều loại thiết bị khác nhau. Tuy nhiên, giống như bất kỳ công cụ nào khác, nó cũng có cả ưu điểm và nhược điểm. Dưới đây là phân tích chi tiết:
- Ưu điểm:
- Dễ dàng sử dụng: Xcode Simulator được tích hợp trực tiếp trong Xcode, giúp lập trình viên có thể dễ dàng truy cập và sử dụng mà không cần cài đặt phần mềm bên ngoài.
- Tiết kiệm chi phí: Bạn không cần mua tất cả các thiết bị iOS thật để kiểm thử. Thay vào đó, bạn có thể kiểm tra ứng dụng trên nhiều phiên bản iPhone, iPad và Apple Watch khác nhau mà chỉ cần sử dụng Simulator.
- Khả năng chuyển đổi giữa nhiều thiết bị: Simulator cho phép bạn chuyển đổi dễ dàng giữa các loại thiết bị và phiên bản hệ điều hành khác nhau, giúp bạn kiểm tra tính tương thích của ứng dụng một cách nhanh chóng.
- Tích hợp với công cụ debugging: Xcode Simulator tích hợp sẵn với các công cụ debug mạnh mẽ như Console, Breakpoint, và View Debugging, giúp bạn kiểm tra và khắc phục lỗi ngay trên môi trường phát triển.
- Hiệu suất cao: Vì chạy trên máy Mac, Simulator hoạt động mượt mà và nhanh chóng hơn so với thiết bị thật trong nhiều trường hợp, giúp tiết kiệm thời gian phát triển.
- Nhược điểm:
- Không mô phỏng hoàn toàn phần cứng: Mặc dù Simulator rất hữu ích cho việc kiểm tra ứng dụng, nó không thể mô phỏng một số tính năng phần cứng quan trọng như camera, cảm biến vân tay, NFC, và các tính năng liên quan đến hiệu suất GPU.
- Hiệu suất không phản ánh thực tế: Ứng dụng có thể chạy nhanh trên Simulator nhưng có thể không hoạt động tốt trên thiết bị thật, đặc biệt là những ứng dụng yêu cầu tài nguyên hệ thống cao.
- Không kiểm tra được các tính năng mạng di động: Simulator không thể mô phỏng các điều kiện mạng di động thực tế như 3G, 4G hoặc 5G, dẫn đến việc thiếu khả năng kiểm tra trải nghiệm người dùng trong điều kiện kết nối mạng yếu.
- Thiếu khả năng phản hồi cảm ứng thực tế: Mặc dù bạn có thể sử dụng chuột và bàn phím để kiểm tra ứng dụng, việc tương tác này không giống như khi sử dụng cảm ứng trên thiết bị thật, ảnh hưởng đến việc kiểm thử trải nghiệm người dùng.
Nhìn chung, Xcode Simulator là một công cụ mạnh mẽ và tiện lợi cho quá trình phát triển ứng dụng iOS. Tuy nhiên, để đảm bảo ứng dụng hoạt động tốt trên thiết bị thực tế, việc kết hợp kiểm tra trên thiết bị vật lý là điều cần thiết.
XEM THÊM:
6. Cách kiểm tra hiệu suất ứng dụng trên Simulator
Kiểm tra hiệu suất ứng dụng trên Xcode Simulator giúp phát hiện các vấn đề về tốc độ xử lý, bộ nhớ và tối ưu hóa trước khi phát hành trên thiết bị thật. Dưới đây là các bước chi tiết để thực hiện:
- Bước 1: Khởi chạy ứng dụng trên Simulator
- Mở Xcode và chọn dự án bạn muốn kiểm tra.
- Chọn một thiết bị giả lập từ danh sách Simulator và nhấn
Command + Rđể chạy ứng dụng.
- Bước 2: Sử dụng công cụ Instruments
- Truy cập Xcode > Open Developer Tool > Instruments.
- Chọn CPU hoặc Time Profiler để kiểm tra tốc độ xử lý và hiệu suất ứng dụng.
- Bấm Record để bắt đầu theo dõi hiệu suất khi ứng dụng đang chạy.
- Bước 3: Kiểm tra bộ nhớ bằng Memory Debugger
- Mở Memory Debugger từ giao diện Xcode khi ứng dụng đang chạy.
- Theo dõi lượng bộ nhớ mà ứng dụng sử dụng và kiểm tra xem có xảy ra rò rỉ bộ nhớ (memory leaks) hay không.
- Bước 4: Sử dụng Network Debugging
- Nếu ứng dụng có yêu cầu kết nối mạng, bạn có thể kiểm tra các yêu cầu HTTP và thời gian phản hồi bằng công cụ Network Profiler.
- Công cụ này giúp bạn theo dõi dữ liệu gửi và nhận, cũng như tối ưu hóa các yêu cầu mạng.
- Bước 5: Kiểm tra giao diện người dùng (UI)
- Sử dụng View Debugging để kiểm tra bố cục giao diện và các phần tử UI.
- Chuyển sang chế độ 3D để xem xét các lớp UI và phát hiện các lỗi bố trí.
- Bước 6: Phân tích và tối ưu hóa kết quả
- Sau khi hoàn tất việc thu thập dữ liệu với Instruments, kiểm tra các thông số như thời gian phản hồi, hiệu suất CPU và bộ nhớ.
- Dựa vào các thông tin này, bạn có thể thực hiện các tối ưu hóa cần thiết cho ứng dụng trước khi chạy trên thiết bị thật.
Bằng cách sử dụng Xcode Simulator và các công cụ như Instruments và Memory Debugger, bạn có thể kiểm tra hiệu suất ứng dụng một cách toàn diện và khắc phục các vấn đề trước khi phát hành.

7. Giải pháp thay thế cho việc test trên Simulator
Mặc dù Xcode Simulator là một công cụ mạnh mẽ và hữu ích, nhưng vẫn có những giới hạn nhất định khiến việc kiểm tra ứng dụng chỉ trên Simulator không đủ toàn diện. Dưới đây là một số giải pháp thay thế để bổ sung và cải thiện quá trình kiểm thử ứng dụng.
7.1 Test trên thiết bị thực
Test trên thiết bị thực là một phương pháp quan trọng và không thể thay thế khi bạn cần kiểm tra hiệu suất và trải nghiệm thực tế của ứng dụng. Thiết bị thực cho phép kiểm tra các yếu tố sau:
- Hiệu suất: Đo lường chính xác tốc độ CPU, bộ nhớ, mức tiêu thụ pin, và các tác động từ môi trường thực tế như nhiệt độ và kết nối mạng.
- Trải nghiệm người dùng: Tương tác thật với ứng dụng qua cảm ứng, micrô, camera, và các cảm biến khác mà không thể tái tạo hoàn toàn trên Simulator.
- Kiểm tra phần cứng: Những tính năng như NFC, Apple Pay hoặc các công nghệ bảo mật sinh trắc học chỉ có thể được kiểm thử trên thiết bị thực.
Để tối ưu hóa việc kiểm thử, bạn có thể kết hợp sử dụng cả thiết bị vật lý và các công cụ hỗ trợ kiểm tra tự động trên nền tảng cloud.
7.2 Các nền tảng hỗ trợ kiểm tra ứng dụng từ xa
Một giải pháp thay thế hiện đại khác là sử dụng các nền tảng kiểm tra ứng dụng từ xa như BrowserStack, sau đây là một số lợi ích:
- Truy cập đa dạng thiết bị: Các nền tảng như BrowserStack cho phép truy cập từ xa vào hàng loạt thiết bị thực, giúp bạn kiểm thử trên nhiều mô hình iPhone, iPad và các thiết bị khác mà không cần sở hữu chúng.
- Kiểm tra điều kiện mạng: Bạn có thể mô phỏng các điều kiện mạng khác nhau như băng thông thấp, độ trễ cao, giúp đánh giá hiệu suất ứng dụng trong các tình huống thực tế.
- Kiểm tra tự động: Nhiều nền tảng hỗ trợ tự động hóa kiểm thử, giúp đẩy nhanh quá trình kiểm tra và giảm thiểu lỗi thủ công.
- Kiểm tra tương tác người dùng: Trải nghiệm tương tác người dùng thật với các thiết bị, cho phép bạn đánh giá các thao tác chạm, cử chỉ và các cảm biến như gia tốc kế hoặc GPS.
Việc sử dụng nền tảng kiểm thử từ xa như BrowserStack có thể bổ sung mạnh mẽ cho quá trình phát triển, đảm bảo ứng dụng của bạn hoạt động trơn tru trên mọi thiết bị và trong mọi điều kiện.
8. Tổng kết và các lưu ý quan trọng
Trong quá trình phát triển ứng dụng iOS, việc sử dụng Xcode Simulator đóng vai trò vô cùng quan trọng, giúp các nhà phát triển kiểm thử nhanh chóng và dễ dàng mà không cần đến thiết bị thực. Tuy nhiên, như bất kỳ công cụ nào khác, Simulator cũng có những ưu và nhược điểm riêng.
Tổng kết:
- Xcode Simulator cung cấp môi trường mô phỏng hoàn chỉnh cho việc kiểm thử ứng dụng trên nhiều phiên bản iOS, tvOS và watchOS, giúp tiết kiệm thời gian và chi phí.
- Simulator cho phép dễ dàng kiểm tra giao diện người dùng, xử lý logic và tương tác của ứng dụng mà không cần thiết bị vật lý.
- Nhờ các công cụ như Console và các tính năng Debug, việc phát hiện và sửa lỗi diễn ra thuận lợi, giúp cải thiện chất lượng sản phẩm.
Các lưu ý quan trọng:
- Hiệu suất không phản ánh thiết bị thật: Mặc dù Simulator giúp kiểm thử nhiều khía cạnh của ứng dụng, nhưng hiệu suất thực tế (CPU, GPU, bộ nhớ) trên thiết bị thực có thể khác biệt đáng kể. Vì vậy, việc thử nghiệm trên thiết bị vật lý vẫn rất quan trọng để đảm bảo ứng dụng hoạt động ổn định.
- Hạn chế về phần cứng: Simulator không mô phỏng đầy đủ các tính năng phần cứng như camera, GPS, hoặc cảm biến sinh trắc học, điều này cần được kiểm tra trên thiết bị thật.
- Quản lý phiên bản iOS: Khi kiểm thử, cần đảm bảo rằng phiên bản iOS trên Simulator tương ứng với phiên bản ứng dụng hỗ trợ. Điều này sẽ giúp tránh những vấn đề không mong muốn khi triển khai thực tế.
- Sử dụng kết hợp với các công cụ khác: Ngoài Simulator, có thể cân nhắc sử dụng các dịch vụ kiểm thử từ xa hoặc cloud-based để thử nghiệm trên nhiều loại thiết bị khác nhau, đảm bảo tính toàn diện cho ứng dụng.
Tóm lại, việc kết hợp Xcode Simulator với thiết bị thực và các nền tảng kiểm thử khác sẽ mang lại hiệu quả tốt nhất trong quá trình phát triển và kiểm thử ứng dụng.






















Blender Room - Cách Tạo Không Gian 3D Tuyệt Đẹp Bằng Blender
Setting V-Ray 5 Cho 3ds Max: Hướng Dẫn Tối Ưu Hiệu Quả Render
D5 Converter 3ds Max: Hướng Dẫn Chi Tiết Và Các Tính Năng Nổi Bật
Xóa Lịch Sử Chrome Trên Máy Tính: Hướng Dẫn Chi Tiết Và Hiệu Quả
VLC Media Player Android: Hướng Dẫn Chi Tiết và Tính Năng Nổi Bật
Chuyển File Canva Sang AI: Hướng Dẫn Nhanh Chóng và Đơn Giản Cho Người Mới Bắt Đầu
Chuyển từ Canva sang PowerPoint - Hướng dẫn chi tiết và hiệu quả
Ghi Âm Zoom Trên Máy Tính: Hướng Dẫn Chi Tiết và Mẹo Hữu Ích
"Notion có tiếng Việt không?" - Hướng dẫn thiết lập và lợi ích khi sử dụng
Facebook No Ads XDA - Trải Nghiệm Không Quảng Cáo Đáng Thử
Ký Hiệu Trên Bản Vẽ AutoCAD: Hướng Dẫn Toàn Diện và Thực Hành
Tổng hợp lisp phục vụ bóc tách khối lượng xây dựng
Chỉnh kích thước số dim trong cad – cách đơn giản nhất 2024