Wikitude Cordova 插件 - 处理 Android 和 iOS 错误

Wikitude Cordova Plugin - Handle Android and iOS errors

Wikitude Cordova 插件用于在我们基于 cordova 的应用程序中创建我们自己的增强现实。但是在添加插件并按照官方示例应用程序后,应用程序失败了,

是否有任何解决方法。如何解决 Android 和 iOS 问题?

Wikitude Cordova 插件

Wikitude is an Augmented Reality engine. And Wikitude Cordova Plugin 是一个用于 Cordova 的增强现实 SDK,可将增强现实体验嵌入到基于 PhoneGap 和 Cordova 的应用程序中。

注意:本文档适用于 com.wikitude.phonegap.wikitudeplugin v 6.1.0其他版本未测试.

1。将插件添加到您的应用程序

打开一个控制台并转到您的项目目录和运行 cordova 插件添加命令

$ cordova plugin add https://github.com/Wikitude/wikitude-cordova-plugin.git

这会将插件添加到您的应用程序中。

运行 cordova prepare 使项目准备好按照 config.xml 构建

2。输入 Wikitude 许可证密钥

前往 License Page 并下载 Wikitude SDK 的个人许可证密钥。

要使用具有特定许可密钥的 Wikitude Cordova 插件,请使用 this._sdkKey 属性 中定义的 WikitudePlugin.js13.

plugins\com.wikitude.phonegap.WikitudePlugin\www\WikitudePlugin.js

3。 Android: 处理 Wikitude 插件错误

在 android 中,app.wikitudePlugin.isDeviceSupported 可能会因错误而失败,

Attempt to invoke virtual method 'int org.json.JSONArray.length()' on a null object reference

通过向 WikitudePlugin.java

中的数组添加空检查来处理错误

plugins\com.wikitude.phonegap.WikitudePlugin\src\android\WikitudePlugin.java

第 755 行: 添加空检查 if(jsonArray != null){}for (int i = 0; i < jsonArray.length(); i++) {}

4。更新平台

运行 以下命令使用 Wikitude 插件中所做的更改更新平台。它将删除并重新添加平台。

cordova platform remove android cordova platform add android cordova platform remove ios cordova platform add ios

5。 iOS:允许使用相机

在 iOS 中,应用程序可能会因错误而崩溃,

This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

使用PlistBuddy修改应用的plist文件。

运行 以下命令来自 Mac

$ /usr/libexec/PlistBuddy -c "Add :NSCameraUsageDescription string 'Access to the camera is needed to display augmented reality content on top of your camera image.'" "platforms/ios/"${PROJECT_NAME}"/"${PROJECT_NAME}"-Info.plist"

或者您可以手动将以下条目添加到 platforms/ios/"${PROJECT_NAME}"/"${PROJECT_NAME}"-Info.plist

NSCameraUsageDescription Access to the camera is needed to display augmented reality content on top of your camera image.

6.创建您自己的增强现实体验

创建您自己的增强现实体验的步骤可在 Wikitude SDK Cordova documentation 中找到。

可以在 GitHub. Also the example Wikitude Cordova Plugin can be found on GitHub.

上找到使用 Wikitude SDK 可以完成的代码示例

对于isDeviceSupported函数requiredFeatures是可选的。但如果不提供它,该应用程序将无法在 iOS 上运行。所以一定要提供。

requiredFeatures: [ "2d_tracking", "geo" ], ... app.wikitudePlugin.isDeviceSupported(app.onDeviceSupported, app.onDeviceNotSupported, app.requiredFeatures);

7。构建项目

运行以下命令将项目构建到特定平台 cordova build android cordova build ios

有关构建应用程序的更多详细信息,请参阅 Cordova documentions, Android Platform Guide and iOS Platform Guide

注意:每个构建都需要#7。其余步骤仅在初始设置期间需要。

支持的设备

参考:https://www.wikitude.com/external/doc/documentation/latest/phonegap/supporteddevices.html

Android 设备要求:
  • Android 4.0.3+
  • 指南针
  • 加速度计
  • 高分辨率设备 (hdpi)
  • 后置摄像头
  • OpenGL 2.0
  • 具有四核 CPU 或更高
  • 的设备
支持的 iOS 设备:
  • iPhone 5 或更新
  • iPad(第 4 代)或更高版本
  • iPod Touch(第 6 代)或更新机型

参考

Wikitude Cordova 插件:https://www.wikitude.com/external/doc/documentation/latest/phonegap/

注:

步骤#3 解决了 Android 问题,步骤#5 解决了 iOS 问题。

正在关注 It’s OK to Ask and Answer Your Own Questions