Phần hướng dẫn nhanh này về API không gian địa lý ARCore sẽ hướng dẫn bạn cách chạy một ứng dụng mẫu trong Xcode minh hoạ API không gian địa lý.
Để xem hướng dẫn phát triển ứng dụng của riêng bạn bằng API Không gian địa lý, hãy xem Hướng dẫn cho nhà phát triển không gian địa lý trên iOS.
Xem Giới thiệu về API Không gian địa lý ARCore để biết thêm thông tin thông tin về API không gian địa lý.
Nếu bạn mới phát triển bằng ARCore, hãy xem phần Bắt đầu.
Điều kiện tiên quyết
- Xcode phiên bản 13.0 trở lên
- Cocoapods 1.4.0 trở lên nếu sử dụng Cocoapods
- Một thiết bị Apple tương thích với ARKit chạy iOS 12.0 trở lên (mục tiêu triển khai bắt buộc đối với iOS 12.0 trở lên)
Thiết lập ứng dụng mẫu
Dự án GeospatialExample đi kèm với SDK ARCore dành cho iOS mô tả mã gọi API Không gian địa lý.
Sao chép hoặc tải xuống SDK ARCore dành cho iOS trên GitHub để lấy mã ứng dụng mẫu.
Mở cửa sổ Terminal (Dòng lệnh) hoặc Finder (Trình tìm kiếm) rồi chuyển đến thư mục mà bạn đã sao chép hoặc tải SDK xuống.
Chuyển đến thư mục arcore-ios-sdk-master/Examples.
Mở thư mục Example (Ví dụ), chọn thư mục GeospatialExample và nhấp vào Mở.
Thiết lập một dự án trên Google Cloud
Trước khi sử dụng Hệ thống định vị hình ảnh (VPS) trong ứng dụng của mình, bạn phải bật ARCore API trong một dự án mới hoặc hiện có trên Google Cloud. Mặc dù API Không gian địa lý hoạt động với cả uỷ quyền không dùng khoá API và uỷ quyền Khoá API. Để xem hướng dẫn bắt đầu nhanh này, hãy sử dụng API Phương thức khoá.
Thiết lập yêu cầu uỷ quyền
Để thực hiện lệnh gọi API Không gian địa lý tới VPS, ứng dụng mẫu cần được cấp phép và có thể sử dụng khoá API không bị hạn chế. Nếu sử dụng khoá API bị hạn chế, bạn cũng phải hãy cung cấp mã nhận dạng gói để liên kết với khoá API.
Trong XCode, trong ứng dụng mẫu GeospatialExample, hãy mở tệp ViewController.m và tìm your-api-key.
Thêm khoá API vào
GARSession
: dán khoá API mà bạn đã sao chép từ bước trước trên văn bản, your-api-key (để lại dấu ngoặc kép), như hiển thị:self.garSession = [GARSession sessionWithAPIKey:@"your-api-key" bundleIdentifier:nil error:&error];
Thiết lập SDK ARCore
Ứng dụng GeospatialExample đi kèm với một Podfile
được định cấu hình sẵn với
SDK ARCore và phiên bản iOS mà bạn cần. Để cài đặt các phần phụ thuộc này, hãy mở một
Cửa sổ dòng lệnh rồi chạy pod install
từ thư mục chứa dự án Xcode
đã tồn tại.
Thao tác này sẽ tạo một tệp .xcworkspace
mà sau này bạn sẽ sử dụng để tạo và chạy
.
Xây dựng và chạy ứng dụng mẫu
Trong Xcode, hãy chọn tệp không gian làm việc GeospatialExample rồi nhấp vào Ký và Chức năng.
Đánh dấu vào hộp Tự động quản lý việc ký.
Trong trường Nhóm, hãy nhập tên nhóm.
Bạn có thể sử dụng Mã nhận dạng gói mặc định để chạy ứng dụng từ Xcode, nhưng bạn phải thay đổi mã nhận dạng gói này nếu sử dụng GeospatialExample làm mã giả lập cho ứng dụng của riêng mình trong quá trình phát hành chính thức.
Kết nối thiết bị của bạn để chạy ứng dụng mẫu.
Tạo và chạy ứng dụng GeospatialExample từ tệp
.xcworkspace
để chạy ứng dụng đó trên thiết bị của bạn.Để tránh lỗi bản dựng, hãy đảm bảo bạn đang tạo bản dựng từ
.xcworkspace
chứ không phải tệp.xcodeproj
.
Bạn sẽ thấy được chế độ xem camera, cùng với thông tin gỡ lỗi mô tả biến đổi Không gian địa lý hiện tại của thiết bị của bạn. Khi bạn quét môi trường xung quanh bạn, hãy chú ý đến các giá trị tin cậy về độ chính xác khi định vị có thể thay đổi khi bạn di chuyển xung quanh nếu bạn đang ở khu vực được bản địa hoá VPS hỗ trợ.
Khi ARCore đã tự tin về vị trí và hướng đi của thiết bị, bạn có thể đặt Cố định vị trí hiện tại của bạn bằng cách sử dụng biến đổi Không gian địa lý.
Độ chính xác của định vị có thể quá thấp nếu không có thông tin về VPS. Chiến lược phát hành đĩa đơn ứng dụng phải có kết nối Internet và vị trí phải biết được vị trí. Để có kết quả tốt nhất, hãy chạy ứng dụng mẫu ở ngoài trời (không phải trong nhà) vào ban ngày.
Ngoài ra, nếu bạn đang ở trong khu vực không hỗ trợ VPS hoặc nếu tín hiệu GPS không phải là đủ, bạn có thể cần phải điều chỉnh ngưỡng tin cậy trong ứng dụng theo thứ tự để đặt quảng cáo cố định.
Cách điều chỉnh ngưỡng:
Trong Xcode, hãy mở tệp ViewController.m rồi duyệt đến các mục sau mục:
// Thresholds for 'good enough' accuracy. These can be tuned for the // application. We use both 'low' // and 'high' values here to avoid flickering state changes. static const CLLocationAccuracy kHorizontalAccuracyLowThreshold = 10; static const CLLocationAccuracy kHorizontalAccuracyHighThreshold = 20; static const CLLocationDirectionAccuracy kHeadingAccuracyLowThreshold = 15; static const CLLocationDirectionAccuracy kHeadingAccuracyHighThreshold = 25;
Hãy điều chỉnh các giá trị này nếu cần. Giá trị càng cao thì độ chính xác càng thấp.
Việc giảm độ chính xác cho phép ứng dụng đặt vĩ độ lớn hơn cho ứng dụng. Xem Điều chỉnh để biến đổi độ chính xác để biết thêm thông tin.
Các bước tiếp theo
Xem xét Hướng dẫn cho nhà phát triển về không gian địa lý trên iOS và bắt đầu tạo bằng API Không gian địa lý.