On XCode 6, everything works well on device, but on simulator, sound is not played.
There is my swift code :
var url = NSURL(string: "http://my.url.com/sound.mp3")
var data = NSData(contentsOfURL: url!)
// Removed deprecated use of AVAudioSessionDelegate protocol
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
self.player = AVAudioPlayer(data: data, error: nil)
self.player.prepareToPlay()
self.player.delegate = self
self.player.volume = 1
self.player.play()
There is the log :
ERROR: 98: Error '!obj' trying to fetch default input device's sample rate
ERROR: 100: Error getting audio input device sample rate: '!obj'
WARNING: 230: The input device is 0x0; '(null)'
WARNING: 234: The output device is 0x26; 'AppleHDAEngineOutputDP:3,0,1,1:0:{2D4C-092D-00000000}'
ERROR: 400: error '!obj'
ERROR: 113: * * * NULL AQIONode object
ERROR: 180: EXCEPTION thrown ('!dev'): -
ERROR: 703: Can't make UISound Renderer
ERROR: >aqsrv> 70: Exception caught in (null) - error -1
ERROR: 180: EXCEPTION thrown ('!dev'): -
ERROR: >aqsrv> 70: Exception caught in (null) - error -1
The error occurs because you are trying to get device's sample rate
from simulator, which is not possible.
So some hardware functionality will not able to simulated with it.
It can not do the following:
And many more which required device hardware acceleration.
You need to test this in real device.