当我浏览器跟随时,我得到一堆序列号。
cd ~/Library/Developer/CoreSimulator/Devices/
我确切知道哪个模拟器(例如带有iOS8.1的iPhone 5)已用于运行我的应用程序。但有时,我发现很难探索模拟器来检查文件目录和其他的东西。一切都是序列号。
是否可以轻松地探索模拟器,如下所示?
答案 0 :(得分:1)
你可以运行xcrun simctl list
来查看每个模拟器设备的UDID是什么,或者你可以直接从device.plist中取出它。
答案 1 :(得分:0)
以上是上述请求的shell脚本。
cd ~/Desktop
mkdir Simulators_Shortcuts
destination="`pwd`/Simulators_Shortcuts"
cd $destination
cd ~/Library/Developer/CoreSimulator/Devices/
for d in *; do
if [ -d $d ] ; then
cd $d;
deviceName=`/usr/libexec/PlistBuddy -c "print :deviceType" device.plist | sed -e 's/com.apple.CoreSimulator.SimDeviceType.//g'`
osName=`/usr/libexec/PlistBuddy -c "print :runtime" device.plist | sed -e 's/com.apple.CoreSimulator.SimRuntime.//g'`
linkName="$deviceName-$osName"
currentPath=`pwd`
ln -s $currentPath "$destination/$linkName"
cd ..
fi
done
cd $destination
以下是输出文件夹的快照。
答案 2 :(得分:0)
这是一种使用Swift访问Simulator中运行的模拟器的tmp,文档或其他文件夹的简单方法。将它放在AppDelegate.swift didFinishLaunchWithOptions中,它将在控制台窗口中提供文件路径的输出。然后你可以复制并粘贴到Finder>去>转到文件夹...
if UIDevice.currentDevice().model == "iPhone Simulator" || UIDevice.currentDevice().model == "iPad Simulator" {
var locale:String = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).description
locale = (locale as NSString).substringFromIndex(8)
locale = (locale as NSString).substringWithRange(NSRange(location: 0, length:(locale as NSString).length - 1))
println("\n\n\(locale)\n\n")
}
这是Xcode控制台窗口的示例输出:
/Users/brope001/Library/Developer/CoreSimulator/Devices/59E93965-6DEA-4A06-95EC-01FA155226D7/data/Containers/Data/Application/59115DEA-25C7-4400-8548-8A6ADD02E339/Documents/