在 iPhone 应用程序中更改系统弹出窗口以获得核心位置权限

Posted

技术标签:

【中文标题】在 iPhone 应用程序中更改系统弹出窗口以获得核心位置权限【英文标题】:Change system pop-up in iPhone app for core-location permissions 【发布时间】:2014-02-05 12:00:14 【问题描述】:

我如何使用我的应用程序的默认弹出窗口来代替系统默认弹出窗口下方的核心位置权限?

这个弹出窗口什么时候来?它是否出现在特定的委托方法上?

有什么办法可以禁用它?

【问题讨论】:

【参考方案1】:

您不能替换那个 UIAlertView,但可以对文本进行裁剪,以便更好地解释为什么您的应用需要访问用户的位置。

见https://***.com/questions/12562152/replacement-for-purpose-property-of-cllocationmanager

【讨论】:

【参考方案2】:

当您访问 CLLocationManager 的 locationServicesEnabled 属性时,会出现此弹出窗口。

[CLLocationManager locationServicesEnabled];

can 在您的应用中处理此问题。但无论如何,你cann't 处理它第一次 根据apple's doc(see locationServicesEnabled topic。

locationServicesEnabled

返回一个布尔值,指示设备上是否启用了位置服务。

+ (BOOL)locationServicesEnabled

返回值 YES,如果启用了定位服务;如果不是,则否。

讨论 用户可以通过在“设置”应用程序中通过切换“位置服务”开关来启用或禁用位置服务。

你应该在开始之前检查这个方法的返回值 位置更新以确定用户是否有位置服务 为当前设备启用。定位服务提示用户 他们第一次尝试在应用程序中使用与位置相关的信息 但不提示后续尝试。如果用户拒绝 使用定位服务并且您尝试开始位置更新 无论如何,位置管理器都会向其委托报告错误。

禁止后,尝试尝试,

if ([CLLocationManager locationServicesEnabled)

    //Do your work

else

   if ([CLLocationManager authorizationStatus] != kCLAuthorizationStatusAuthorized)
          //Show Alert view... 

【讨论】:

@ios 如果它对你真的有用,可以给未来的访问者更多的关注。

以上是关于在 iPhone 应用程序中更改系统弹出窗口以获得核心位置权限的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iPhone (iOS 5) 上的音乐应用程序中为 UITableViewCell 创建一个弹出窗口

iOS 9:如何在不显示系统条形音箱弹出窗口的情况下以编程方式更改音量?

评论Iphone应用程序

苹果手机怎么阻止弹出网页

在 iPhone 上显示弹出透明窗口的最佳方法?

App Store拒绝-内存弹出窗口