我目前正在将 iphone 的 facebook 和 twitter 与 gigya 集成。
对于 Twitter,有时它的共享,有时不共享。Facebook 也同样如此。
最近 facebook 甚至没有在屏幕上打开它的登录。在设备上,与 LoginDidFail 等模拟器委托方法不同,DidLogin 多次调用。不知道为什么。
登录发生时,我没有存储任何对象来存储提供者信息。
你能告诉我为什么这不一致吗
这似乎是一个多部分的问题。我需要更多信息才能更清楚地理解。如果可能,请提供代码片段。同时,请参阅以下我的回复:
希望有帮助。
我正在使用以下代码片段
GSAPI *gsAPI // 在头文件中声明
gsAPI = [[GSAPI alloc] initWithAPIKey:XX viewController:self]; // 我把它保存在 viewDidload
// 添加此代码以使 facebook 和 twitter 出现在提供商列表中。这被放入一种方法中,当用户尝试共享时将调用该方法
GSDictionary *pParams5 = [[GSDictionary new] autorelease]; [pParams5 putStringValue:@"facebook,twitter" forKey:@"enabledProviders"]; [gsAPI showAddConnectionsUI:pParams5 委托:自身上下文:无];
//登录失败时调用此方法 -(void)gsLoginUIDidFail:(int)errorCode errorMessage:(NSString*)errorMessage context:(id)context {
}
// 成功登录时调用此方法 - (void) gsLoginUIDidLogin:(NSString*)provider user:(GSDictionary*)user context:(id)context {
GSDictionary *userAction = [[GSDictionary new] autorelease];
[userAction putStringValue:@"title" forKey:@"title"];
[userAction putStringValue:@"userMessage" forKey:@"userMessage"];
[userAction putStringValue:@"desc" forKey:@"description"];
[userAction putStringValue:@"imageurl" forKey:@"linkBack"];
GSDictionary *pParams5 = [[GSDictionary new] autorelease];
[pParams5 putGSDictionaryValue:userAction forKey:@"userAction"];
[gsAPI sendRequest:@“socialize.publishUserAction”参数:pParams5委托:self context:nil];
}
-(void) gsDidReceiveResponse:(NSString*)method response:(GSResponse*)response context:(id)context { //显示成功共享的警报消息 //此方法在设备上被调用两次以上 }