我创建了一个应用程序,可以从服务器端编译Swift脚本或项目,显示输出,然后应用程序下载可执行文件。
我知道我无法直接运行此文件,但我可以从服务器端执行此操作,因此在我的应用程序的文件资源管理器中,如果文件是可执行的,它应该能够显示自定义文件图标。当应用程序下载文件时,运行以下代码:
do {
let attributes: [FileAttributeKey:AnyObject] = [FileAttributeKey.posixPermissions: NSNumber(value: 0o775 as UInt16)]
try FileManager.default.setAttributes(attributes, ofItemAtPath: MY_FILE_PATH)
} catch let error {
print(error.localizedDescription)
}
这是检查文件是否可执行的代码:
print("Is the file executable?")
if FileManager.default.isExecutableFile(atPath: url.path) { // Is executable
image.image = #imageLiteral(resourceName: "Exe")
print("YES")
}
但是在文件资源管理器中,文件图标不是可执行图标,并且没有错误设置文件属性。
所以我的问题是,当FileManager.default.isExecutableFile返回true时?
它来自文件权限还是来自架构(该文件是为Raspberry Pi而不是针对iOS编译的)?