Xcode: 在多个目标之间共享资产
Xcode: Share assets between multiple targets
我有一个包含两个目标的 Xcode 项目。我想在两个目标之间共享资产以避免重复文件。
我试过的:
- 创建SharedAssets.xcassets
- 将SharedAssets.xcassets添加到两个目标(创建.xcassets文件夹时,您可以select将其添加到哪个目标)
- 将
.wav
文件添加到 SharedAssets.xcassets
- 在代码中引用
.wav
文件
结果:
两个目标都找不到 .wav
文件。
问题:
为什么两个目标都找不到 .wav
文件?如何在两个目标之间共享资产?
谢谢!
编辑:
我正在使用 SpriteKit SKAction
从 SKScene
:
中加载文件
private var sound: SKAction?
override func didMove(to view: SKView) {
sound = SKAction.playSoundFileNamed("mySound.wav", waitForCompletion: false)
}
然后我播放这样的声音:
if let action = sound {
self.run(action)
}
如果我在主包中引用 .wav
文件,此策略非常有效,但在 SharedAssets.xcassets.
中引用文件时失败
编辑#2:
我能够成功使用存储在 SharedAssets.xcassets 中的 images -- 所以,这是 sounds 的问题。
我没有将 .wav
文件放在 SharedAssets.xcassets 中,而是将其保留在包中的位置,并将其简单地添加到“目标成员资格”下的第二个目标中。
对每个 .wav
文件执行此操作解决了问题。
我有一个包含两个目标的 Xcode 项目。我想在两个目标之间共享资产以避免重复文件。
我试过的:
- 创建SharedAssets.xcassets
- 将SharedAssets.xcassets添加到两个目标(创建.xcassets文件夹时,您可以select将其添加到哪个目标)
- 将
.wav
文件添加到 SharedAssets.xcassets - 在代码中引用
.wav
文件
结果:
两个目标都找不到 .wav
文件。
问题:
为什么两个目标都找不到 .wav
文件?如何在两个目标之间共享资产?
谢谢!
编辑:
我正在使用 SpriteKit SKAction
从 SKScene
:
private var sound: SKAction?
override func didMove(to view: SKView) {
sound = SKAction.playSoundFileNamed("mySound.wav", waitForCompletion: false)
}
然后我播放这样的声音:
if let action = sound {
self.run(action)
}
如果我在主包中引用 .wav
文件,此策略非常有效,但在 SharedAssets.xcassets.
编辑#2:
我能够成功使用存储在 SharedAssets.xcassets 中的 images -- 所以,这是 sounds 的问题。
我没有将 .wav
文件放在 SharedAssets.xcassets 中,而是将其保留在包中的位置,并将其简单地添加到“目标成员资格”下的第二个目标中。
对每个 .wav
文件执行此操作解决了问题。