13

我想在 google plus 上分享图片:

我用过 google+ api

AppDelegate.m

[GPPSignIn sharedInstance].clientID = @"MyClientID";
[GPPDeepLink setDelegate:self];
[GPPDeepLink readDeepLinkAfterInstall];

和按钮动作

视图控制器.m

id<GPPShareBuilder> shareBuilder = [[GPPShare sharedInstance] shareDialog];

[shareBuilder setURLToShare:[NSURL URLWithString:@"http://dummy.com"]];
[shareBuilder setTitle:@"Some title" description:@"Some description" thumbnailURL:[NSURL URLWithString:@"http://dummy.com/image"]];
[shareBuilder setContentDeepLinkID:@"MyclientID"];
[shareBuilder open];

但是单击它会崩溃并显示错误:

-[__NSDictionaryM gtm_httpArgumentsString]: unrecognized selector sent to instance 0x1e887ea0'

它在 [shareBuilder open] 上崩溃

4

6 回答 6

38

这是因为您没有设置其他链接器标志,转到构建设置然后 其他链接器标志:-ObjC

于 2013-09-09T09:14:32.213 回答
10

打开目标的构建设置:

目标的构建设置>转到链接部分>其他链接器标志 将其他链接器标志设置为:-ObjC

确保你的角色应该是 > -ObjC (matching case) 。

于 2015-03-23T07:39:21.293 回答
1

我也遇到过这个问题,但最终我找到了答案。正如上面一些朋友所说,我忘记了将 ObjC 链接器标志添加到应用程序目标的构建设置中:

因此,转到应用程序目标部分的构建设置页面,一旦到那里,在其他链接器标志中添加以下内容

-对象

所以,这可能对你有帮助!朋友!

于 2014-06-30T10:12:30.027 回答
1

其他链接器标志中的 ObjC。如果已经添加 -ObjC 尝试删除它并再次添加它。第一次我只是复制过去 -ObjC 并且它没有工作,但是在删除并再次添加它之后它开始工作。

于 2013-11-18T09:38:33.327 回答
1

Amit Bhavsar 说得对。转到构建设置,链接,在其他链接器标志中设置,进入调试和发布,-ObjC。检查您的 AppDelegate 是否实现了 GPPDeepLinkDelegate 以及您的视图。

于 2013-09-11T22:39:53.327 回答
0

您没有分配 GPPSignIn 类的 client_ id。在您的 appdelegate 中尝试此代码

[GPPSignIn sharedInstance].clientID = @"MY_CLIENT_ID";
[GPPDeepLink setDelegate:self];
[GPPDeepLink readDeepLinkAfterInstall];

然后尝试共享链接以正确的方式实现它

于 2013-07-25T12:11:26.827 回答