我想在google plus上分享图片:
我使用过google + api
AppDelegate.m
[GPPSignIn sharedInstance].clientID = @"MyClientID";
[GPPDeepLink setDelegate:self];
[GPPDeepLink readDeepLinkAfterInstall];
和按钮操作
ViewController.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]
上崩溃了答案 0 :(得分:37)
这是因为你没有设置其他链接器Flag , 转到Build Setting然后 其他链接标记:-ObjC
答案 1 :(得分:10)
打开目标的构建设置:
构建目标设置&gt;转到链接部分&gt;其他链接器标志 将其他链接器标志设置为: -ObjC
确保你的角色应该是&gt; -ObjC(匹配案例)。
答案 2 :(得分:1)
Amit Bhavsar说的正确。转到Build Settings,Linking,在Other Linker Flags中设置,进入调试和发布,-ObjC。检查您的AppDelegate是否也实现了GPPDeepLinkDelegate和您的视图。
答案 3 :(得分:1)
其他链接器标志中的ObjC。 如果已经添加-ObjC尝试删除它并再次添加它。第一次我只是复制过去-ObjC并且它没有工作但是在删除后再次添加它开始工作。
答案 4 :(得分:1)
我也遇到过这个问题,但最后我找到了答案。 如上所述,有些朋友说,我忘了将ObjC链接器标志添加到应用目标的构建设置中:
因此,请转到应用的“目标”部分的“构建设置”页面, 一旦在那里,在其他链接标志
中添加以下内容-ObjC
所以,这可能对你朋友有所帮助!!!
答案 5 :(得分:0)
您没有分配GPPSignIn类的client_id。在您的appdelegate中试用此代码
[GPPSignIn sharedInstance].clientID = @"MY_CLIENT_ID";
[GPPDeepLink setDelegate:self];
[GPPDeepLink readDeepLinkAfterInstall];