Mac软件打开提示:已损坏,无法打开。您应该将它移到废纸娄 怎么解决?

这篇具有很好参考价值的文章主要介绍了Mac软件打开提示:已损坏,无法打开。您应该将它移到废纸娄 怎么解决?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mac 已损坏打不开您应该将它移到废纸篓,系统运维,Mac OS,macos

文件损坏?尊嘟假嘟?

新入手的苹果电脑打开软件出现:“已损坏,无法打开。您应该将它移到废纸娄” 或 “已损坏,打不开。推出磁盘映像”。这个怎么解决?

第一步:允许打开任何来源软件

1、点菜单栏搜索图标,输入:终端 ,找到后,点击打开,如下图:

 mac 已损坏打不开您应该将它移到废纸篓,系统运维,Mac OS,macos

2、输入以下命令:(复制粘贴进去),如下图:
sudo spctl --master-disable

mac 已损坏打不开您应该将它移到废纸篓,系统运维,Mac OS,macos

3、回车!输入电脑密码
此代码是打开:系统偏好设置 – 安全性与隐私 中的【任何来源】,如下图:
mac 已损坏打不开您应该将它移到废纸篓,系统运维,Mac OS,macos

第二步:解除 GateKeeper 安全机制

1. 再次打开终端:
输入命令:(复制粘贴进去,cr后面输入一个空格)
xattr -cr 
注意⚠️:cr 后面输入一个空格!不要回车!
2. 从应用程序或桌面上,将出现已损坏的软件拖入终端中(xattr -cr 的后面)
mac 已损坏打不开您应该将它移到废纸篓,系统运维,Mac OS,macos
拖入后命令组成结果如下图:
mac 已损坏打不开您应该将它移到废纸篓,系统运维,Mac OS,macos
 3. 回车执行后,重新打开软件,这时已经不再提示损坏了。
注意⚠️:Mac Ventura 13 以上系统,需要先前往系统设置–>隐私与安全性–>完整磁盘访问权限 中允许终端!然后才能操作,否则会遇到 Operation not permitted!

关于 com.apple.quarantine

从 macOS 10.5 开始,来自网络的文件被标记为com.apple.quarantinevia 扩展文件属性。在某些旧版本的 macOS(例如Mac OS X 10.6)中,用户空间扩展属性不会在保存在常见的Cocoa应用程序(TextEdit、Preview 等)中时保留。
com.apple.quarantine—Tagging files downloaded from the Internet as possibly untrustworthy, storing the application used to download them, among other things.
当打开没有签名的 Mac 应用时,可能会报 “App can’t be opened because it is from an unidentified developer” 的错误。这种安全机制叫做 GateKeeper。
删除这个属性,就可以去除app 的隔离性,实现打开软件。

补充知识:扩展文件属性

扩展文件属性是文件系统功能,使用户能够将计算机文件与文件系统不解释的元数据相关联,而常规属性具有由文件系统严格定义的目的(例如权限或创建和修改时间的记录)。与通常可以与最大文件大小一样大的forks不同,扩展属性的大小通常被限制为明显小于最大文件大小的值。典型用途包括存储文档的作者、纯文本文档的字符编码或校验和、加密哈希或数字证书和自主访问控制信息。
在类 Unix系统中,扩展属性通常缩写为xattr。
每个属性都包含名称和相关数据。该名称是一个以 null 结尾的 Unicode字符串。不存在名称空间限制(使其成为一个开放的 xattr系统),并且约定是使用反向 DNS 字符串(类似于Uniform Type Identifiers)作为属性名称。
macOS 支持使用类似 Linux 的 API 从文件或目录中列出、 获取、设置、和删除扩展属性。在命令行中,这些能力通过xattr实用程序公开。

Man xattr 可查看命令手册 


Last login: Fri Feb 24 21:19:49 on ttys000
➜  ~ xattr /Applications/iTerm.app
com.apple.quarantine
➜  ~ xattr -l /Applications/iTerm.app
com.apple.quarantine: 01c1;63f0c653;Homebrew\x20Cask;0D2B9537-08B4-4AC7-ABD1-8D6E3BFA078C
➜  ~ clear
XATTR(1)                     General Commands Manual                    XATTR(1)

NAME
     xattr – display and manipulate extended attributes

SYNOPSIS
     xattr [-lrsvx] file ...
     xattr -p [-lrsvx] attr_name file ...
     xattr -w [-rsx] attr_name attr_value file ...
     xattr -d [-rsv] attr_name file ...
     xattr -c [-rsv] file ...
     xattr -h | --help

DESCRIPTION
     The xattr command can be used to display, modify or remove the extended
     attributes of one or more files, including directories and symbolic links.
     Extended attributes are arbitrary metadata stored with a file, but separate
     from the filesystem attributes (such as modification time or file size).
     The metadata is often a null-terminated UTF-8 string, but can also be
     arbitrary binary data.

     One or more files may be specified on the command line.  For the first two
     forms of the command, when there are more than one file, the file name is
     displayed along with the actual results.  When only one file is specified,
     the display of the file name is usually suppressed (unless the -v option
     described below, is also specified).

     In the first form of the command (without any other mode option specified),
     the names of all extended attributes are listed.  Attribute names can also
     be displayed using “ls -l@”.

     In the second form, using the -p option (“print”), the value associated
     with the given attribute name is displayed.  Attribute values are usually
     displayed as strings.  However, if nils are detected in the data, the value
     is displayed in a hexadecimal representation.

     The third form, with the -w option (“write”), causes the given attribute
     name to be assigned the given value.

     The fourth form, with the -d option (“delete”), causes the given attribute
     name (and associated value), to be removed.

     In the fifth form, with the -c option (“clear”), causes all attributes
     (including their associated values), to be removed.

     Finally, the last form, with either the -h or --help option, displays a
     short help message and exits immediately.

OPTIONS
     -l  By default, the first two command forms either displays just the
         attribute names or values, respectively.  The -l option causes both the
         attribute names and corresponding values to be displayed.  For
         hexadecimal display of values, the output is preceeded with the
         hexadecimal offset values and followed by ASCII display, enclosed by
         “|”.

     -r  If a file argument is a directory, act as if the entire contents of the
         directory recursively were also specified (so that every file in the
         directory tree is acted upon).

     -s  If a file argument is a symbolic link, act on the symbolic link itself,
         rather than the file that the symbolic link points at.

     -v  Force the file name to be displayed, even for a single file.

     -x  Force the attribute value to be displayed in the hexadecimal
         representation.

         The -w option normally assumes the input attribute value is a string.
         Specifying the -x option causes xattr to expect the input in
         hexadecimal (whitespace is ignored).  The xxd(1) command can be used to
         create hexadecimal representations from exising binary data, to pass to
         xattr.

EXIT STATUS
     The xattr command exits with zero status on success.  On error, non-zero is
     returned, and an error message is printed to the standard error.  For
     system call errors, both the error code and error string are printed (see
     getxattr(2), listxattr(2), removexattr(2) and setxattr(2) for a complete
     list of possible error codes).

     Some attribute data may have a fixed length that is enforced by the system.
     For example,

           % xattr -w com.apple.FinderInfo 0 foo
           xattr: [Errno 34] Result too large: 'foo'

     The com.apple.FinderInfo attribute must be 32 bytes in length.

EXAMPLES
     This example copies the com.apple.FinderInfo attribute from the /usr
     directory to the MyDir directory:

           % xattr -px com.apple.FinderInfo /usr
           00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00
           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
           % xattr -l MyDir
           % xattr -wx com.apple.FinderInfo \
             "`xattr -px com.apple.FinderInfo /usr`" MyDir
           % xattr -l MyDir
           com.apple.FinderInfo:
           00000000  00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00  |........@
.......|
           00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |.........
.......|
           00000020

SEE ALSO
     ls(1), xxd(1), getxattr(2), listxattr(2), removexattr(2), setxattr(2)

macOS 12.6                      November 29, 2010                     macOS 12.6
(END)

命令行选项文章来源地址https://www.toymoban.com/news/detail-778307.html

​​​​​​​
  • -l 默认情况下,前两个命令形式要么只显示属性名称或值,分别。 -l 选项会同时导致要显示的属性名称和相应的值。
  • -r 如果文件参数是目录,就好像目录的全部内容一样还指定了递归目录(以便目录中的每个文件目录树被执行)。
  • -s 如果文件参数是符号链接,则对符号链接本身进行操作,而不是符号链接指向的文件。
  • -v 强制显示文件名,即使是单个文件。
  • -x 强制属性值以十六进制显示表示。
  • -w 选项通常假定输入属性值是一个字符串。

参考文档:

File System Programming Guide
How to View & Remove Extended Attributes from a File on Mac OS
macos - How do I remove the "extended attributes" on a file in Mac OS X? - Stack Overflow

到了这里,关于Mac软件打开提示:已损坏,无法打开。您应该将它移到废纸娄 怎么解决?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包