如何从命令行中提取NSUserDefaults共享首选项?这将是一个开发构建。我想使用某种类型的shell脚本并调用它来检索此信息。这可能吗?如果是这样,怎么样?
更新: 我还需要从unrooted设备而不是模拟器中获取它。因为我想获取APNS令牌并将其存储在某个地方。我目前正在将NSNS令牌存储在NSUserDefaults中。要清楚,我有一个iOS应用程序,我想在Mac上使用命令行脚本获取我存储在NSUserDefaults中的APNS令牌。我需要从设备上获取它的原因是我无法从模拟器进行推送通知,所以除非真实设备注册,否则我不会获得APNS令牌。
更新:我看到了这篇SO文章Browse the files created on a device by the IOS application I'm developing, on workstation?,但我希望自动化这个。无论如何使用xcode命令从shell下拉容器?
答案 0 :(得分:1)
如果您正在使用模拟器,可以在
中找到它们 ~/Library/Developer/CoreSimulator/Devices/<dev-uuid>/data/Containers/Data/Application/<app-uuid>/Library/Preferences/<app-bundle>.plist
dev-uuid
是模拟器的UUID(您可以使用xcrun simctl list
找到它们的列表)
app-uuid
是此应用安装的UUID
app-bundle
是您的应用套装(即com.test.testApp)
答案 1 :(得分:0)
首先,您不需要解决此问题。只需编写一些代码即可将数据打印到控制台。
如果您确实需要这样做,这里是标准用户默认值的解决方案(组用户默认值存储在另一个路径中,我现在无法处理)。
Library/Preferences/<app-bundle>.plist
中。用Xcode打开它。