0

我目前尝试让 aviary sdk 与 iOS 下的 cordova 应用程序结合运行。

在安装了cordova(3.6.3-0.2.13)和最新的Aviary SDK(4.3.0)以及来自https://github.com/m1is/AviaryCordovaPlugin的aviary插件之后,我设法获得了一个简单的示例应用程序来使用android .

当我尝试使用 xcode(6.0.1) 为 iOS 构建完全相同的应用程序并尝试调用该cordova.plugins.Aviary.show方法时,我在 xcode 控制台中收到以下错误:

WebKit 在 webView:decidePolicyForNavigationAction:request:frame:decisionListener:delegate 中丢弃了一个未捕获的异常:您必须在创建 AFPhotoEditorController 的实例之前提供您的 Aviary API 密钥。有关详细信息,请参阅 Aviary SDK 文档。

我通过阅读适用于 iOS 的 SDK 文档了解到 aviary 更改了 apikey/secret 设置以要求将其放入代码中:

必须在实例化 AFPhotoEditorController 实例之前提供 API 密钥和机密。

这里出现了我的问题:我不知道如何将 apikey/secret 提交给 SDK,所有尝试更改或向Aviary.m文件添加内容的尝试都不成功(可能是因为我不了解 ObjectiveC.

所以我想知道是否有人有同样的问题,并且能够指出我如何设置 apikey 和 secret 的正确方向,以便我的 cordova 应用程序可以在 iOS 下运行。

4

1 回答 1

1

看起来插件维护者专注于 android 和 iOS 版本不幸的是不在同一个标​​准上。如果你仍然有这个问题,你可以通过手动编辑插件的 iOS 代码来解决它。只需self.aviary = [[AFPhotoEditorController alloc] initWithImage:image];在 Aviary.m 中找到该行并在其上方添加以下几行:

static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
    [AFPhotoEditorController setAPIKey:@"YourAviaryAPIKey" secret:@"YourAviarySecret"];
});
于 2014-11-26T12:54:56.897 回答