Phương pháp fake location (simulation location) trong Iphone
Bài đăng này đã không được cập nhật trong 8 năm
Việc sử dụng tính năng simulation location trong Xcode , chúng ta có thể fake đc location trong máy iphone dev
Chúng ta có thể sử dụng Simulate Location của Xcode để fake GPS location của Iphone. Location của IOS luôn đc chia sẻ với toàn bộ Appli nên việc fake GPS sẽ làm ảnh hưởng đến các app khóc.
Cách mô phỏng vị trí GPS
1.Sử dụng Xcode để tạo project mới
Nội dung blank sẽ tốt nhất nên ta sử dụng Single View Application để tạo project mới
2. Viết thêm xử lý Background vào trong file AppDelegate.swift
Ta cần share location trong app nhưng Simulate Location
thì bị suspend trong app nên chúng ta cần viết thêm xử lý trong phần BackGround ở AppDelegate.swift
import UIKit
import CoreData
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var backgroundTaskID : UIBackgroundTaskIdentifier = 0
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
return true
}
func applicationWillResignActive(application: UIApplication) {
self.backgroundTaskID = application.beginBackgroundTaskWithExpirationHandler(){
[weak self] in
application.endBackgroundTask((self?.backgroundTaskID)!)
self?.backgroundTaskID = UIBackgroundTaskInvalid
}
}
}
Ta đã thêm phần backgroundTaskID
và applicationWillResignActive
method vào trong file, các phần còn lại giữ nguyên
3. Sử dụng Device để chạy App
Chọn device là Iphone , và thực hiện run App
4. Sử dụng Simulate Location
Khi app đang running chúng ta chọn Debug -> Simulate Location
và chọn để di chuyển đến một thành phố nào đó , ví dụ thử chọn đến London
Sau đó với trạng thái này ta mở thử app Map ra và confirm location đã ở London
5. Fake location tuỳ ý
Để fake location tuỳ ý chúng ta cần tạo file GPX với format XML và chỉ đưa thông tin Lat Long vào bên trong file MyLocation.gpx
<?xml version="1.0"?>
<gpx version="1.1">
<wpt lat="35.6575811" lon="139.7009455" />
</gpx>
file này tôi đã fake thành vị trí của ga shibuya bên Nhật.
Sau đó chọn Debug > Simulate Location > Add GPX File to Project
để chọn file GPX vừa rồi
Và để confirm về vị trí mới từ file GPX chúng ta lại mở app Map ra confirm thêm lần nữa
Tham Khảo: Qiita
All rights reserved