gpt4 book ai didi

ios - Xcode 6.3 : Comparison of address of 'UIApplicationOpenSettingsURLString' not equal to a null pointer is always true 打开设置警告问题

转载 作者:可可西里 更新时间:2023-11-01 03:27:14 24 4
gpt4 key购买 nike

我不是在发明轮子。在 iOS8 中,要从应用程序内部打开设置,我使用以下代码:

BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL);

if (canOpenSettings)
{
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:url];
}

代码在stackoverflow的很多答案和问题中。

问题出现在 Xcode 6.3 上,我收到警告说:

“UIApplicationOpenSettingsURLString”的地址不等于空指针的比较始终为真

有趣的是,Apple 在他们的示例代码中使用了它:
https://developer.apple.com/library/ios/samplecode/AppPrefs/Listings/RootViewController_m.html

关于如何避免警告并仍然检查我是否可以打开“设置”的一些想法?

最佳答案

已解决:

问题与应用程序中的部署目标有关。

screenshot

如果 Target 为 8.0 或更高,则比较将始终为真,因为您始终超过 8.0。所以我们不需要 if 验证:

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:url];

另一种选择可以是:

NSURL *settings = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:settings])
{
[[UIApplication sharedApplication] openURL:settings];
}

关于ios - Xcode 6.3 : Comparison of address of 'UIApplicationOpenSettingsURLString' not equal to a null pointer is always true 打开设置警告问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29559430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com