2016-07-27 2 views
0

ReplayKitを使用して画面を記録していますが、シミュレータでアプリを実行すると停止することはなく、録画済みのビデオのプレビューは表示されませんが、出力コンソールで次のメッセージが表示されます。iOSでReplayKitを使用する

2016-07-27 23:46:35.196 replay1[65028:4134788] plugin com.apple.ReplayKit.RPVideoEditorExtension interrupted 
2016-07-27 23:46:35.196 replay1[65028:4134989] Hub connection error Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.ReplayKit.RPVideoEditorExtension" UserInfo={NSDebugDescription=connection to service named com.apple.ReplayKit.RPVideoEditorExtension} 

私はiPhone 6s自体でアプリを実行しようとしました。

私はstopを押したときに、私はアプリで録音する方法についての警告を取得していますが、私は停止しようとしたとき、それは文句を言わない停止し、コンソールまた

2016-07-27 21:29:43.118 replay[3009:968481] -[UIWindow endDisablingInterfaceAutorotationAnimated:] called on <UIWindow: 0x14ce56570; frame = (0 0; 375 667); gestureRecognizers = <NSArray: 0x14ce573f0>; layer = <UIWindowLayer: 0x14ce55480>> without matching -beginDisablingInterfaceAutorotation. Ignoring. 

でメッセージがありますアプリの場合、startに変更されません。

import ReplayKit 
import UIKit 

class ViewController: UIViewController, RPPreviewViewControllerDelegate 
{ 
    override func viewDidLoad() 
    { 
     super.viewDidLoad() 

     navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Start", style: .Plain, target: self, action: #selector(startRecording)) 
    } 

    func startRecording() 
    { 
     let recorder = RPScreenRecorder.sharedRecorder() 

     recorder.startRecordingWithMicrophoneEnabled(true) { [unowned self] (error) in 
      if let unwrappedError = error 
      { 
       print(unwrappedError.localizedDescription) 

      } else 
      { 
       self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Stop", style: .Plain, target: self, action: #selector(self.stopRecording)) 
      } 
     } 
    } 

    func stopRecording() 
    { 
     let recorder = RPScreenRecorder.sharedRecorder() 

     recorder.stopRecordingWithHandler { [unowned self] (preview, error) in 
      self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Start", style: .Plain, target: self, action: #selector(self.startRecording)) 

      if let unwrappedPreview = preview 
      { 
       unwrappedPreview.previewControllerDelegate = self 
       self.presentViewController(unwrappedPreview, animated: true, completion: nil) 
      } 
     } 
    } 

    func previewControllerDidFinish(previewController: RPPreviewViewController) 
    { 
     dismissViewControllerAnimated(true, completion: nil) 
    } 
} 

私が間違っている/つもりです:ここで

は、コードのですか?

ありがとうございました。

P.S私はiOS開発を開始したので、コンソールのメッセージの内容を完全に理解できません。

答えて

0

私はシミュレータで動作するようにreplayKitを得ることができませんでした。私は、ハードウェアの物理的なチップを使って作業の一部を行うと考えています。

エラーの自動回転部分についてはわかりませんが、

0
//Replay kit doesn't work on simulator and will work on a physical device. 

//Try this code hope it helps: 

func startRecording() { 
    let recorder = RPScreenRecorder.shared() 

    if #available(iOS 9.0, *) { 
     recorder.startRecording(withMicrophoneEnabled: true) { [unowned self] (error) in 
      if let unwrappedError = error { 
       print(unwrappedError.localizedDescription) 
      } else { 
       self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Stop", style: .plain, target: self, action: #selector(PreviewVC.stopRecording)) 
      } 
     } 
    } else { 
     // Fallback on earlier versions 
    } 
} 

func stopRecording() { 
    let recorder = RPScreenRecorder.shared() 

    recorder.stopRecording { [unowned self] (preview, error) in 
     self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Start", style: .plain, target: self, action: #selector(PreviewVC.startRecording)) 

     if let unwrappedPreview = preview { 
      unwrappedPreview.previewControllerDelegate = self 
      self.present(unwrappedPreview, animated: true, completion: nil) 
     } 
    } 
} 

    func previewControllerDidFinish(_ previewController: RPPreviewViewController) { 
     self.dismiss(animated: true, completion: nil) 
    } 
関連する問題