尝试在 Xamarin.iOS 中实现新的 SnapChat 创意工具包,我使用 Objective Sharpie 绑定了 SDK 框架。在遵循其他 SDK 的官方文档(仅包含 swift 和 obj-c 的实现步骤)时,我成功实现了 Login Kit ——我在尝试将内容发送到 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 协议的实现。它提供了一种对照片 Snap 进行建模以共享到 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