スポンサーリンク

【Swift】画面キャプチャを撮影する方法。〜 スクリーンショット 〜

Swift
スポンサーリンク

今回の記事はSwiftを利用して画面キャプチャを作成する方法について記載いたします。どのような場面で使用するかは正直わかりませんが画面キャプチャをとる際にご使用ください。

スポンサーリンク

カメラロールに保存する設定

カメラロールに保存する際には権限を付与する必要があります。そのため「info.plist」に権限を追加します。下記画像にしたがって権限を付与してください。追加する権限は「Privacy – Photo Library Additions Usage Description」です。

どこでもいいので「+」ボタンを押すことで権限を追加できます。

したの方に「Privacy – Photo Library Additions Usage Description」があるのでことらを選択し、valueの値を設定します。こだわりがなければカメラロール権限を与えます的な内容で特に問題はないと思います。こちら権限付与時のメッセージとなって出力されます。

画面キャプチャを行うためのSwiftコード

//コンテキスト開始
UIGraphicsBeginImageContextWithOptions(UIScreen.main.bounds.size, false, 0.0)
//viewを書き出す
self.view.drawHierarchy(in: self.view.bounds, afterScreenUpdates: true)
// imageにコンテキストの内容を書き出す
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
//コンテキストを閉じる
UIGraphicsEndImageContext()
// imageをカメラロールに保存
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)

このようにまずはUIスクリーンの大きさを取得し、そのサイズにあったviewを取り出します。次にその取り出したview部分をUIImageに変換し、UIImageのインスタンスを作ります。あとは編集を終了して、カメラロールに保存するのみです。

カメラアプリなどに使用できますのでカメラ使用時に是非ご参照ください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Swift
スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました