2

Xamarin.iOS で新しい SnapChat Creative Kit を実装しようとして、Objective Sharpie を使用して SDK フレームワークをバインドしました。他の SDK の公式ドキュメント (swift と obj-c の実装手順のみが含まれています) に従っている間、問題はありません - ログイン キットの実装に成功しました - コンテンツを SnapChat に送信しようとしているときに、このコードでつまずきました。

特に、 Documentationでは、コンテンツを API に送信するために、次のコードが使用されます。

// swift

let snapImage = /* Set your image here */
let photo = SCSDKSnapPhoto(image: snapImage)

let snap = SCSDKSnapPhotoContent(snapPhoto: photo)

let api = SCSDKSnapAPI(content: snap)
api.startSnapping({ (error: Error?) in
/* Error handling */
})

ドキュメントによると、

SCSDKPhotoSnapContent は、SCSDKSnapContent プロトコルの実装です。Snapchat で共有するための写真スナップをモデル化する方法を提供します。

これが私のC#実装です:

var snapImage = GetCurrentScreenImage();
SCSDKSnapPhoto photo = new SCSDKSnapPhoto(snapImage);
SCSDKPhotoSnapContent snapPhoto = new SCSDKPhotoSnapContent(photo)

SCSDKSnapAPI api = new SCSDKSnapAPI(snapPhoto);
api.StartSnappingWithCompletionHandler((NSError error) =>
{
    // Error handling
});

問題は、SCSDKSnapAPI コンストラクターが抽象クラスである SCSDKSnapContent のみを受け入れ、その実装ではなく、それを呼び出すとエラーが発生することです。

CS1503 引数 1: 'SCSDKCreativeKit_Bindings.SCSDKPhotoSnapContent' から 'SCSDKCreativeKit_Bindings.SCSDKSnapContent' に変換できません

編集:

ApiDefinition.cs

[Export("initWithContent:")]
IntPtr Constructor(SCSDKSnapContent content);

次のような別のコンストラクターを追加してみました。

[Export("initWithContent:SCSDKPhotoSnapContent")]
IntPtr Constructor(SCSDKPhtotoSnapContent content);

コードがビルドされましたが、コールバック時に SnapChat から次のエラー コードを受け取りました。

SnapEncryptionMetadataUnexpectedStatusCode

4

1 に答える 1