私はアンドロイドとiOSの両方のデバイスをターゲットとするモバイルテストスイートを持っています。しかし、アンドロイドとiOSの環境が似ていることを考えて、シミュレータで作成されたiOSデバイスのストック写真を削除したいと考えています。iOSシミュレータからストックフォトを削除
iOSシミュレータからストック写真をコマンドラインで削除する方法はありますか?テストスイートの実行ごとに繰り返すことができるような方法で?
私はアンドロイドとiOSの両方のデバイスをターゲットとするモバイルテストスイートを持っています。しかし、アンドロイドとiOSの環境が似ていることを考えて、シミュレータで作成されたiOSデバイスのストック写真を削除したいと考えています。iOSシミュレータからストックフォトを削除
iOSシミュレータからストック写真をコマンドラインで削除する方法はありますか?テストスイートの実行ごとに繰り返すことができるような方法で?
すべてのシミュレータの写真データはpath/to/[Simulator UDID]/data/Media/DCIM/
とpath/to/[Simulator UDID]/data/Media/PhotoData/
に格納されています。あなたは、削除する写真のすべてのSimulator UDID(またはあなた自身のもの)を取得するスクリプトを書くことができます。 xcrun simctl list
またはinstruments -s devices
を使用して、現在接続されているすべてのデバイスUDIDを一覧表示できます。
はここにあなたのニーズに合わせなければならない小さなRubyスクリプトです:
simulatorList = []
# Get all of the simulator UUIDs from Xcode
rawSimulatorList = `xcrun simctl list`
rawSimulatorList.each_line do |line|
if line.start_with?(" ")
simulator = line.strip
# Ignore any simulators that aren't working
if !simulator.include?("unavailable")
# Extract the UUID
uuid = simulator.match(/\([A-Z0-9\-]+\)/)[0]
uuid = uuid.gsub("(","")
uuid = uuid.gsub(")","")
# Extract the device name
deviceName = simulator.split(' ')[0] + " " + simulator.split(' ')[1]
device = { "name" => deviceName, "uuid" => uuid }
simulatorList.push(device)
end
end
end
simulatorList.each do |simulator|
`rm -rf ~/Library/Developer/CoreSimulator/Devices/#{simulator['udid']}/data/Media/DCIM/`
`rm -rf ~/Library/Developer/CoreSimulator/Devices/#{simulator['udid']}/data/Media/PhotoData/`
end
Rubyは私の最初の言語ではありません。このスクリプトはイアン・スペンスのreset.rb scriptから適応されました。これとあなたの勘定額は異なる場合があります。
これはappiumではなく、少なくとも動作していないようです。 Appiumは、スクリプトが写真を削除した後、デバイスをリセットするようだ。 – netbrain
@netbrainあなたがAppiumを使用していたことを知りませんでした。あなたのために別の解決策を見つけようとします。 – JAL