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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

2回答

2427閲覧

xcode で スクリーンショットを撮り保存したい

northpotato

総合スコア38

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2016/04/29 09:06

編集2022/01/12 10:55

ios9, iPod touch, xcode7 初心者です。
iPod touch に表示された画面を スクリーンショットし、
写真として本体に記録保存したいです。
ネット上から下記プログラムを見つけたのですが、エラーが生じ、
うまくいきません。
どなたか、ご教示頂けましたら幸いです。
宜しくお願い致します。

イメージ説明

TakeOne さん、回答、ありがとうございます。
http://blog.huin.me/2014/10/15/ios-snapshot-api-bug/ をダウンロードし参考になりそうな部分をコピペしたところ、下図のようなコンパイルエラーがでました。 どのような変更が必要でしょうか。 宜しくお願い致します。
イメージ説明

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

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

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

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

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

tkanda

2016/04/29 09:27

エラーの内容を書くと回答が得られやすくなります。
northpotato

2016/04/29 09:38

レスポンス、ありがとうございます。 プログラム内容と、エラーメッセージの画像を貼り付けたのですが、 これでは、情報不足だったでしょうか。 情報が足りないようであれば、明後日、もう少し詳しくご相談致したいと思います。宜しくお願い致します。
tkanda

2016/04/29 10:00

あ、実行エラーではなく、コンパイルエラーが出るという話でしたか。了解です。
guest

回答2

0

UIGetScreenImage()は、もともとAppleのドキュメントに記載されていない隠し関数で、iOS7以降は一切使えません。
(参考)
http://stackoverflow.com/questions/21640875/is-uigetscreenimage-function-removed-in-ios7

スクリーンショットをUIImageにして保存したい場合は、
http://blog.huin.me/2014/10/15/ios-snapshot-api-bug/
を参考にして、drawViewHierarchyInRect:afterScreenUpdates:またはrenderInContextを使えば良いです。


(5/1 回答追記)
追加の質問について回答します。

参考URLに描かれているコードはUIViewに実装されたコードです。
添付画面のエラーメッセージから、おそらくあなたはそのコードをUIViewControllerに書いているのだと推測します。

そうであれば、
self.boundsself.view.bounds
self.layerself.view.layer
に修正すればよいと思います。

投稿2016/04/29 11:12

編集2016/05/01 12:44
TakeOne

総合スコア6299

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

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

TakeOne

2016/05/01 12:45

追加の質問について、回答を追記しました。
northpotato

2016/05/10 05:12

ご返事が大変遅れて、申し訳ありません。 明日から、1週間ほど出張のため、その後、また取り組みたいと思います。 とりあえず、コンパイルエラーはなくなりました。 ありがとうございます。
guest

0

2474行目の UIImageWriteToSavedPhotosAlbum() の第一引数を image にするとうまく行きそうな気がします。それと、2473行目はコメントアウトしたほうがいいかもしれません。

ObjectiveC

1// 修正案 2UIImage *Image = [UIImage imageWithCGImage:UIGetScreenImage()]; 3UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

こんな感じでいかがでしょう。

投稿2016/04/29 10:00

tkanda

総合スコア2425

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問