- vừa được xem lúc

Cách fake location (simulation location) trong Iphone

0 0 10

Người đăng: Nguyen Thanh Phong

Theo Viblo Asia

  1. Tại sao cần phải fake location:

Fake GPS trên điện thoại cho phép bạn tạo vị trí giả ở bất cứ nơi nào trên thế giới, tức là vị trí thật trên điện thoại sẽ bị ẩn đi và thay vào đó là một địa điểm mới do bạn lựa chọn. Bằng cách Fake GPS bạn có thể giả lập vị trí của mình để test phần mềm (ví dụ cần định vị giữa khách hàng và bên cung cấp dịch vụ).

Hiện tại có rất nhiều ứng dụng về fake location cho HĐH Android, nhưng với HĐH iOS thì hầu như toàn bộ đều bắt buộc phải Jailbreak máy. Nhưng Jailbreak - bẻ khóa chắc chắn có thể mang đến rủi ro. Các hạn chế của Apple không chỉ giới hạn những gì bạn có thể làm - chúng còn giúp bảo vệ người dùng chống lại tất cả các loại phần mềm nguy hiểm có thể hoạt động không đúng cách trên iPhone. Tải xuống các ứng dụng không an toàn trên iPhone bẻ khóa có thể sẽ "khuyến mãi" thêm cho bạn virus hoặc một số mối nguy hiểm tương tự.

Nên mình xin giới thiệu 1 cách fake location mà không cần phải jailbreak, đó là fake location (simulation location) trong Iphone bằng Xcode:

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

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 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 (Phần này các bạn có thể nhờ dev iOS để support)

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

  1. 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

Chúc các bạn thành công

Tham khảo tại:

https://www.jetbrains.com/help/objc/simulate-location.html

https://medium.com/innocode-stories/tutorial-how-to-simulate-location-on-the-ios-device-e2be20fbd7f4

https://qiita.com/narikei/items/c20d95532130e8fcdeb7

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 502

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 378

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 706

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 336

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 425

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 415