当文件可用于iOS时?

当文件可用于iOS时?,ios,executable,file-permissions,Ios,Executable,File Permissions,我创建了一个应用程序,从服务器端编译Swift脚本或项目,显示输出,然后应用程序下载可执行文件 我知道我不能直接运行这个文件,但我可以从服务器端运行,所以在我的应用程序的文件浏览器中,如果文件是可执行的,它应该能够显示一个自定义文件图标。应用程序下载文件时,将运行以下代码: do { let attributes: [FileAttributeKey:AnyObject] = [FileAttributeKey.posixPermissions: NSNumber(value: 0o77

我创建了一个应用程序,从服务器端编译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编译的)?

“该文件是为Raspberry Pi编译的”那么iOS为什么会将其视为“可执行文件”?matt我认为这是像Unix一样的权限,因为该文件具有可执行权限,但因为文档明确指出“返回一个布尔值,该值指示操作系统是否能够执行指定的文件“,既然你说这个操作系统将无法执行这个文件,你到底为什么希望这个文件返回
true
?既然你明确地说这是关于文件的可执行权限,我建议你让文件管理器获取文件的权限,看看他们:我真的不知道这会对这个文件有什么影响,但肯定的是,比起你在做什么,这更像是地狱里滚雪球的机会。我很想知道会发生什么!“该文件是为Raspberry Pi编译的”,那么为什么iOS会将其视为“可执行文件”@matt我认为这是Unix,因为该文件具有可执行权限,但由于文档明确表示“返回一个布尔值,指示操作系统是否能够执行指定的文件”,既然你说这个操作系统将无法执行这个文件,你到底为什么希望这个文件返回
true
?既然你明确地说这是关于文件的可执行权限,我建议你让文件管理器获取文件的权限,看看他们:我真的不知道这会对这个文件有什么影响,但肯定的是,比起你在做什么,这更像是地狱里滚雪球的机会。我很想知道会发生什么!