【发布时间】:2010-12-06 18:29:38
【问题描述】:
iPhone 模拟器安装在我机器的什么位置?
我一直在尝试查找我在模拟器中运行的测试应用程序的存储位置。
【问题讨论】:
标签: iphone objective-c ios xcode ios-simulator
iPhone 模拟器安装在我机器的什么位置?
我一直在尝试查找我在模拟器中运行的测试应用程序的存储位置。
【问题讨论】:
标签: iphone objective-c ios xcode ios-simulator
模拟器:~/Library/Application Support/iPhone Simulator/
您可以在 Mac OS X 中从该目录浏览模拟器文件。
【讨论】:
~代替/Users/INSERT_YOUR_USER_HERE,所以变成:~/Library/Application Support/iPhone Simulator/
~ 调整了路径,就像 progrmr 建议的那样。
Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app 中)作为stackoverflow.com/questions/1567798/… 提到
Xcode 4.4 更新:虽然 iPhone 模拟器仍在原处,但 Apple 在以下位置提供了 iPhone 模拟器的快捷方式:
/Applications/Xcode.app/Contents/Applications
请注意,新版本的 Xcode 现已在 Mac App Store 上提供。因此,以前安装程序附带的所有内容现在都打包到Xcode.app 中。
因此 iOS 模拟器二进制文件位于此处:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/
模拟器中安装的应用程序以及其他配置文件仍然存在:
~/Library/Application Support/iPhone Simulator/
这是Xcode 4.3.1当前发行说明的摘录
Xcode 4.3.1 中的新功能
Xcode 现在作为应用程序分发,而不是作为安装程序。此更改使 Xcode 可以直接从 Mac App Store 更新。
【讨论】:
从 Xcode 6 和 iOS 8 开始,您可以在这里找到它:
~/Library/Developer/CoreSimulator/Devices/{cryptic number}/data/Containers/Data/Application/{cryptic number}/
或者你可以从下面的代码执行中得到它:
NSLog(@"Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);
【讨论】:
Xcode 6 -> /Users/{YOUR NAME}/Library/Developer/CoreSimulator/Devices/{DEVICE ID}/data/Containers/Data/Application/{APPLICATION ID}/
或者在 Xcode 控制台打印出来
#if TARGET_IPHONE_SIMULATOR
NSLog(@"Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);
#endif
【讨论】:
实际的模拟器应用程序本身位于 /Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator
【讨论】:
要在模拟器中查找您的应用程序的最新安装,您可以使用以下命令:
find "/Users/$USER/Library/Application Support/iPhone Simulator" -type d -name 'YourAppName.app' -print0 | xargs -0 ls -td | head -1
不要忘记将 YourAppName 替换为您的应用名称!
【讨论】:
在 Xcode 6 中,iOS Simulator.app 位于此位置:
/Applications/Xcode.app/Contents/Developer/Applications/iOS Simulator.app
【讨论】:
随着 Xcode 6 中 CoreSimulator 的引入,现在每个模拟设备都有自己的数据。以前的版本让所有设备为每个版本的 iOS 共享相同的数据。
设备位于 ~/Library/Developer/CoreSimulator/Devices。 日志位于 ~/Library/Logs/CoreSimulator
请注意,~/Library/Developer/CoreSimulator/Devices//data/Library/Logs 是指向~/Library/Logs/CoreSimulator/ 的符号链接。
CoreSimualtor 将在首次使用时(以及在安装较旧的模拟器运行时之后)创建一组初始设备。您可以在 Xcode.app 中或使用“xcrun simctl create”或“xcrun simctl delete”从命令行添加或删除新设备
【讨论】:
从 Xcode for Lion 的 4.3.2 开始,iOS 模拟器位于应用程序包的内容中...如果您右键单击 xcode.app 并单击“显示包内容”,然后导航到 Contents/Developer/ Platforms/iPhoneSimulator.platform/Developer/Applications 在那里你会找到 iOS Simulator 应用程序......只需将它拖到你的 Dock 上就可以了......或者你可以创建一个别名并将其拖到你的桌面(或任何你想要的地方) 以便于访问模拟器...为什么Apple决定将其埋在包装中,我不知道。
【讨论】:
在 X-Code 4.2 中
iPhone模拟器的照片存放在
/Users/user_name/Library/Application Support/iPhone Simulator/5.0/Media/DCIM/100APPLE
【讨论】:
在 El Capitan 和 Xcode 7.2 和 7.3 上,我在这里找到了模拟器:
/Applications/Xcode.app/Contents/Developer/Applications/
【讨论】:
对于 xcode 7,您可以在此处找到它
/Users/{USERNAME}/Library/Developer/CoreSimulator/Devices/{CRIPTIC NUMBER}/data/Containers/Data/Application/{CRIPTIC NUMBER}/Documents/
或者在你的 xcode 项目中执行下面的代码
目标 C
NSLog(@"Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);
斯威夫特
print(applicationDocumentsDirectory.path)
【讨论】:
最佳答案对于模拟器应用程序的位置是正确的。但是有一个次要位置存储示例应用程序(和您的应用程序构建)以供模拟器访问。这是:
~/Library/Developer/CoreSimulator/Devices
每个子目录都是一个设备 ID。您可以通过查看 data/Containers/Bundle/Application/{app_id}
中的每个目录来找到您的应用所在的位置【讨论】:
我找到了以编程方式找到它的最简单方法。运行应用并将 NSLog() 放入 [NSBundle MainBundle],它将显示应用在模拟器中运行的整个路径。
【讨论】:
一个超级简单和性感的方法是使用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
将其粘贴到 Apple 脚本编辑器中并将其导出为 Mac 应用程序。然后,只要您需要在沙盒中打开 Finder 窗口,您就可以运行该应用程序。代码由 MacScripter 的 StefanK 提供。
【讨论】:
我花了一段时间,但我刚刚在/Applications/Xcode.app/Contents/Developer/Applications/iOS\ Simulator.app找到了我的
【讨论】: