13

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] でクラッシュする

4

6 に答える 6

38

これは、他のリンカー フラグを設定していないためです。[ビルド設定] に移動してから、 [その他のリンカー フラグ] に移動します: -ObjC

于 2013-09-09T09:14:32.213 に答える
10

target のビルド設定を開きます:

ターゲットのビルド設定 > リンクセクションに移動 > その他のリンカーフラグ その他のリンカーフラグを次のように設定: -ObjC

あなたのキャラクターが > -ObjC (大文字小文字の一致) であることを確認してください。

于 2015-03-23T07:39:21.293 に答える
1

私もこの問題に直面しましたが、最終的に答えを見つけました。上記の一部の友人が言ったように、ObjC リンカー フラグをアプリ ターゲットのビルド設定に追加するのを忘れていました。

そのため、アプリのターゲットセクションのビルド設定ページに移動し、そこに移動したら、その他のリンカーフラグに次を追加します

-オブジェクト

だから、これはあなたの友達に役立つかもしれません!!!

于 2014-06-30T10:12:30.027 に答える
1

Amit Bhavsar は正しいと言っています。Build Settings、Linking に移動し、Other Linker Flags で設定し、debug と release、-ObjC に移動します。AppDelegate が GPPDeepLinkDelegate とビューも実装していることを確認してください。

于 2013-09-11T22:39:53.327 に答える
1

他のリンカー フラグの ObjC。そして、すでに -ObjC を追加している場合は、それを削除してから再度追加してください。初めて-ObjCをコピーしただけで機能しませんでしたが、削除して再度追加すると機能し始めます。

于 2013-11-18T09:38:33.327 に答える
0

GPPSignIn クラスの client_id を割り当てていません。appdelegate でこのコードを試してください

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

次に、正しい方法で実装するためのリンクを共有してみてください。

于 2013-07-25T12:11:26.827 に答える