gpt4 book ai didi

parse-platform - 从 iOS8 Today Widget 访问 PFUser currentUser

转载 作者:行者123 更新时间:2023-12-02 05:17:41 26 4
gpt4 key购买 nike

我在 Parse google 组中问了这个问题,但我想我会在 SO 上更广泛地打开它。在正式发布之前,关于讨论与 iOS8 相关的任何事情的规则,我仍然有点模糊,但是随着 GM 的退出和扩展的讨论,我想我现在可以问这个问题了。如果没有,它可以等待。

我在后端使用 Parse。我想构建一个 Today 小部件,以显示一些与特定 currentUser 相关的记录。加载和初始化 Parse 不是问题,框架已加载并初始化,这很好。但即使登录到容器应用程序,我似乎也没有引用 currentUser。

这是我创建的代码,只是为了确认我可以访问当前用户,这是行不通的。我试图将它保存在 NSUserDefault 中,这可能是一个 hack,但没有成功。

 PFUser *currentUser = [PFUser currentUser];
if (currentUser) {
nameTF.text = [NSString stringWithFormat:@"%@ %@", [currentUser objectForKey:@"firstName"], [currentUser objectForKey:@"lastName"]];
} else {
nameTF.text = @"No freaking clue who you are.";
}

但我所看到的只是“没有该死的线索……”文本。

我的第一个问题是我是否可以访问当前用户?我想我可以而且需要以某种方式在小组中得到它,但我错过了一些愚蠢的东西。如果是这样,有人可以指出有关实现此目标的最佳方法的资源或信息吗?一旦我可以对当前用户进行查询,我就没事了。

再次感谢您提供的任何建议。

* 更新 *

在 Parse 的 Fosco Marotto 建议将 sessionToken 存储在 NSUserDefaults 中,然后在扩展中使用该 token 来调用 PFUser becomeInBackground 之后,我将以下代码放在一起来测试该建议并且它有效。它需要改进,因为它有点老套,所以我没有将其标记为答案。

NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc]   initWithSuiteName:@"XXXXXXXXXXXXXXXXX"]; 
NSString *pfToken = [sharedDefaults valueForKey:@"PFUserSessionToken"];

[PFUser becomeInBackground:pfToken block:^(PFUser *currentUser, NSError *error) {
if (error) {
// The token could not be validated.
NSLog(@"error happened during becomeInBackground - token could not be validated");
// Show the token just to make sure we got it
nameTF.text = pfToken;
} else {
// The current user is now set to user.
// do stuff with the user
nameTF.text = [NSString stringWithFormat:@"%@ %@", [currentUser objectForKey:@"firstName"], [currentUser objectForKey:@"lastName"]];
}
}];

// Now lets see if we can get PFUser outside of the block

// Not sure if we need this

PFUser *currentUser = [PFUser currentUser];

if (currentUser) {
// We have a reference to currentUser
nameTF.text = [NSString stringWithFormat:@"%@", [currentUser objectForKey:@"firstName"]];
} else {

nameTF.text = @"Don't think you're getting the PFUser thing right here";
}

我可以获得 currentUser 并对其进行查询。感谢 Fosco 的指导,希望这越来越接近解决方案

最佳答案

现在 Parse 提供了在主机应用程序和扩展程序之间共享数据的官方解决方案。更多信息可以在 https://www.parse.com/docs/ios/guide#extensions 找到

关于parse-platform - 从 iOS8 Today Widget 访问 PFUser currentUser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25835739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com