iPhone模拟器安装在我的计算机的哪个位置?
我一直在试图找到我在模拟器中运行的测试应用存储的位置。
iPhone模拟器安装在我的计算机的哪个位置?
我一直在试图找到我在模拟器中运行的测试应用存储的位置。
/Applications/Xcode.app/Contents/Developer/Applications/
其中包括:
对于Xcode 7,您可以在以下位置找到:
/Users/{USERNAME}/Library/Developer/CoreSimulator/Devices/{CRIPTIC NUMBER}/data/Containers/Data/Application/{CRIPTIC NUMBER}/Documents/
或者在您的Xcode项目中执行以下代码:
Objective C
NSLog(@"Documents目录: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);
Swift
print(applicationDocumentsDirectory.path)
最佳答案正确指出了模拟器应用的位置。但是,还有一个次要位置,用于存储示例应用程序(以及您构建的应用程序),供模拟器访问。该位置为:
~/Library/Developer/CoreSimulator/Devices
每个子目录都是设备ID。您可以在这些目录中的data/Containers/Bundle/Application/{app_id}中查找应用程序的位置。
我发现编程中最简单的方法是通过运行应用程序并在[NSBundle MainBundle]中使用NSLog(),它将显示模拟器中运行的整个应用程序路径。
我花了一些时间,但我刚刚在/Applications/Xcode.app/Contents/Developer/Applications/iOS\ Simulator.app
找到了我的模拟器。
一种超级简单而且时髦的方法是使用Apple Script:
property findtype : quoted form of "kMDItemContentType = \"com.apple.application-bundle\""
set simulatorFolder to POSIX path of (path to application support folder from user domain) & "iPhone Simulator/"
set appFiles to paragraphs of (do shell script "mdfind -onlyin " & quoted form of simulatorFolder & " " & findtype)
if appFiles is not {} then
set mostRecentApp to item 1 of appFiles
tell application "Finder" to reveal ((POSIX file mostRecentApp) as alias)
tell application "Finder" to activate
end if