如何将二进制/blob file 添加到iOS项目然后在应用程序中以Data
或uint8
数组访问它?
我尝试搜索术语:嵌入式二进制(有关可执行文件的答案(,嵌入式斑点(但仅找到有关sqlite blobs的答案(。
使用拖放或使用右键单击文件夹上的右键 ->"将文件添加到..."
之后,该文件应自动嵌入到您的应用中。您可以通过转到项目设置(单击项目结构中的第一个蓝色图标(,然后在目标下进行检查,然后选择应用程序,然后转到"构建阶段"选项卡。在那里,您应该看到一个"复制捆绑资源"阶段。确保您的文件是其中的一部分,如果没有,请添加 按钮。
然后在您的应用程序内部真的很简单。如果您的文件命名为foo.xyz
,则执行
func loadFile() -> Data?
{
guard let fileURL = Bundle.main.url(forResource: "foo", withExtension: "xyz") else {
print("Failed to create URL for file.")
return nil
}
do {
let data = try Data(contentsOf: fileURL)
return data
}
catch {
print("Error opening file: (error)")
return nil
}
}
添加文件很简单 - 右键单击要添加到的组,选择Add files to xxx
并选择您的文件。确保选择您的应用程序的目标(默认情况下可能是(,以便将其添加到该捆绑包中。
访问该二进制文件也很简单:
guard
let url = Bundle.main.url(forResource: "Filename", withExtension: "bin")
let data = Data(contentsOf: url) else {
print("Well, that didn't work")
}
print("Look - data: (data)")