簡體   English   中英

自動化Xcode的“調試”>“模擬位置”命令

[英]Automating Xcode' Debug > Simulate Location command

是否有任何編程方式來控制xcode > simulate location命令? 我有外部位置測試腳本我想運行,理想情況下,測試套件可能會導致xcode隨意更改連接手機的位置。

這是可能的,如果是這樣的話怎么樣?

不確定它是否正是您所追求的,但您可以通過在方案中設置不同的單元測試包使用不同的位置(或GPX文件)。

然后,您可以在每個捆綁包中進行單元測試,以測試您對該特定位置的需求。

方案

xctool也可以使用-only選項在特定目標中運行單元測試:

path/to/xctool.sh \
  -workspace YourWorkspace.xcworkspace \
  -scheme YourScheme \
  test -only SomeTestTarget

有一個名為Pokemon-Go-Controller的GitHub項目可以完全滿足您的需求。

解決方案概述:

  1. 創建一個gpx文件
  2. 創建一個空白項目引用(不復制)該gpx文件並在您的設備上運行它
  3. 運行自動點擊器,它將不斷點擊Xcode中的update location
  4. 使用某些腳本更新gpx文件,設備位置將自動更新

您可以使用此Apple腳本代替自動點擊器:

#Will continue update the location to the location name below from Xcode:

property locationName : "pokemonLocation" #name of your gpx filex

###########################
tell application "System Events"
    tell process "Xcode"
        repeat while true
            click menu item locationName of menu 1 of menu item "Simulate Location" of menu 1 of menu bar item "Debug" of menu bar 1
            delay 0.2
        end repeat
    end tell
end tell

對的,這是可能的。 1.按@InsertWittyName的答案中所述設置GPX文件,或者如本博文中所述 2.使用Instruments使用不同的GPX文件在Simulator中運行您的應用程序。

我會寫出整個過程,但是比我自己更有說服力的人

作為一個狂熱的S / O用戶,我會失去基本上單鏈接的答案。 所以這里有一些額外的獎勵信息。

  1. 您一定要考慮安全性測試您的位置感知功能 今年我將參加Black Hat,所以如果你在那里,我們來談談吧!

  2. 如果你不喜歡以前鏈接/解釋的答案,你可以使用XCTest代碼來模擬不同的位置( 像這樣 )。

  3. 看起來還有像這樣的 Apple Script解決方案。

我希望我至少提供了足夠的信息來證明它不僅僅是一個懶惰的鏈接答案。 享受,祝你好運!

idevicelocation是一個命令行工具,用於模擬ios設備中的地理位置。

用法:
$ idevicelocation [OPTIONS] LATITUDE LONGITUDE

設置通過兩個參數的位置,緯度和經度:

$ idevicelocation 48.856614 2.3522219000000177

傳遞負值:

$ idevicelocation 77.432332 -- -7.008373564

停止位置模擬:

$ idevicelocation --stop

選項:

-d enable connection debug messages.<br/> -u specify device UDID.<br/> -h help.<br/> -s stop location simulation on device.

它使用libimobiledevice庫與進程com.apple.dt.simulatelocation進行通信,該進程也被Xcode在內部用於同一目的。
README文件中有構建指令。
確保在進入隨機位置之前安裝正確的開發人員圖像。
感謝Angulo編寫這個非常棒的實用程序。

這個工具目前沒有附帶libimobiledevice軟件包,盡管有一個Pull Request掛起了很長時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM