- ベストアンサー
xcode カメラロール 保存
アイホンアプリ開発で壁紙アプリを作っているのですが、ボタンをタッチすると画像がカメラロールに保存される機能の付け方がわかりません。 コードを調べて、コピー&ペーストをしてもエラーになってしまいます。 どなたか教えていただけないでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> ナビゲータエリアにobjc-ui-image-write-to-saved-photos-album-master > のファイルがある状態にはなりました。 > しかし、ここからどうやって開いて実行するのかわかりせん。 えっ!? ダウンロードしたファイルをXcodeで開く方法がわからないと 言っているのですか? Finderで、そのobjc-ui-image-write-to-saved-photos-album-masterフォルダの もうひとつ下のフォルダの中にある.xcodeprojファイルをダブルクリック するだけですけど。 こんなのアプリ開発の入門書を何でもいいから読んで演習したら 誰でも当たり前のようにできる基本のキの入り口ですよ。 (参考) http://www.atmarkit.co.jp/ait/articles/1303/13/news023.html アプリを開発しようとしているわりには、あまりにも無知すぎるんですけど 実は.xcodeprojをダブルクリックして開いたけど何かエラーが出て うまくいかなくて、それを「開き方がわからない」という一言で 質問しているのですか? だったらあまりにも質問がヘタすぎです。 No.2でも同じようなこと書きましたけど、どんな操作してみたら どんな現象が発生して、どんなことができなくて困っているのか 具体的に書かないと、無知なパソコン初心者に対するあたりまえの 回答しかできませんよ。
その他の回答 (3)
- Lchan0211b
- ベストアンサー率61% (573/930)
No.1,2です。 あぁ、No.1回答の参考に示したURLに記載されているコードをそのまま転記して 実行しようとしたのですね。それを言ってないので、何をしようとしているのか さっぱりわかっていませんでした。 その参考URLに書かれているコードを何も考えずにそのまま転記してもダメです。 UIImage *_saveImage = [UIImage imageNamed:@"image.png"]; は、ボタンを押す前に動くところならどこに書いてもいいけど 少なくともメソッドの中に記述する必要ありますし、 [alert release]; は、ARCを使わないなら不要です。 こういったエラーを自分で修正できないレベルなら、 Objective-Cの文法や言語仕様をもっとちゃんと勉強して理解すべきです。 今は1歩足を出すたびにつまづいている状態ではないでしょうか。 何か入門書を持っているなら、とりあえず入門書に書いてある通りの ことをマネするくらいはやったのだと思いますが、もう一度そこに 書いてあることを読み返して、その意味を理解することをお勧めします。 今のレベルでとりあえずカメラロールへの保存を成功させたいなら、 No.1の参考URLは置いといて、 http://lab.dolice.net/blog/2013/03/14/save-images-in-objective-c/ の中のサンプルダウンロードのリンクをクリックし、 そこの「DownloadZIP」ボタンを押してサンプルプロジェクトをダウンロードし、 それをxcodeで開いて実行してみてください。 それでカメラロールへの保存ができることを確認してから、 そのプロジェクトの中に書いてあるソースがどのように 書かれているか調べればいいと思います。 それで、その中に書かれているソースの意味がわからなければ それを理解できるようにObjective-Cの文法や言語仕様を勉強すれば よいと思います。
補足
サンプルをダウンロードはできました。 ナビゲータエリアにobjc-ui-image-write-to-saved-photos-album-master のファイルがある状態にはなりました。 しかし、ここからどうやって開いて実行するのかわかりせん。 自分なりに調べたのですが、わかりません あの、私は初心者です。 無知でごめんなさい(泣)
- Lchan0211b
- ベストアンサー率61% (573/930)
> やってもみましたが、エラーになります。 単に「エラーになる」とだけ言われても、聞かれた側は何もわかりません。 どんなことをした時にどんなエラーメッセージが出るのか メッセージの内容を正確に書いてくれないとアドバイスしようが ありません。 > ボタンの設定は > connection→action > object →view controller > name →Icon.png(画像の名前) > type →id > event →touch up inside > arguments→sender and event > でいいのでしょうか。 これもどこの設定のことか、最初はピンときませんでしたが、例えば http://www.office-matsunaga.biz/ios/description.php?id=2 にある4番目の説明画像にあるように、配置したボタンを右クリックして 出てくるメニューから、.hファイルに線をドラッグして接続した 時に出てくるダイアログのことを聞いているのですね? そうであれば、あなたが尋ねた設定で勘違いしているのはnameの部分です。 nameは、画像ファイル名を書くのではなく、このボタンが押された時に 呼ばれるメソッドの名前をここで新たに命名します。 ただ、メソッド名にピリオド「.」は使えません。 もしあなたが書いている通り、nameに「Icon.png」と設定した場合、 「.」を無視して - (IBAction)Iconpng:(id)sender forEvent:(UIEvent *)event; というメソッドが.hファイルに宣言され、.mファイルに - (IBAction)Iconpng:(id)sender forEvent:(UIEvent *)event { } というメソッドが定義されているはずです。 もしこうなっているなら、このIconpngメソッドの中に UIImageWriteToSavedPhotosAlbumでイメージを保存する処理を 書けばいいだけだと思いますが、おそらくそれ以前の話とか それとは別の問題で悩んでいるのだと思います。 どんなことをした時にどんなエラーメッセージが出て 困っているのかちゃんと説明すれば、なにかアドバイスできると 思います。
補足
説明不足ですみません。 >- (IBAction)Iconpng:(id)sender forEvent:(UIEvent *)event; というメソッドが.hファイルに宣言され、.mファイルに - (IBAction)Iconpng:(id)sender forEvent:(UIEvent *)event { } というメソッドが定義されているはずです。 はい、定義されてます。 しかし、Runを押すとエラーになります。 エラーは //保存したい画像 UIImage *_saveImage = [UIImage imageNamed:@"image.png"]; ↑の文章に赤い色がつき ❗️InitialIzer element is not a compile-time constant と下にでてしまいます。 [alert release]; ↑ここにも赤い色がついて、 ❗️ARC forbids explicit message send of 'release' と下にでてしまいます。
- Lchan0211b
- ベストアンサー率61% (573/930)
UIImageWriteToSavedPhotosAlbumでイメージを保存するだけだと思いますけど。 (参考) http://obc-fight.blogspot.jp/2013/01/uiimage-saved-in-photolibrary.html
補足
やってもみましたが、エラーになります。 初歩的な質問ですが、 ボタンの設定は connection→action object →view controller name →Icon.png(画像の名前) type →id event →touch up inside arguments→sender and event でいいのでしょうか。 それとも画像を右クリックして線をhの部分に引っ張っていくのでしょうか。 私は初心者です。どうかお手柔らかにお願いします。
お礼
できましたあああああ!! 無知でごめんなさい。 初心者でごめんなさい。 パソコン初心者でごめんなさい。 ごめんなさい ごめんなさい ごめんなさい