CMMotionActivityManager 授权状态
CMMotionActivityManager authorization status
我正在尝试找出一种方法来处理 Motion 的授权状态 activity
这是我到目前为止的想法:
manager = CMMotionActivityManager()
manager.queryActivityStartingFromDate(now, toDate: now, toQueue: NSOperationQueue.mainQueue(),
withHandler: { (activities: [CMMotionActivity]?, error: NSError?) -> Void in
if(error != nil){
if(error!.code != Int(CMErrorMotionActivityNotAuthorized.rawValue)){
print("CMErrorMotionActivityNotAuthorized")
}else if(error!.code != Int(CMErrorMotionActivityNotEntitled.rawValue)){
print("CMErrorMotionActivityNotEntitled")
}else if(error!.code != Int(CMErrorMotionActivityNotAvailable.rawValue)){
print("CMErrorMotionActivityNotAvailable")
}
}
})
不过有一个问题:
当我拒绝应用 activity 的运动权限时(通过 settings
),我得到 CMErrorMotionActivityNotEntitled
(我相信我应该得到 CMErrorMotionActivityNotAuthorized
)
知道为什么吗?或者至少这样做的正确方法是什么?
也许你正在得到CMErrorMotionActivityNotAuthorized
。你永远不会知道你的代码,因为你的代码不会询问你得到了什么代码。它会询问您 not 正在获取什么代码:
if(error!.code != Int(CMErrorMotionActivityNotAuthorized.rawValue)){
print("CMErrorMotionActivityNotAuthorized")
}else if(error!.code != Int(CMErrorMotionActivityNotEntitled.rawValue)){
print("CMErrorMotionActivityNotEntitled")
}else if(error!.code != Int(CMErrorMotionActivityNotAvailable.rawValue)){
print("CMErrorMotionActivityNotAvailable")
}
!=
运算符表示 不是 。因此,您正在对代码 不是 的内容进行一系列检查。很难看出您如何通过提出该问题来获得任何有用的信息。询问代码 是什么 可能更有意义,这将涉及使用 ==
运算符。
我正在尝试找出一种方法来处理 Motion 的授权状态 activity
这是我到目前为止的想法:
manager = CMMotionActivityManager()
manager.queryActivityStartingFromDate(now, toDate: now, toQueue: NSOperationQueue.mainQueue(),
withHandler: { (activities: [CMMotionActivity]?, error: NSError?) -> Void in
if(error != nil){
if(error!.code != Int(CMErrorMotionActivityNotAuthorized.rawValue)){
print("CMErrorMotionActivityNotAuthorized")
}else if(error!.code != Int(CMErrorMotionActivityNotEntitled.rawValue)){
print("CMErrorMotionActivityNotEntitled")
}else if(error!.code != Int(CMErrorMotionActivityNotAvailable.rawValue)){
print("CMErrorMotionActivityNotAvailable")
}
}
})
不过有一个问题:
当我拒绝应用 activity 的运动权限时(通过 settings
),我得到 CMErrorMotionActivityNotEntitled
(我相信我应该得到 CMErrorMotionActivityNotAuthorized
)
知道为什么吗?或者至少这样做的正确方法是什么?
也许你正在得到CMErrorMotionActivityNotAuthorized
。你永远不会知道你的代码,因为你的代码不会询问你得到了什么代码。它会询问您 not 正在获取什么代码:
if(error!.code != Int(CMErrorMotionActivityNotAuthorized.rawValue)){
print("CMErrorMotionActivityNotAuthorized")
}else if(error!.code != Int(CMErrorMotionActivityNotEntitled.rawValue)){
print("CMErrorMotionActivityNotEntitled")
}else if(error!.code != Int(CMErrorMotionActivityNotAvailable.rawValue)){
print("CMErrorMotionActivityNotAvailable")
}
!=
运算符表示 不是 。因此,您正在对代码 不是 的内容进行一系列检查。很难看出您如何通过提出该问题来获得任何有用的信息。询问代码 是什么 可能更有意义,这将涉及使用 ==
运算符。