偶然地,我添加了行< array>< / array>到我的应用程序' Contents / Info.plist文件。在Xcode调试器中启动应用程序时,计算机似乎崩溃并重新启动。这被认为是与安全相关的问题吗?
在macOS Sierra 10.12.6和Xcode 8.3.3上重现的步骤:
(1)在Xcode中创建并构建默认的Cocoa应用程序
(2)使用文本编辑器添加行< array>< / array>到< plist>的末尾阻止你的< app> /Contents/Info.plist;这是我的Info.plist的最后3行:
< /字典>
<阵列>< /阵列>
< / plist中>
(3)不构建,只需在Xcode调试器中运行应用程序;应用程序崩溃,出现灰色屏幕,机器重新启动
答案 0 :(得分:0)
我觉得这里还有其他事情。您使用的是一个主要的OS版本(如果可以使用Beta,则为两个),我有一种感觉,如果您要与Apple一起打开一个错误,它们只会告诉您安装最新的东西。但是我有最新的,所以我会尝试的。
我正在运行10.14,并且尝试了您的建议。我进去并手动禁用了代码签名,这是Xcode 10(和9想)所必需的。当我按照您的测试进行操作时,该应用程序无法启动。启动后会产生错误,显示“无效的属性列表”。
因此,可以肯定的是,这可能是旧版操作系统中的错误。以及为什么不与Apple一起打开bug。只需包括您在这里的内容即可。但是,我怀疑您的计算机上还有其他问题,这会引发恐慌。您也许可以挖掘日志以找出原因。
更新
我按照说明进行操作,只是修改了TextEdit.app,然后插入<array><\array>
。我能够在10.13上重现恐慌,但在10.11或10.14上却无法重现(我唯一能使用的机器)。
*** Panic Report ***
panic(cpu 0 caller 0xffffff8012515e80): initproc exited -- exit reason namespace 2 subcode 0x4 description: none
我相当确定这意味着启动崩溃了。我相信,一旦发生这种情况,内核就会出现恐慌。有趣的是,我尝试了使签名无效的修改,但没有使Info.plist无效。这些似乎并没有引起恐慌。这只是所有其他操作系统所做的事情,这导致进程崩溃:
Application Specific Information:
dyld: launch, running initializers
/usr/lib/libSystem.B.dylib
Sandbox registration failed: The code signature is not valid: The operation couldn’t be completed. (OSStatus error -67030.)
这正是我会在10.13上预期的结果。我能够在某些情况下实现这一目标。但是,没有此特定更改。