【问题标题】:Worklight 6.2 and camera iOS error in autorelease自动释放中的 Worklight 6.2 和相机 iOS 错误
【发布时间】:2014-08-08 13:40:35
【问题描述】:

但我相信我做错了什么。 我正在使用 6.2 wolklight,试图在 iPhone 5 中操作相机,但是当我在 Xcode 5 中构建时,它返回错误:

CDVBarcodeScanner.mm:706:66: 错误:'autorelease' 不可用:在自动引用计数模式下不可用 UIView* overlayView = [[[UIView alloc] initWithFrame:bounds] autorelease];

我正在按照手册使用 IBM Worklight 将您的业务扩展到移动设备,4.8.2 为条形码扫描仪创建外壳。

注意:在 android 中运行良好。

谁能帮帮我?

【问题讨论】:

    标签: ios cordova camera ibm-mobilefirst


    【解决方案1】:

    CDVBarcodeScanner.mm 似乎没有使用 ARC (Automatic Reference Counting),这是使用 Worklight v6.2 创建的 Xcode 项目用于管理内存中对象引用的功能。以前版本的 Worklight 没有利用此功能。

    有一些方法可以通过依赖 autorelease 之类的东西来运行不使用 ARC 的代码。您可以找到有关在 ARC 项目中包含非 ARC 文件的信息here

    另外,我发现的最新版本的CDVBarcodeScanner.mm 似乎没有在任何地方使用autorelease。你可以查看我找到的最新源代码here。您可能需要考虑更新到the plugin 的更新版本。请记住,Worklight v6.2 不支持安装像 Cordova v3.0 这样的插件(即cordova plugin add <path_download_plugin>)。

    我还没有使用过那个插件,所以我说的有点信服。希望对您有所帮助。

    【讨论】:

    • 在不改变插件源的情况下,只添加了标志'-fno-objc-arc'来编译源CDVBarcodeScanner.mm,它工作得很好。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多