是的,我在目标的捆绑包中包含了该文件。
但是这条线
let path = Bundle.main.path(forResource: fileName, ofType: "wav")
如果fileName
在文件名中有重音字符,如,则始终为零
autenticaçãoemcartório
armação
有办法解决这个问题吗?
你能确认这是一个错误吗?
我希望您的文件名不是以相同的Unicode形式编码的。例如,小写小写字母O+组合ACUTE ACCENT与拉丁小写字母O WITH ACUTE不同,尽管它们看起来完全相同。根据文件名的创建方式,可能会出现不匹配的情况;等于";以Bundle平等对待的方式。(它们可能像Swift一样相等。String对待相等,但仍然不像Bundle对待相等那样相等。(
请注意,设备上的文件系统与模拟器上的文件文件系统不同,因此在一个地方工作的东西可能在另一个地方不工作。
要探索这一点,请首先使用FileManager枚举目录中的文件名。然后检查它们的unicodeScalars
属性,并将其与您要查找的字符串进行比较。
特别要怀疑不是在苹果平台上创建和命名的文件,因为不同的平台可能有不同的非ASCII字符编码默认方式。
根据您的评论,您的文件名不是UTF-8编码的。它们看起来像Latin1(可能是在Windows上创建的?(