【发布时间】:2021-08-23 15:21:24
【问题描述】:
xattr -rc "/Users/Me/Library/Containers/BundleId/Data/Library/Application Support/BundleId/Game.app": No such file or directory
Game.app 无法正常打开,因为它是从Launcher.app 下载并解压缩的,Apple 不太喜欢这样。
这两个应用程序都经过代码签名和认证。
我正在使用应用程序支持目录存储下载的Game.zip 和解压缩的Game.app。
FileManager.default.url(for: .applicationSupportDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: true)
.appendingPathComponent(Bundle.main.bundleIdentifier!, isDirectory: true)
运行此代码以尝试剥离属性:
@discardableResult
private func shell() -> Int32 {
let task = Process()
task.launchPath = "/usr/bin/env"
task.arguments = "xattr -rc \"\(self.gameExe.path)\""
task.launch()
task.waitUntilExit()
return task.terminationStatus
}
我尝试过使用chmod -R 755 \"\(self.gameExe.path)\",它可以工作(即找到文件并运行命令)但它仍然无法打开Game.app,这就是我尝试使用xattr 的原因。
无法弄清楚为什么 chmod “有效”但 xattr 无效。
我们将不胜感激。
【问题讨论】: