質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

780閲覧

ブレークポイントを貼るが関数に入らない

kosuke360

総合スコア0

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2021/01/04 13:48

編集2021/01/07 13:36

前提・実現したいこと

swiftでiphoneローカルで保存した動画を再生するプログラムを書いています
ソフト自体は正常に動作しているのですが、ブレイクポイントを貼っても処理が止まることがなく動きつづけてしまいます。本当に期待している行が動作しているのか確認できず困っています。

関数名.プロパティでその関数が走るわけではないのでしょうか?

<追記>
ブレークポイントはDisableになっていません。

Xcode12.3
swift5
iOS 14.2

swift

1var videoURL: URL? 2 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 3 4//ここにブレークポイントを貼っても止まらずソフトは動き続ける 5 videoURL = info["UIImagePickerControllerMediaURL"] as? URL 6 7 let completion: () -> () = { [weak self] in 8 guard let url = self?.videoURL else { return } 9 print(url) 10 self?.playMovie(url) 11 self?.frameoutput(url) 12 } 13 imagePickerController.dismiss(animated: true, completion: completion) 14 } 15 16 // MARK: - Private 17 //ビデオの再生部分 18 fileprivate func playMovie(_ url: URL) { 19 let player = AVPlayer(url: url) 20 let playerViewController = AVPlayerViewController() 21 playerViewController.player = player 22 23 present(playerViewController, animated: true){ 24 playerViewController.player?.play() 25 } 26 } 27 //動画一覧表示 28 @IBAction func selectImage(_ sender: Any) { 29//ブレークポイントを貼るとボタン押下でここは止まる 30 imagePickerController.sourceType = .photoLibrary 31 imagePickerController.delegate = self 32 imagePickerController.mediaTypes = ["public.movie"] // 動画のみ表示 33 present(imagePickerController, animated: true, completion: nil) 34 } 35 36 func frameoutput(_ url: URL){ 37 let asset = AVURLAsset(url: url) 38 let video = asset.tracks(withMediaType: .video).first! 39 let reader = try! AVAssetReader(asset: asset) 40 let outputSetting = [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA] 41 let output = AVAssetReaderTrackOutput(track: video, outputSettings: outputSetting) 42 if reader.canAdd(output) { 43 reader.add(output) 44 } 45 output.copyNextSampleBuffer() 46 } 47}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TsukubaDepot

2021/01/05 07:14

ブレークポイントが「Disable」になっていることはないでしょうか。 Enable と Disable のブレークポイントは両方とも青色で色味が少し違うだなので、分かりにくくなっている可能性はあるかもしれません。 また、Enable <-> Disable の切り替えはダブルクリックでもできますので、何らかの拍子に切り替わっているのかもしれません。 Ctrl + クリックしたときに 「Enable Breakpoint」と出るようであれば、そのブレークポイントは Disable になっています。 あるいは、ナビゲータペイン(ウインドウ左側のエリア)から、「Show the Breakpoint navigator (横向きホームベース型のアイコン)」を選択、あるいはメニューから「View -> Navigators -> Breakpoint」、もしくは ⌘ + 8 でブレークポイント一覧が表示されますので、それで比較してみるとよいかもしれません。
TsukubaDepot

2021/01/05 07:15

あと、投稿される際のコードは <CODE> ブロック、あるいは``` で囲まれた方がコードが読みやすいので、ぜひご質問を修正するようお願いします。他の方のご質問をみると、コードが整形されていると思いますが、それと同じように投稿されるコードを整形させることが可能です。 また、ブレークポイントについては、必要に応じてスクリーンショットを追加されるのも良いかもしれません。
TsukubaDepot

2021/01/08 05:24

イメージピッカーを開いて、画像を選択された後に呼び出されるimagePickerController(_:didFinishPickingMediaWithInfo:) の中に設定したブレークポイントが、然るべきタイミング(画像を選択し、この delegate が呼び出されたあと、イメージピッカーが閉じる前)に呼び出されない(というか、設定しても実行されない)ということでしょうか。
kosuke360

2021/01/10 09:03

返信ありがとうございます。その通りです
TsukubaDepot

2021/01/10 10:59

全く同じ環境を準備できないため検証が難しいですね...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問