Vis*_*yer 9 iphone calendar objective-c ios watchkit
使用新的iOS 9 Beta 5并观看os 2固件,我遇到了一些非常奇怪的事情.
我正在尝试使用此代码,如果用户尚未授予访问权限,则应该提出要求访问日历的权限的警报.问题是即使用户没有访问日历,警报也不会出现:
if ([store respondsToSelector:@selector(requestAccessToEntityType:completion:)])
{
NSLog(@"Monkey");
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)
{
NSLog(@"Banana");
/*
more code here
*/
}
}
Run Code Online (Sandbox Code Playgroud)
在代码中添加断点后,我推断出这一行是问题所在:
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
Run Code Online (Sandbox Code Playgroud)
此行之后的任何内容都将永远不会执行,因此警报永远不会显示.但是,如果我在模拟器上运行watchkit App而不是我自己的手表和iPhone,那么同样的线路也可以工作.虽然我有一个if-else语句granted,但该语句不会执行,因为任何事后{都不会执行.Banana仅表示日志不会显示Monkey.在我自己的设备上测试时会发生这种情况.在模拟器上,两者都将显示,并且还将显示对日历警报的访问.
另外需要注意的是,当iOS 9 Beta 3发布时,同样的代码在我自己的设备和模拟器上运行得非常好.大约一周前,当我将手机更新到iOS 9 Beta 5时,我遇到了这个问题,所以我有理由相信它可能是某种类型的错误.
| 归档时间: |
|
| 查看次数: |
388 次 |
| 最近记录: |