30289


Xcode8.1、対象は、iOS10です。

Objective-C 環境で AVFoundation の AVCaptureVideoDataOutput
を使ってアプリを作成しようと思い、下記のサイトを参考にプロジェクトを作成したものの、ビルドはできるのですが [session startRunning]
のタイミングでどうしてもエラーが発生します。

カメラに映った被写体を加工することを目標としていたため、サイトのプログラムからキャプチャ部分を外して動作確認をしています。

エラーが報告されるのは Thread３〜１０ の 0x18cbfcd74<+8>:b.lo 0x18cbfcd8c ;<+32> という場所（？）で、内容は
signal SIGABRT
です。この内容がリンクミスなどのちょっとした、しかしプログラム自体を精査しなければ分からない問題であることは承知していますが、お気付きの点がございましたらご教授願います。

参考したサイト  
<http://dev.classmethod.jp/smartphone/ios-camera-intro/>


CC BY-SA 3.0
2016-11-09T20:42:24.953
30287
2016-11-10T04:58:39.353
2016-11-10T04:58:39.353
18540
19503
question
xcode objective-c avfoundation ios10
AVFoundationを用いたビデオカメラアプリについて


リンク先のサンプルプログラムは、Xcode 8.1のプロジェクトに、コピー＆ペーストしただけで、2箇所の警告が出るものの、そのまま実機テストで動作します。  
推測しますと、iOS10から強化されたプライバシー保護が原因ではないかと思われます。カメラデバイスと、フォトライブラリへアクセスしようとすると、「アクセスを許可しますか？」というアラートが表示され、ユーザが許可ボタンを押さないと、これらへのアクセスが拒否されます。  
プロジェクトでは、Info.plistを編集して、これらのアラートを出す初期設定にしないと、アプリがクラッシュしてしまいます。質問者さんが、この編集をしていなければ、クラッシュの原因は、おそらくここにあります。

[![画像の説明をここに入力](https://i.stack.imgur.com/9B6Y8.png)](https://i.stack.imgur.com/9B6Y8.png)

  1. Info.plistを開きます。
  2. 赤矢印のプラスボタンを押して、新規項目を作成します。
  3. 「Privacy - Camera Usage Description」と「Privacy - Photo Library Usage Description」2つを追加します。


CC BY-SA 3.0
2016-11-09T21:51:48.453
30289
2016-11-09T21:51:48.453
18540
30287
answer