Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 9 Beta 5-日历隐私访问警报未在iPhone上显示,但在模拟器上显示_Ios_Objective C_Iphone_Calendar_Watchkit - Fatal编程技术网

iOS 9 Beta 5-日历隐私访问警报未在iPhone上显示,但在模拟器上显示

iOS 9 Beta 5-日历隐私访问警报未在iPhone上显示,但在模拟器上显示,ios,objective-c,iphone,calendar,watchkit,Ios,Objective C,Iphone,Calendar,Watchkit,在新的iOS9Beta5和WatchOS2固件中,我遇到了一些非常奇怪的事情 我正在尝试使用这段代码,如果用户还没有授予访问权限,它应该会发出一个警报,请求获得访问日历的权限。问题是,即使用户尚未授予日历访问权限,警报也不会出现: if ([store respondsToSelector:@selector(requestAccessToEntityType:completion:)]) { NSLog(@"Monkey"); [store requestAccessToEnt

在新的iOS9Beta5和WatchOS2固件中,我遇到了一些非常奇怪的事情

我正在尝试使用这段代码,如果用户还没有授予访问权限,它应该会发出一个警报,请求获得访问日历的权限。问题是,即使用户尚未授予日历访问权限,警报也不会出现:

if ([store respondsToSelector:@selector(requestAccessToEntityType:completion:)])
{
    NSLog(@"Monkey");
    [store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)
    {
         NSLog(@"Banana");
         /*
         more code here
         */
    }
}
在代码中添加断点后,我推断这一行就是问题所在:

[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
这一行之后的任何内容都不会执行,因此警报永远不会显示。但是,如果我在模拟器上运行watchkit应用程序,而不是在我自己的手表和iPhone上运行watchkit应用程序,同样的思路也会起作用。尽管我已为
授予了if-else语句
,但该语句不会执行,因为
{
不会执行。这意味着日志不会显示
香蕉
,只显示
猴子
。在我自己的设备上测试时会发生这种情况。在模拟器上,两者都会显示,访问日历警报也会出现


还要注意的是,当iOS 9 Beta 3发布时,同样的代码在我自己的设备和模拟器上运行得非常好。大约一周前,当我将手机升级到iOS 9 Beta 5时,我遇到了这个问题,所以我有理由相信这可能是某种错误。

我解决了我的问题。显然,我忘了在我的apple w上进行软件更新atch.更新手表会显示隐私警报,现在我可以抓取手表上的日历事件。

我的手表不会显示在模拟器和设备中。我的项目已转换为Xcode 7。我没有使用Apple watch。你知道这是为什么吗?