【问题标题】:Google+ SDK for iOS Crash适用于 iOS 的 Google+ SDK 崩溃
【发布时间】:2015-09-11 20:29:13
【问题描述】:

我在使用最新的 iOS 版 Google+ SDK (1.7.1) 时遇到问题。

更具体地说 - 崩溃(下):

  • 包含 Google SDK 包
  • 添加了 info.plist URL 标识符
  • 导致崩溃的代码如下

didTapGooglePlusButton:

if (![AppController me].isNetworkAvailable) {
    [KaiwaAlert presentSimpleAlert:self.view.bounds
                             title:[LI18n localizedString:@"Notice"]
                           message:[LI18n localizedString:@"This operation requires an active internet connection"]
                       buttonTitle:[LI18n localizedString:@"OK"]];
    return;
}

GPPSignIn *signInGooglePlus = [GPPSignIn sharedInstance];
signInGooglePlus.delegate = self;
signInGooglePlus.clientID = kGooglePlusClientId;
signInGooglePlus.shouldFetchGoogleUserEmail = YES;
signInGooglePlus.shouldFetchGooglePlusUser = YES;
signInGooglePlus.scopes = [NSArray arrayWithObjects:@"profile", kGTLAuthScopePlusLogin, @"email",nil];
[signInGooglePlus authenticate];

登录后使用的委托方法:(void)finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error

if (error) {
    LogError(@"Received error %@ and auth object %@",error, auth);
    // show message
    [KaiwaAlert presentSimpleAlert:self.view.bounds
                             title:[LI18n localizedString:@"Share on Google+"]
                           message:[LI18n localizedString:@"Could not share to Google+ - please retry."]
                       buttonTitle:[LI18n localizedString:@"OK"]];

} else {
    id<GPPNativeShareBuilder> shareBuilder = [[GPPShare sharedInstance] nativeShareDialog];

    NSString *message = [[AppController me] configuredShareStringForUser];

    if ([NSString isNullOrEmpty:message]) {
        return;
    }

    [shareBuilder setPrefillText:message];
    //[shareBuilder setURLToShare:[NSURL URLWithString:[AppConstants getShareUrl]]];
    [shareBuilder open];
}

现在发生的事情是在 [shareBuilder open] 通过并且控制权脱离消息之后 - 我可以看到 Google 共享对话框几乎没有打开,并且应用程序崩溃并出现以下崩溃:

Incident Identifier: BFF6428D-CEFD-409F-A099-9401E81008B1
CrashReporter Key:   2BE89934-100A-4FC4-9ECD-29F90CD740C3
Hardware Model:      iPhone7,2
Process:         EKaiwaNow [284]
Path:            /var/mobile/Containers/Bundle/Application/C3385FF5-E55E-4403-    B04C-9D7F9B341A7D/EKaiwaNow.app/EKaiwaNow
Identifier:      com.eikaiwanow.app.ios
Version:         500
Code Type:       ARM-64
Parent Process:  ??? [1]

Date/Time:       2015-06-25T08:45:18Z
OS Version:      iPhone OS 9.0 (13A4280e)
Report Version:  104

Exception Type:  SIGABRT
Exception Codes: #0 at 0x1971cf1e0
Crashed Thread:  0

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',     reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt     to insert nil object from objects[1]'

Last Exception Backtrace:
0   ???                                  0x00000001821cf38c 0x0 + 0
1   ???                                  0x0000000196873f2c 0x0 + 0
2   ???                                  0x00000001820bcda8 0x0 + 0
3   ???                                  0x00000001820bcc40 0x0 + 0
4   EKaiwaNow                            0x000000010041f484 -[GPPOzLogger    flushEventsAndBuildQuery] + 664
5   EKaiwaNow                            0x00000001003f1664 -[GPPServiceBase executeQuery:usingService:batchLogsFrom:completionHandler:] + 820
6   EKaiwaNow                            0x0000000100421c04 -[GPPService executeQuery:usingService:batchLogsFrom:completionHandler:] + 576
7   EKaiwaNow                            0x0000000100421f40 __72-[GPPService executeQuery:usingService:batchLogsFrom:completionHandler:]_block_invoke + 116
8   EKaiwaNow                            0x00000001004221d4 __72-[GPPService executeQuery:usingService:batchLogsFrom:completionHandler:]_block_invoke109 + 464
9   EKaiwaNow                            0x00000001003f2034 __76-[GPPServiceBase executeQuery:usingService:batchLogsFrom:completionHandler:]_block_invoke + 1896
10  EKaiwaNow                            0x000000010043e3a4 -[GTLService handleParsedObjectForFetcher:] + 1392
11  ???                                  0x0000000183141d60 0x0 + 0
12  ???                                  0x0000000182186d10 0x0 + 0
13  ???                                  0x0000000182186724 0x0 + 0
14  ???                                  0x0000000182184478 0x0 + 0
15  ???                                  0x00000001820b10d0 0x0 + 0
16  ???                                  0x000000018d02b170 0x0 + 0
17  ???                                  0x00000001877c25f0 0x0 + 0
18  EKaiwaNow                            0x000000010012e34c main (main.m:57)
19  ???                                  0x00000001970b28b8 0x0 + 0

我几乎到处都查过,但我找不到是什么原因造成的。 我假设有一些 Google+ SDK 问题?

【问题讨论】:

    标签: ios crash google-plus


    【解决方案1】:

    Google 发布了最新的Sign In SDK,用于使用 Google Plus 登录。如果您使用以前的 SDK ,苹果会拒绝应用程序。见讨论here

    Google Sign In SDK 2.0 记录在新的开发网站上:

    https://developers.google.com/identity/sign-in/ios/

    试试这个。可能对你有帮助

    【讨论】:

    • 有趣..我怎么会在他们的网站上错过这个..谢谢!我会检查一下,如果工作会回来。
    猜你喜欢
    • 2014-04-14
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多