2016-05-09 6 views
1

私はアンドロイドとiOSの両方のデバイスをターゲットとするモバイルテストスイートを持っています。しかし、アンドロイドとiOSの環境が似ていることを考えて、シミュレータで作成されたiOSデバイスのストック写真を削除したいと考えています。iOSシミュレータからストックフォトを削除

iOSシミュレータからストック写真をコマンドラインで削除する方法はありますか?テストスイートの実行ごとに繰り返すことができるような方法で?

答えて

1

すべてのシミュレータの写真データは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から適応されました。これとあなたの勘定額は異なる場合があります。

+0

これはappiumではなく、少なくとも動作していないようです。 Appiumは、スクリプトが写真を削除した後、デバイスをリセットするようだ。 – netbrain

+0

@netbrainあなたがAppiumを使用していたことを知りませんでした。あなたのために別の解決策を見つけようとします。 – JAL

関連する問題