我希望其他开发者能够在某个地方遇到过这个问题。我有一个应用程序,我一直在努力获得Apple的批准。有趣的是,在我的iPhone和iOS模拟器中本地运行时,应用程序的行为有所不同。特别是当新用户注册时,我正在检查用户是否同意应用条款和条件的标志。在Parse中,列设置为undefined
,直到它们同意,然后它转到true
。这在我的所有测试中都能正常工作。但在Apple,它不会也不会引发同意条款。以下是该检查的代码:
if((PFUser.currentUser()!["termsAgreed"]) != nil) {
termsAgreed = PFUser.currentUser()!["termsAgreed"] as! Bool
if !termsAgreed {
self.performSegueWithIdentifier("agreeTerms", sender: nil)
}
}
else {
self.performSegueWithIdentifier("agreeTerms", sender: nil)
我做了一项新的更改,看看是否有帮助,因为当用户注册时,我会在此检查前将PFUser.currentUser()!["termsAgreed"]
设置为false
我希望在苹果端强制执行条款协议条件失败,但希望得到任何体验过这样的人的反馈。
答案 0 :(得分:1)
根据您的实际问题,使用力展开不被认为是非常安全的。你的代码会更加稳定:
if let termsAgreed = PFUser.currentUser()?["termsAgreed"] as? Bool where
!termsAgreed {
self.performSegueWithIdentifier("agreeTerms", sender: nil)
}
else {
// proceed
}
PS:我希望语法正确 - 我手头没有IDE。