gpt4 book ai didi

ios - 要求允许在 iOS 应用程序中使用当前位置的警告窗​​口不会让用户有机会在 "don' t 允许“和 "OK"之间进行选择

转载 作者:行者123 更新时间:2023-11-29 12:57:23 37 4
gpt4 key购买 nike

我是 objective-c 和 iOS 编程的新手,在过去的 3 个小时里,我一直在尝试使用 xcode 5 和 iOS7 iPhone 从头开始​​设置这个 gps/定位应用程序。到目前为止,该应用程序已成功加载到我的 iPhone 上。用户界面有一个空标签和一个按钮。当我点击按钮时,它会显示“YourGPSApp 想要使用您的当前位置”,然后有一个“不允许”和一个“确定”选项。

但是,在您甚至可以选择其中一个选项之前,该窗口就消失了。我需要保留窗口并让用户选择一个选项。

这是我到目前为止所做的:

  1. 在头文件中为 IBOutlet UILabel 对象创建一个属性并将其与用户界面连接。

  2. 在头文件中定义了一个 IBAction 方法,并将其与 UI 上的按钮连接起来。

这是我的头文件中的最终结果:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController;

@property (nonatomic, strong) IBOutlet UILabel *gpsLabel;

-(IBAction)gpsButton;

@end

然后我编辑了主文件并得到了这个源代码:

#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>

@interface ViewController ()


@end

@implementation ViewController

- (void)viewDidLoad
{

[super viewDidLoad];

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}


-(IBAction)gpsButton
{

CLLocationManager * gpsLM = [[CLLocationManager alloc]init];

[gpsLM startUpdatingLocation];

}
@end

在这一点上,我 99% 确定当我点击我在标题中设置的 gpsButton 时,它成功地询问用户的 iPhone 它的位置是什么,因为我收到窗口警报询问我是否愿意允许它查看我的位置。

我还转到我的 iPhone 设置并为此应用程序手动打开定位服务。然后我回到应用程序屏幕并再次按下按钮,它会在 iPhone 屏幕右上角的击球手旁边显示“查找位置”箭头,当我返回时,我的应用程序名称旁边也会显示相同的箭头到我的 iPhone 的位置设置。

这表明我的“位置查找”方法工作正常。

我真的需要弄清楚如何防止窗口消失,以便用户可以选择“不允许”或“确定”。

感谢您的帮助。

最佳答案

根据这个POST

原因是 CLLocationManager 在您确认选择之前被释放。

您应该将 CLLocationManager 设置为成员,否则 ARC 将释放对象,因此窗口会自动关闭。

@property (nonatomic, strong) CLLocationManager * gpsLM;


-(IBAction)gpsButton
{

self.gpsLM = [[CLLocationManager alloc]init]; // you may like the alloc it in the init method

[self.gpsLM startUpdatingLocation];

}

关于ios - 要求允许在 iOS 应用程序中使用当前位置的警告窗​​口不会让用户有机会在 "don' t 允许“和 "OK"之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20697492/

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