Đối với G + tài liệu ở đây: https://developers.google.com/+/mobile/ios/sign-inGoogle+ SDK dành cho iOS Thêm | Đăng nhập nút lập trình
Dấu hiệu tại nút có thể được bổ sung bằng một XIB hoặc theo trình tự trong một UIViewController.
Tôi có một TableViewController và tôi sẽ thêm nút G + | Đăng nhập như quan điểm phụ kiện của một dòng của bảng:
subtitleCell.accessoryView = self.googlePlusSignInButton;
nơi vào nút đăng nhập sẽ được khởi tạo như sau:
-(void) setGooglePlusButtons {
self.googlePlusSignInButton = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
UIImage *backgroundButtonImage = [UIImage imageNamed:@"bt_search_cancel.png"];
googlePlusSignInButton_.frame = CGRectMake(0.0f,
0.0f,
backgroundButtonImage.size.width,
backgroundButtonImage.size.height);
googlePlusSignInButton_.titleLabel.textColor = [UIColor whiteColor];
googlePlusSignInButton_.titleLabel.font = [UIFont boldSystemFontOfSize:11.0f];
googlePlusSignInButton_.titleLabel.numberOfLines = 2;
googlePlusSignInButton_.titleLabel.shadowColor = [UIColor darkGrayColor];
googlePlusSignInButton_.titleLabel.shadowOffset = CGSizeMake(0.0f,
-1.0f);
[googlePlusSignInButton_ setTitle:NSLocalizedString(@"UI_BUTTONS_LOGIN", @"")
forState:UIControlStateNormal];
[googlePlusSignInButton_ setBackgroundImage:backgroundButtonImage
forState:UIControlStateNormal];
// Make sure the GPPSignInButton class is linked in because references from
// xib file doesn't count.
[GPPSignInButton class];
GPPSignIn *signIn = [GPPSignIn sharedInstance];
signIn.delegate = self;
signIn.shouldFetchGoogleUserEmail = signIn.shouldFetchGoogleUserEmail;
signIn.actions = [NSArray arrayWithObjects:
@"http://schemas.google.com/ListenActivity",
nil];
}
nút được thiết lập tại viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
[self setGooglePlusButtons];
//...
các UIViewControll ed có một giao diện cho các đại biểu đăng nhập:
@interface MXMSettingsTableViewController() <GPPSignInDelegate>
@end
Dường như các đại biểu không được gọi hoặc các dấu hiệu chia sẻ trong nút không được liên kết với trường hợp của bộ điều khiển:
// GPPSignInDelegate
- (void)finishedWithAuth:(GTMOAuth2Authentication *)auth
error:(NSError *)error {
///....
}
tôi giả rằng
// Make sure the GPPSignInButton class is linked in because references from
// xib file doesn't count.
[GPPSignInButton class];
là liên kết nút dụ ViewController:
// The button that handles Google+ sign-in.
@property (retain, nonatomic) GPPSignInButton *googlePlusSignInButton;
nhưng có điều gì đó sai trong việc triển khai này, tôi không thể tìm ra.
Có tất nhiên!Bằng cách này, tôi cũng có thể tách riêng chế độ xem này với đối tượng "điều khiển" đang xử lý tài khoản G + và đăng nhập (nơi tích hợp kClient Id bị thiếu ở đây). Cảm ơn rất nhiều! – loretoparisi
Điều kỳ lạ. Ứng dụng GooglePlus sẽ mở nhưng không có auth nào được thực hiện cả ứng dụng openURL: (NSURL *) url sourceỨng dụng: đang được gọi. ClientId được định cấu hình đúng trên bảng điều khiển dành cho nhà phát triển. – loretoparisi
Bạn đã thêm loại URL chưa? Đây là bước 4 trong hướng dẫn này: https://developers.google.com/+/mobile/ios/getting-started – Lefteris