将 iOS 应用程序转换为 64 位架构得到错误和警告

Posted

技术标签:

【中文标题】将 iOS 应用程序转换为 64 位架构得到错误和警告【英文标题】:Convert iOS app to 64 bit architecture getting error and warnings 【发布时间】:2015-06-11 06:01:48 【问题描述】:

我开发了 ios 应用程序。它在 32 位设备上运行良好,但 App Store 需要强制支持 64 位。所以我已将 arm64 添加到架构中,但出现类型引用错误..

    从指针转换为更小的 int 类型会丢失信息..

    r14 = (int)((byte*)type - (int)mem_ds);
    

    许多相同的警告:隐式转换失去整数精度:'long long' 到 'int'

您可以在屏幕截图中看到它:

【问题讨论】:

【参考方案1】:

如文档中所述(参见64-Bit Transition Guide for Cocoa Touch),请使用特殊的uintptr_t 类型来避免截断。

【讨论】:

非常感谢您的快速回复...我在这方面完全是新手,您能告诉我如何使用 uintptr_t.. 非常感谢 当您需要以整数形式存储指针值时,可以将其用作int 的替代品。 r14 应该是 uintptr_t 类型。

以上是关于将 iOS 应用程序转换为 64 位架构得到错误和警告的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV iOS 和 64 位架构

如何将其转换为 32 位架构 ARM 程序集

将 32 位 android 应用程序转换为 64 位应用程序

iTunes 应用上传错误

将 32 位动态库转换为 64 位的 osx

在 C 中将 32 位应用程序转换为 64 位应用程序