【发布时间】:2014-10-17 09:42:58
【问题描述】:
我正在尝试从通知中心小部件内的 parse.com 下载一些字符串。
因此,我首先需要让用户登录以进行解析。首先,我正在加载凭据,这些凭据从应用程序本身保存在 NSUserDefaults 中(我知道安全方面。)。这一步工作正常,但是当我执行以下代码时,小部件说,无法加载数据。
func signUserIn(username: String, password: String) {
PFUser.logInWithUsernameInBackground(username, password:password) {
(user: PFUser!, error: NSError!) -> Void in
if (user != nil) {
SMKeychainService.saveToken(password)
var defaults = NSUserDefaults(suiteName: "group.xxx.xxx")
defaults.setObject(username, forKey: "UsernameKey")
defaults.synchronize()
self.delegate?.signedIn!(true)
} else {
self.delegate?.signedIn!(false)
}
}
}
你们有没有人尝试在小部件内从 parse.com 加载数据?你们是如何做到的。我什至无法加载数据,因为就像我提到的小部件在用户登录时崩溃。
该应用程序本身在登录以解析和加载数据方面没有问题。
我解决了问题
我没有实现Parse.setApplicationId("xxx", clientKey: "xxx"),现在我在viewDidLoad 中实现了它并且代码有效!
【问题讨论】:
-
错误信息是什么?单步执行代码时它到底在哪里崩溃?
-
NSUserDefaults正在工作,SMKeychainService也是基于NSuserDefaults。我还尝试了方法调用和没有 Parse 代码的委托返回,所以它只能是PFUser.logInWithUsernameInBackground:方法。
标签: ios swift parse-platform ios-app-extension ios8-today-widget