Worklight 6.0.0.1 iOS 本机库仅适用于 ARMv7 而不适用于 ARMv7s 和 ARM64?

Posted

技术标签:

【中文标题】Worklight 6.0.0.1 iOS 本机库仅适用于 ARMv7 而不适用于 ARMv7s 和 ARM64?【英文标题】:Worklight 6.0.0.1 iOS Native Library only for ARMv7 and not for ARMv7s and ARM64? 【发布时间】:2013-10-29 19:30:31 【问题描述】:

当我们为 ios 设备构建时,我们似乎仅限于 armv7 架构,因为 sqlcipher.framework(包含在 worklight 中)不是为更现代的架构(armv7s、arm64)构建的

我们必须手动更改 XCode5 中的目标架构,以使项目能够使用 worklight 库进行构建。使用默认设置会出现“缺少切片”并且构建失败

这是已知的吗?是否有计划为现代处理器架构提供 iOS Worklight 库?

【问题讨论】:

【参考方案1】:

这是一个真实的说法,该库目前仅支持 armv7。该架构涵盖了所有支持 Worklight 的 Apple 设备。

您可以编写功能请求here。我无法评论未来的计划。

你可以尝试重新编译sqlcipher,它是开源的。请将结果分享给未来的读者。

编辑 - 2014 年 1 月 30 日:以下解决方法不受官方支持。您可以使用脚本here 为 SQLCipher 和您的项目所依赖的其他仅 ARM7 库(例如 libWorklightStaticLibProjectNative.a)创建一个 ARMv7s 切片。项目中的所有内容都需要有一个 ARMv7s 切片,以便链接器生成应用程序的二进制文件。但是,还值得一提的是,除非您大量使用浮点数学,否则您可能不会看到性能上有很大的变化,请阅读更多 here。

【讨论】:

【参考方案2】:

确实确认(我会将此作为评论添加,但 SO 代表不适合我),我们必须从“Valid Architectrues”中删除 arm7s 和 arm64。

另外将 iOS 部署目标设置为 6.0(在我的情况下,设置为 7.0 时会从 WL 库中获取链接错误,尽管我的同事让它在 7.0 中构建,但库会崩溃,然后在 7.1 中工作。然而,在 7.1 中,使用 arm7 运行导致应用程序运行真的缓慢(注意我们还没有使用任何 WL 类,只是添加了库)。删除 WL 库并为 arm64 编译,一切都很顺利再次。

在我们的例子中,我们使用的是 6.1.0.1

【讨论】:

以上是关于Worklight 6.0.0.1 iOS 本机库仅适用于 ARMv7 而不适用于 ARMv7s 和 ARM64?的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight 6.0.0.1 - 部署到生产服务器时无法初始化 Worklight Project

IBM Worklight 6.0.0.1 - jQuery 调色板不显示

IBM Worklight 6.0.0.1 - Dojo Mobile 图形不出现

IBM Worklight 6.0.0.1 - 部署 .wlapp 时出错

IBM Worklight 6.0.0.1 - 应用程序认证

IBM Worklight 6.0.0.1 - 点击通知时未打开启用推送的应用程序