代码之家  ›  专栏  ›  技术社区  ›  Newton Joshua

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

  •  0
  • Newton Joshua  · 技术社区  · 7 年前

    • 在android中,app.wikitudePlugin。isDeviceSupported失败并出现错误,

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

    • 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.

    1 回复  |  直到 7 年前
        1
  •  0
  •   Newton Joshua    7 年前

    Wikitude Cordova插件

    Wikitude 是一个增强现实引擎。和 Wikitude Cordova Plugin

    注:本文件适用于 com.wikitude.phonegap.wikitudeplugin . 其他版本未经测试

    1.将插件添加到应用程序中

    打开控制台,转到项目目录,运行cordova plugin add命令

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

    cordova prepare 使项目准备好按照

    2.输入Wikitude许可证密钥

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

    this._sdkKey 在中定义的属性 WikitudePlugin.js 线 .

    插件\com.wikitude.phonegap.WikitudePlugin\www\WikitudePlugin.js

    在android中,app.wikitudePlugin。isDeviceSupported可能会出现错误,

    尝试调用虚拟方法“int org.json.JSONArray”。null对象引用上的length()

    WikitudePlugin.java

    添加空检查 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:允许摄像

    此应用程序已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。应用程序的信息。plist必须包含一个NSCameraUsageDescription键,该键带有一个字符串值,用于向用户解释应用程序如何使用这些数据。

    使用 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

    需要访问摄像机才能在摄像机图像上显示增强现实内容。

    6、创造自己的增强现实体验

    Wikitude SDK Cordova documentation .

    有关使用Wikitude SDK可以完成的操作的代码示例,请参见 GitHub 。此外,Wikitude Cordova插件示例也可以在上找到 GitHub .

    对于 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 iOS Platform Guide

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

    支持的设备

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

    Android设备要求:
    • 罗盘
    • 加速计
    • 高分辨率器件(hdpi)
    • OpenGL 2.0
    • 具有四核CPU或更高CPU的设备
    支持的iOS设备:
    • iPod Touch(第6代)或更新版本

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

    注:

    It’s OK to Ask and Answer Your Own Questions

    推荐文章