2016-09-22 100 views
0

我想在Applewatch上录制音频并发送到我的iPhone。 我创建了一个URL来存储文件,每次我尝试这对我的模拟器它工作正常,但在真实的设备没有与此错误在手表上录制音频时出错-OS-3

Error: Error Domain=com.apple.watchkit.errors Code=3 “(null)”

URL happes:

var dir = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.com.companyname.projektname") 

RECORD :

presentAudioRecorderController(withOutputURL: dir,preset:.narrowBandSpeech, 
                  options: nil, 
                  completion:......... 

回答

1

在WatchOS 3,你还需要添加一个“隐私 - 麦克风使用说明“输入您iOS应用程序的info.plist文件(不是WatchKit应用程序)。然后在iPhone上,您必须同意使用麦克风。

我在这里找到这里:https://forums.developer.apple.com/thread/62612

0

请尝试以下代码:

定义URL:

var saveUrl: NSURL? 

let container = 
    fileManager.containerURLForSecurityApplicationGroupIdentifier(
     "group.com.companyname.projektname") 

let fileName = "audioFile.wav" 

saveUrl = container?.URLByAppendingPathComponent(fileName) 

记录代码:

let duration = NSTimeInterval(10) 

let recordOptions = 
     [WKAudioRecorderControllerOptionsMaximumDurationKey : duration] 

presentAudioRecorderControllerWithOutputURL(saveUrl!, 
     preset: .NarrowBandSpeech, 
     options: recordOptions, 
     completion: { saved, error in 

      if let err = error { 
       print(err.description) 
      } 

      if saved { 
       self.playButton.setEnabled(true) 
      } 
     }) 

希望这将帮助你...