+1

Phương pháp fake location (simulation location) trong Iphone

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 backgroundTaskIDapplicationWillResignActive 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

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí