0

したがって、このコードは iOS シミュレーターでは正常に動作しますが、私の iPad Mini では動作しません。

    var sound = NSURL(fileURLWithPath:"/Users/Dan/Documents/XCode Code/Colors- Tabbed?/Colors- Tabbed?/Sweg.aiff")
    var audioPlayer = AVAudioPlayer()
    audioPlayer = AVAudioPlayer(contentsOfURL: sound, error: &error)
    var error: NSError?

最後の行に「Optional 値のラップ解除中に予期せず nil が見つかりました」というエラーが表示されます。

4

1 に答える 1

2

AVAudioPlayerまだ監査を受けていないようです。暗黙的にアンラップされたオプションを返します。これは である可能性がありnil、明らかiPad 上にあります。(これはおそらく、iPad がコンピュータ上にあるため、iPad がどこにあるかを認識していないため/Users/Dan/Documents/...です。)

オプションの値でプレーヤーをキャプチャして、nil使用する前にテストできるようにします。

var sound = NSURL(fileURLWithPath:"/Users/Dan/Documents/XCode Code/Colors- Tabbed?/Colors- Tabbed?/Sweg.aiff")
var error: NSError?
var audioPlayer: AVAudioPlayer? = AVAudioPlayer(contentsOfURL: sound, error: &error)

if let audioPlayer = audioPlayer {
    // do things with the audioPlayer
}
于 2014-11-23T22:07:26.930 に答える