【问题标题】:Read iPhone Settings Programmatically (Precisely Settings->General->Date & Time->Set Automatically)以编程方式读取 iPhone 设置(精确设置->常规->日期和时间->自动设置)
【发布时间】:2012-11-19 02:14:00
【问题描述】:

我们正在开发一个 iPhone 应用程序,我需要为其读取 iPhone 设置值(确切地说是“设置->常规->日期和时间->自动设置”的状态)。有什么简单/困难的方法可以找出这个值吗?任何提示和技巧都将受到高度赞赏。

【问题讨论】:

    标签: iphone ios ios5 ios6


    【解决方案1】:

    您可以使用以下代码(我刚刚通过检查我 iPad 上 /var/mobile/Library/Preferences/ 目录的内容发现了这一点):

    NSDictionary *pref = [[NSUserDefaults standardUserDefaults] persistentDomainForName:@"com.apple.timed"];
    BOOL autotime = [[pref objectForKey:@"TMAutomaticTimeEnabled"] boolValue];
    NSLog(@"Automatic time is %@", autotime ? @"enabled" : @"disabled");
    

    这些密钥未记录在案,您可能不应该在 AppStore 应用程序中使用它们。但是,您可以在内部应用程序或越狱设备的软件中安全地使用它们。

    【讨论】:

    • 由于某种原因,以下代码总是给我“禁用”{ - (void)applicationDidBecomeActive:(UIApplication *)application { NSDictionary *pref = [[NSUserDefaults standardUserDefaults] persistentDomainForName:@"com.apple.定时"]; BOOL autotime = [[pref objectForKey:@"TMAutomaticTimeEnabled"] boolValue]; NSString *sStatus = 自动时间? @"已启用" : @"已禁用"; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"System Time" message:sStatus delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [警报显示]; [警报发布]; } }
    • 是的,我在手机上运行它,它说 pref 字典是 nil。
    • 这似乎非常不稳定和邪恶——技术上还可以(如预期的那样),但这对于...一般来说并不是一个好建议
    • @H2CO3 “每当您遇到 [...] 或明显不正确且可能非常不正确的答案时,请使用您的反对票。” -- 这对我来说很危险,我明确表示这在技术上是合理的,但说这不是一个好的建议
    • 我同意 H2CO3 并且他明确提到 “这些密钥没有记录,您可能不应该在 AppStore 应用程序中使用它们。但是,您可以安全地在内部应用程序中使用它们或越狱设备的软件”。 它可能对正在为 5.0 编写内部应用程序的人有用。没有理由对这个答案投反对票。
    【解决方案2】:

    不,抱歉,这是不可能的。

    【讨论】:

    • 我和自己打赌,不到 10 分钟就会有这样的答案。
    • 您可以通过点赞我的回答来祝贺自己赢得了赌注。
    • 我不打算这样做,因为就我而言,有办法获取此信息:)
    • 是的,但你不能在应用商店中使用它!
    • 您访问另一个应用程序配置文件。我认为这是另一个应用程序结构
    猜你喜欢
    • 2015-12-03
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 2013-07-30
    相关资源
    最近更新 更多