MacOS 10.15不再支持32位应用程序。 你能做什么?

Picture 2

On October 7, 2019, Apple released a new version of its Mac operating system, macOS Catalina. Version 10.15 contains many changes and improvements. One of the significant is the complete phasing out of 32-bit applications. As a developer of such macOS apps, what can you do? That's right, port the app to the 64-bit platform. Will the application work properly from the first attempt? Perhaps, it's possible. Depends on the complexity and amount of the code. But most likely, developers will face a lot of non-obvious errors, which can previously detected using PVS-Studio.

苹果于2019年10月7日发布了其Mac操作系统macOS Catalina的新版本。 版本10.15包含许多更改和改进。 其中一项重要功能是完全淘汰了32位应用程序。 作为此类macOS应用程序的开发人员,您可以做什么? 是的,将应用程序移植到64位平台。 从第一次尝试开始,该应用程序就能正常运行吗? 也许有可能。 取决于代码的复杂性和数量。 但是最有可能的是,开发人员将面临很多非显而易见的错误,以前使用PVS-Studio可以检测到这些错误。

介绍 (Introduction)

Although it is technically possible to run 32-bit applications in the 64-bit environment, Apple has decided not to go down this path and complete the process of switching to the 64-bit platform which has started 10 years ago. For the user, this means that if the developer of the user's favorite app hasn't taken heed of porting it to the 64-bit platform in time, the app will simply stop working in the updated macOS Catalina.

尽管从技术上讲可以在64位环境中运行32位应用程序,但是Apple决定不走这条路,并完成切换到10年前开始的64位平台的过程。 对于用户来说,这意味着如果用户最喜欢的应用程序的开发人员没有及时将其移植到64位平台,则该应用程序将仅停止在更新的macOS Catalina中工作。

It's not that Apple's decision was unexpected: in 2018, at the Worldwide Developers Conference, the company said that macOS Mojave would be the latest version of macOS with 32-bit software support. Probably most of the developers of popular apps have already successfully upgraded to 64-bit to the macOS Catalina release, or are completing the transition.

并非苹果的决定出乎意料:2018年,在全球开发者大会上,苹果表示macOS Mojave将成为支持32位软件的最新版macOS。 可能大多数流行应用程序的开发人员已经成功升级到macOS Catalina版本的64位,或者正在完成过渡。

It should be noted that with all its apparent simplicity, porting of the application to a 64-bit platform has a lot of pitfalls. If some part of an application is written using the C++ language, the developer might need deep understanding of handling memory and pointers, as well as taking account of many non-obvious nuances. In this case usage of the tool, monitoring the code correctness when porting from 32 to a 64-bit platform, will be extremely helpful. PVS-Studio is one of the examples of such tools.

应该注意的是,尽管应用程序看上去很简单,但将其移植到64位平台上却有很多陷阱。 如果应用程序的某些部分是使用C ++语言编写的,则开发人员可能需要对内存和指针的处理有深刻的理解,并要考虑许多不明显的细微差别。 在这种情况下,使用该工具监视从32移植到64位平台时的代码正确性将非常有帮助。 PVS-Studio是此类工具的示例之一。

64位诊断 (64-bit diagnostics)

The PVS-Studio analyzer comprises a special group of diagnostics for such a case. Initially PVS-Studio was meant to analyze C/C++ code and search for errors occurring right in the result of porting to 64-bit. Only after that PVS-Studio evolved into the general-purpose analyzer: support of C# and Java languages, search for potential vulnerabilities, support of safe coding standards (for example, MISRA) and many other features became available.

PVS-Studio分析仪包括针对此类情况的一特殊诊断 。 最初,PVS-Studio旨在分析C / C ++代码并搜索移植到64位的结果中出现的错误。 只是在PVS-Studio演变为通用分析器之后:支持C#和Java语言,搜索潜在的漏洞,支持安全编码标准(例如MISRA)和许多其他功能。

Since then, we have accumulated a great deal of expertise on porting to a 64-bit platform. Our team wrote many articles on this topic. One of the articles on this topic: "A Collection of Examples of 64-bit Errors in Real Programs". The article is quite old, but the problems described in it are also relevant today. I recommend reading it, especially if you're planning or already working on upgrading your apps to 64-bit (either apps in C++ for macOS or any other OS).

从那时起,我们在移植到64位平台上积累了很多专业知识。 我们的团队就该主题写了许多文章。 关于该主题的文章之一:“ 真实程序中64位错误的示例集合 ”。 这篇文章很老,但是其中描述的问题也与今天有关。 我建议您阅读它,特别是如果您正在计划或已经在将应用程序升级到64位(适用于macOS的C ++应用程序或任何其他操作系统)时,尤其如此。

You can enable 64-bit warnings in the following way:

您可以通过以下方式启用64位警告:

Windows / Visual Studio (Windows/Visual Studio)

In the warning view window there is a button to enable the entire group of 64-bit diagnostics:

在警告视图窗口中,有一个用于启用整个64位诊断组的按钮:

Picture 3

Linux / macOS (Linux/macOS)

When starting the analyzer from the console you need to enable 64-bit diagnostics both in the analyzer and the report generator:

从控制台启动分析器时,需要在分析器和报告生成器中都启用64位诊断:

pvs-studio-analyzer analyze ... -a 5 ...
plog-converter ... -a "64:1,2,3"

结论 (Conclusion)

And, of course, nothing prevents you from downloading and trying the PVS-Studio analyzer on your code. Good luck in fighting against 64-bit and other errors!

而且,当然,没有什么可以阻止您在代码上下载并尝试使用PVS-Studio分析仪。 与64位错误和其他错误作斗争的好运!

翻译自: https://habr.com/en/company/pvs-studio/blog/471592/

macOS 10.13.6 升级 10.15 Catalina:3种官方方法对比与1个关键兼容性检查 本文详细解析了从macOS 10.13.6升级到10.15 Catalina的三种官方方法,包括软件更新直连、App Store安装器和恢复模式网络安装,并提供了关键兼容性检查指南,帮助用户顺利完成升级并避免常见问题。 阅读详情

相关推荐

MacBook老用户必看:macOS 10.13-10.15系统安装全攻略(附常见问题解决方案)

本文为MacBook老用户提供macOS 10.13至10.15系统的详细安装教程与解决方案。内容涵盖安装前的兼容性检查与数据备份、制作可启动U盘、核心安装步骤、以及安装后驱动修复与性能优化等关键环节,旨在帮助用户顺利完成旧版本系统安装,并解决Wi-Fi、显卡等常见硬件问题。

weixin_29208327的博客 788

MacOS Catalina 运行32命令行程序的小经验

激进的苹果总是先人一步的进行技术变革,从手机升级64处理器,到抛弃32软件。当然,也难免不能考虑工业生产环境的稳定性要求,导致基本上工业没有使用苹果软硬件的(这里特指那种连接机器的工控机等那些需要软件极其稳定的环境)。介于苹果的高冷,不允许别人染指他的利润,除去美国,在全世界只有百分之几的市场份额。 除了苹果用户和黑苹果爱好者,大概没几个人对苹果系统感兴趣。不巧,我就是一个小黑果一族,刚升级了...

zd200572的博客 1万+

macOS 10.13-10.15系统安装全流程解析与避坑指南

本文详细解析了macOS 10.13至10.15系统的完整安装流程,提供了一份实用的避坑指南。文章从硬件兼容性自查、数据备份、启动盘制作等关键准备工作入手,逐步指导用户完成磁盘操作、系统安装及初始设置,并分享了安装后的性能优化与安全检查清单,旨在帮助用户顺利完成macOS安装,避免常见错误。

kappa的博客 610

macOS 10.15 Catalina版本升级时需要注意的坑

今天苹果正式推送了macOS 10.15 Catalina正式版,此次macOS 10.15 在带来更多新功能的同时,也意味着一个时代的终结。下面我们看下升级新版本可能会存在哪些问题

mjgwf的专栏 8454

Installing Wine on Mac

https://www.davidbaumgold.com/tutorials/wine-mac/#part-1:-install-homebrew Installing Wine on Mac This tutorial is for intermediate users who want to install and useWineon their computer running m...

rjc_lihui的专栏 625

如何检查Mac的32应用程序在High Sierra之后将停止运行

Apple is abandoning support for old 32-bit applications across the board. iOS 11 won’t support 32-bit apps, and now macOS High Sierra will be the “last macOS release to support 32-bit apps without com...

cuma1988的博客 1015

检查Mac电脑是32还是64运行以及修改方法

以前遇到过一种情况,就是开发的Mac PC端的App在客户Mac 10.7系统之下有问题。经过检查,发现我们提供的驱动是64系统下运行的,但是客户的电脑是32,结果导致通过kextload命令加载驱动失败。App当然不能够正常运行。 下面就是查看当前电脑是以32还是以64运行的方法: 1.我的Mac系统是OS X EI Capitan Version 10.11.2 ------>

henanzhg的博客 9168

为什么软件不再支持老版本 macOS10.15以前系统

原因解释系统 API 不兼容老系统缺少所需底层函数安全标准不同老系统不支持新沙箱机制工具链无法构建新版 Xcode/Swift 无法生成兼容老系统的程序开发成本高开发者不愿为过旧系统单独维护。

Never Give Up 2618

Rust不再支持32Apple系统

Rust语言开发团队计划减少对32Apple目标的支持水平。 根据2020年1月3日发布的公告 ,Rust 1.41.0将于2020年1月30日发布,它将是该语言的最终版本,全面支持这些目标。 从Rust 1.42.0开始,32Apple目标将降低为“ Tier 3”状态,这意味着它们将无法通过rustup安装程序下载,并且在自动构建过程中将被忽略。 受团队声明影响的主要目标是i686...

cxu0262的博客 464

rust 交叉编译 32_Rust不再支持32Apple系统

rust 交叉编译 32 Rust语言开发团队计划减少对32Apple目标的支持水平。 根据2020年1月3日发布的公告 ,Rust 1.41.0将于2020年1月30日发布,它将是该语言的最终版本,全面支持这些目标。 从Rust 1.42.0开始,32Apple目标将降低为“ Tier 3”状态,这意味着它们将无法通过rustup安装程序下载,并且在自动构建过程中将被忽略。 受团队声...

cxu0262的博客 620

trae国际版 Mac Intel芯片更新前的dmg文件,更新之后的10.15的系统用不了,Trea 更新后无法在macOS 10.15系统上运行,如何恢复使用旧版本

trae国际版 Mac Intel芯片更新前的dmg文件,更新之后的10.15的系统用不了,Trea 更新后无法在macOS 10.15系统上运行,如何恢复使用旧版本,如云原生、前端、后端、运维和AI都有超多内容更新。虽然macOS 10.15引入了一些重要的新特性和安全性增强,但也为老旧软件带来了兼容性问题。Trea在更新后无法在该版本的macOS上运行,主要是由于架构和安全性方面的变更。3.1 下载旧版本Trea 3.2 手动安装和运行 3.3 禁用自动更新功能 3.4 尝试使用Rosetta 2(如果

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:CSDNWF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 1万+

如何在Mac上快速区分所有32和64应用程序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/ankychan/article/details/102464857 最新更新的macOS Catalina 10.15将不支持32应用,如果您不确定32或64应用程序是什么,那么您会很高兴知道Mac OS在“系统信息”中提供了一个方...

程序员写的技术 FAQ 和杂文 407

golang 升级到新版本_macOS 10.15 Catalina 测试版本升级技巧,教你抢先体验新系统...

macOS 10.15 Catalina 在 WWDC 2019 年苹果全球开发者大会上正式发表,这次命名是以于加利福尼亚州南部的圣卡塔利娜岛命名,新版 macOS 10.15 上有重大改变为 iTunes 已经被移除,并拆分成音乐(Music)、播客(Podcasts)和电视(TV)三款应用程式,也停止对32元应用程式支援,另外也可以让运行iPadOS的iPad,可变成macOS第二个延伸荧...

weixin_42309311的博客 1036

64dev_Dart 官宣:即将停止对MacOS32支持

简介Dart SDK 即将只支持64架构的MacOS什么改变了?Dart SDK 将只为MacOS 提供64版本, dart.dev和homebrew都如此, 将不再支持ia32,即32系统, 老的Mac,没有64支持,就不能再运行新的Dart sdk了.为何改变MacOSX 10.6是最后一个能支持32的操作系统 , 而这是十年前的事情了. 最新的mac OS, 10.15.x 都无...

weixin_39543652的博客 156

MacOS 10.15 Catalina:13个问题和修复

如何修复macOS 10.15 Catalina问题 您好,寻求刺激的人。看起来您已经安装了macOS Catalina Beta,尽管它并没有所有警告,但它并不完美。你不是一个人。我们已经在互联网上翻遍,收集了迄今为止已知的所有macOS Catalina问题。而且男孩,有很多错误可以解决。 无法安装macOS Catalina Catalina重启后死机 Catalina应用程式无法运...

lq98123的博客 6849

MacOS:VScode+EIDE+STM32CubeMX支持调试

本文介绍了在MacOS系统下使用VScode配置STM32开发环境的完整流程。主要内容包括:1)软件准备(VScode、Dotnet、STM32CubeMX等工具的安装);2)通过STM32CubeMX生成项目模板的详细步骤;3)在EIDE中创建工程并配置编译器选项;4)示例代码开发和调试方法;5)工程模板的导出与复用技巧。文章特别针对M1/M2芯片用户提供了优化建议,并强调了开发过程中需要注意的关键配置点,如文件路径设置、Makefile选择等。最后还演示了如何快速实现PWM功能开发。

jdjkdidjdj的博客 1089

macOS Catalina 10.15 正式版更新

10.15.0 正式版 原版系统 2019-10-08 发布 独立服务器下载地址 (支持迅雷等下载工具) 和 百度网盘下载地址 md5: 2ebd2481b59c636f3472cd3e2818a9d3 独立服务器, 支持迅雷/IDM等下载工具 文件都是一样的, 选择一个速度快的下载就好了. 大流量独立服务器, 建议使用迅雷等下载工具http://s8.applex.net/Install.ma...

lwqldsyzx的博客 2329

1909升级卡64_苹果最新系统 macOS Catalina 10.15正式版更新,有哪些升级注意事项

苹果最新系统 macOS Catalina 10.15 正式版上线啦,此次更新带来了许多重大改变,包括 iTunes 正式被拆分为播客、电视、音乐 3 款独立应用。新系统新增「屏幕时间」、「查找」、「随航」等功能以及将通过 Project Catalyst 支持开发人员轻松地将 iPad 应用程序移植到 Mac 上。 下面大家就跟着小编一起来看看有些新功能,并且在升级时需要注意些什么吧!一、苹果最...

weixin_42546361的博客 431
上一篇: scala和sbt_使用用于SBT和Scala的WSDL导入自动化SOAP客户端自动生成例程
下一篇: 最佳实践 scrum_Scrum仪式的类型和最佳做法是什么?
cullen2012
博客等级 码龄11年 38粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值