Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 斯威夫特:如何从资产目录中获取资产_Swift_Watchkit_Assets - Fatal编程技术网

Swift 斯威夫特:如何从资产目录中获取资产

Swift 斯威夫特:如何从资产目录中获取资产,swift,watchkit,assets,Swift,Watchkit,Assets,尝试时使用WatchKit let asset = NSDataAsset(name:"ASSET-NAME") XCode使用未解析标识符“NSDataAsset”时抛出以下错误 那么如何使用WatchKit从资产目录中获取(声音)文件呢?根据您可以使用 let filePath = Bundle.main.path(forResource: "fileName", ofType: "m4a")! let fileUrl = URL(fileURLWithPath: filePath)

尝试时使用WatchKit

  let asset = NSDataAsset(name:"ASSET-NAME")
XCode使用未解析标识符“NSDataAsset”时抛出以下错误

那么如何使用WatchKit从资产目录中获取(声音)文件呢?

根据您可以使用

let filePath = Bundle.main.path(forResource: "fileName", ofType: "m4a")!
let fileUrl = URL(fileURLWithPath: filePath)
let asset = WKAudioFileAsset(URL: fileUrl)

您正在尝试使用iOS SDK项,而需要使用等效的WatchKit。但是文档中提到的“url”是什么?我是否必须将该文件放在应用程序目录、[app name]扩展目录或资产目录中?该文件必须是应用程序包()的一部分,而不是资产目录。如果该文件位于主机应用程序或扩展的目录结构中,则不重要,但该文件必须是扩展目标的成员。您可以在文件的文件检查器的“目标成员身份”部分配置它。Xcode将其更改为让filePath=Bundle.main.path(forResource:“fileName”,类型:“m4a”)!让fileUrl=NSURL.fileUrl(withPath:filePath)让asset=WKAudioFileAsset(url:fileUrl)啊,当然,这是新的Swift语法。谢谢,我修正了我的答案。如果失败,文件将无法找到。也许它不是目标的成员。