view|・CoreData、データベース検索アイフォンアプリ開発で参考にしたサイトのリンクです。お世話になると思います。似たような内容が掲載されているサイトが多い中から、見やすく、画像を使用して丁寧に解説されているサイトを掲載しました。画像とソースコードが掲載されているサイトは参考になります。自分も見習いたいですが、画像を使用した解説まで手が届きません。[キータ]UITableViewでページング処理をする。カラメルシロップ味‐>画面遷移をするときに、ボタンが押されると勝手に画面移動しないパターンで作成する方法が記載されています。ボタンから次の画面へつなぐと、ボタンをクリックして有無を言わさずに強制移動す。この標準的な方法では、ある条件の元で画面を遷移させたい用途による処理が使えません。ボタンを押して、ある値が1だったら移動させ、ある値が0のときは、アラートを表示させて、現在の画面のママにしたいという処理をしたい場合です。preparesegueでも強制移動なので、このメソッドがあるなしにボタンをタップすると強制的に画面を移動させられてしまいます。ナビゲーションコントローラーがあっても正常にバーが表示されました。・UIPIckerViewの情報まとめUIPickerViewを複数表示、下から表示させるアニメーションUIPickerViewiPhoneプログラミング・・・のただのメモ。参照する方法>とてもわかりやすい。途中でコードの説明がなくっている。サンプルソースのダウンロードがある。maseda(1)3Dアプリ製作Unity作業の注意点、C#、Blenderブレンダーとの連携について|(1)アイフォンアプリ製作に役立つユーチューブ動画、iOSストーリーボードUIViewControllerなど(1)アイフォンアプリ製作に役立つユーチューブ動画、iOSストーリーボードUIViewControllerなど**3Dアプリ製作Unity作業の注意点、C#、Blenderブレンダーとの連携について現在、アイフォンアプリ、アンドロイドアプリ用のスマートフォンゲームアプリを製作中です。7月に作業に取りかかりました。Unityですので、いろいろと覚えることがありすぎて大変です。Unityは3Dオブジェクトファイル、例えばブレンダーのファイルやFBXファイルを扱えることから、3Dポリゴンオブジェクトを作成できる3Dソフトとの連携が可能です。3Dソフトブレンダー、MAYA、LIGHTWAVEなどで作成した3DポリゴンをUnityで表示させてゲームとして楽しむことができます。覚えること、設定、パラメータなどが多くて忘れがちです。そこで、約1ヶ月経過したこともあり、ここで、最初に躓いたところをメモしていきます。・C#、JAVASCRIPTについてJAVASCRIPTとC#は、ほぼ構成が似ているので、ホームページや関連書籍を参考にできます。JAVASCRIPTとC#の変換ウェブサービス(無料)もあります。・C#について#include,#importを記述しなくても同じプロジェクト内のスクリプトは利用可能。MonoBehaviourを継承しないクラスも作成できます。Unity独自のコマンドは利用できません。stdのListが利用できます。MonoBehaviourを継承するスクリプトはAddComponentが必要です。workdialog=gameObject.AddComponent<MyDialog>();//MyDialog.csGUI系のオブジェクトの扱いは、座標がスクリーン座標となります。3D空間ではありませんので、はじめは、あれ?になりますが、ああそうなのかそういうことねとなります。Inspectorにパブリック変数を表示させたくないときは[HideInInspector]を記述します。変数を与えてある場合や外部から変数をあてる必要がないときに使用します。・ブレンダーとUnityの連携、オブジェクトの挿入ブレンダーで作成したオブジェクトの大きさを1くらいとすると、Unityで表示させるときは、スケールを約30ー50倍くらいに拡大する必要があります。-13の場合で、Projection:Perspectiveです。横面にするためには、Y軸で90度、正面を見せるためにY軸180度回転させる必要があります。UVをブレンダーで設定し、テクスチャを設定後、FBXに出力し、Unityにインポートするとき画像のリンクが解除されます(パスが不明となるため)ので、再度Unityで画像を設定する必要があります。画像を設定するだけです。UnityでUVを設定し直すようなことはありません。Unityにはポリゴンを作成する機能がないので、Unity自体でUVを作ることはできないので当たり前と言えば当たり前ですが。出力のときは不要なカメラ、オブジェクトが挿入されないように、出力の時に、設定をします。テクスチャは、オブジェクトで異なる設定で使いたい場合は、重複のテクスチャ、サーフェース名は使用しないこと。名称なしやデフォルトは避けるようにしてください。重複のサーフェース名を使用すると同じ色になったり、想定した色と異なります。後の修正作業が面倒です。・Unityに3Dオブジェクトを表示させて思ったこと意外に画面がきれいに表示されて折らず、ブロックひずみになっていると思いました。・今後のUnityの作業ブレンダーでボーンを設定し、アニメーションを設定した後に、Unityにインポートしてアニメーションさせるアニメーションをプログラムで制御する参考リンクhttp://wiki.unity3d.com/index.php/CSharpMessenger_Extended以前のリンク先が変わっていました。—アイフォンアプリ製作に役立つユーチューブ動画、ストーリーボードUIViewControllerなどアイフォンアプリで、テーブルのリストを選択して、ストーリボードの遷移を学習できます。短いもので30分、長いもので1時間程度の学習時間になります。動画を見ながら、X-CODEでアプリを作りながら作業できるようにすれば理解も早いと思います。大きなディスプレイかマルチディスプレイの環境があるとよいです。英語ですが、コードの入力からわかるので動画の通りに進めば、アプリが完成します。いくつかの書籍を買ってユーチューブの内容を比較をすると、書籍の内容は、動画の説明の5分から10分程度にあたり、ユーチューブの動画の内容の濃さに驚きます。著者の実力を攻めているのではなくて、文字と静止ベースと出版界の事情の限界なのでしょう。文字や画像が多くなると著者の負担が大きく、ページ数が増えれば書籍の金額高くなり、売れなくなるわけです。内容が濃ければ濃いほど読者は理解が深まりますが、実際はページ数が多くなり、本が重く検索できず、金額が高いという残念な結果になるのでしょう。書籍、紙による教育、指導、教示の限界というものでしょうか。動画も実際の講義やセミナーに比べて、緊張感や情報量、その場の雰囲気などに劣りますが、それでも十分学習できる内容でした。(1)テーブルビューで項目を削除したときに、エラーとなる場合の例です。loadData]の機能が足らないことになります。loadData];//これがないと項目を削除したときにエラーがとなります。*cellのエラーが多い、forIndexPath:indexPathを削除する2012年くらいのXC0DEのユーチューブ動画や書籍には、forIndexPath:indexPathが記載されていません。新しいバージョンのXCODEではforIndexPath:indexPathが追加されていて、エラーになることがあります。cancelButtonPressed.’これは、A画面からB画面に遷移するとき、遷移先のB画面にあるcancelButtonPressedの設定が間違っているために発生したエラーです。A画面でボタンをタップしたときに、強制終了するので、A画面での問題かと思いましたが、A画面からB画面に移動する直前でエラーとなりました。対処:cancelButtonPressedが間違ってい設定されていた(画面上でびっくりマークが表示されている)部分を削除しました。原因:紐付けを行って、取り消しをコード上でしてもXlib上ではまだゴミが残っていたみたいです。そのため、びっくりマークが表示されていました。慣れていないと何がどうなっているのかわからないエラーでした。2)評価:星4つストーリーボード、UITableViewのコード説明、リストの項目の追加、削除、変更までが説明されていて、非常に役に立つ講座です。アイフォン関連の初心者向け書籍に書いてある以上のことが学べます。一般に売られている書籍の内容の3倍以上の内容の濃さがあります。書籍の内容は、導入部だけで、そこから学ぶことは非常に少ないのです。実際は、そこからどうやって、発展させていくのかと言うことなのですが、実際のアプリ製作の約立つ内容にまでは踏み込まれていません。書籍では、単に、画面にリストを表示させておしまいというのが多い中で、この動画はリストに表示させて追加、削除まで説明されています。Data評価:星3つ50分と1時間7分のところで、うまく動作しないところがありました。コンパイルエラーがなくて、リストを削除するとエラー、動作停止になります。今の実力では直せません。コメントにも同様の記載があるので、他の人も戸惑っているところがあるみたいです。他の動画を見ながら、修正したいと思います。1)画像1評価:星3つUITableViewのコードが説明されており、検索についても説明。私が実際にアプリを作ると検索が上手く動作しませんでした。リストを選択したり、リストを検索する方法が学習できます。どこが悪かったのかを後日検討したいと思います。次に、Product->Archiveをしたいができない。これができればオーガナイザが起動します。それが、Archiveがグレーになっていて選択できません。Deviceにしてできました。このとき実機が接続されている必要はありません。実機なしでも申請処理可能。オーガナイザでValidateを押して進行中にエラーが表示されました。com.enjoygoodtown.aaaaとするときのaaaaだけを入力すれば良かったみたいですが。com.enjoygoodtown.aaaaをそのまま登録したら、com.enjoygoodtown.com.enjoygoodtown.aaaaと表示されて、オーガナイザのValidateチェックでエラーとなりました。そこで、再度iTunesコネクトで入力をaaaaとしました。画面上に、com.enjoygoodtown.aaaaと表示されていたので、それをそのままみて確認すれば良かっただけでした。」3作目のアイフォンアプリ申請でリジェクトされました。Retina判別が不十分(1)リジェクト対応:3作目のアイフォンアプリ申請でリジェクトされました。「リジェクト理由:iPad,iPhone5で画像が正常に表示されていない(意訳と原因の解釈を追加して理由を記載しています。)原因:iPadにおけるレティナ、非レティナでの判別処理が不足。そのために、非レティナの状態で、レティナ用の画像が表示され、画像が正常に表示されていませんでした。画像の一部しか表示されない状態。対応:iPadレティナ、非レティナでの判別処理を改善しました。スクリーンショット2枚が添付されていたので、原因究明が楽でした。iPhone5も正常に表示されていないとコメントされていますが、おそらくiPadのみが正常に表示されていないのだと思うので、iPadの確認を重視します。2.0)として、レティナかどうかの判定を追加して、シミュレータでiPad非レティナで動作確認ができるようになりました。クリック「7月18日、再申請しました。つぎに、エディットスキームでDictributionを選択して(ここは各自設定が異なると思います)、オーガナイザを開き、該当アプリを選択して、Validate、Distributeをそれぞれクリックします。メールがなくて認可されていないので、予定だった24日のリリース日を7月26日に変更(いまここ)なお、iTunesコネクトだったかに、不正侵入があったらしく数日、サイトが閉鎖されていました。これが影響しているのかもしれません。」やっと認可、そしてリリース(4)完了、アイフォンアプリのリジェクト対応:やっと認可、そしてリリース7月25日、アイフォンアプリがようやく認可されました。アイフォンアプリの宣伝、アイフォンアプリ名:どんぐり合戦を7月26日リリースしました「画像*内容アイフォンアプリ名:どんぐり合戦りすがどんぐりをカラスに投げてカラスを退治するミニゲーム簡単シューティングです。現在の仕様はランキング無し、広告ありです。iPadレティナにも対応しています。*ダウンロードどんぐり合戦iTunesストアからダウンロードできます。*製作のべ期間4月〜7月、3ヶ月+約2週間(企画、開発、リリース日までの期間を含む)、申請からリジェクト1回の約15日で通過、日本語版のみです。masedaアイフォンアプリの宣伝、アイフォンアプリ名:どんぐり合戦を7月26日リリースしましたアイフォンアプリの宣伝、アイフォンアプリ名:どんぐり合戦を7月26日リリースしました。画像*内容アイフォンアプリ名:どんぐり合戦りすがどんぐりをカラスに投げてカラスを退治するミニゲーム簡単シューティングです。現在の仕様はランキング無し、広告ありです。iPadレティナにも対応しています。*ダウンロードどんぐり合戦*製作のべ期間4月〜7月、3ヶ月+約2週間(企画、開発、リリース日までの期間を含む)、申請からリジェクト1回の約15日で通過、日本語版のみです。説明ページリジェクトの内訳は、iPadのレティナ、非レティナ用画像が正常に表示されないというもので、判定処理をより厳密にして修正しました。iPhoneにようやく慣れてきたところで、cocos2d-xを勉強することになりゆっくり前進しているところです。iPhoneの今後のバージョンアップが気になります。iPhoneがプログラムしやすいですね。maseda(4)完了、アイフォンアプリのリジェクト対応:やっと認可、そしてリリース(4)完了、リジェクト対応:やっと認可、そしてリリース7月25日、アイフォンアプリがようやく認可されました。リリースは明日の予定です。前回のリジェクトの内容で、アイフォン5もバグレポートの機種としてメールに記載されていましたが、チェックをした機種がアイフォン5を含むものであり、実際のバグはiPadミニ(メールにはアイフォン5、「iPad」のみが記載)で発生したものと想定しました。原因がRetina、非レティナ判別が不十分と判明し、対応しました。認可のメールが来て安心しました。結果として、リジェクト後の再申請は、最初の申請と同様に時間がかかるということがわかりました。急ぐときは、メールで急いでチェックしてねとお願いした方がよさそうです。(3)リリース日変更メールがなくて認可されていないので、予定だった24日のリリース日を7月26日に変更(いまここ)なお、iTunesコネクトだったかに、不正侵入があったらしく数日、サイトが閉鎖されていました。これが影響しているのかもしれません。前回、Retina対応iPadと非Retinaの表示において、正常に表示されていないとリジェクトされました。ソースコードを確認し、判別チェック項目を追加しました。この申請で大丈夫でしょうか?まず結果を待つことにします。すべてのアイフォン、iPad機種を保有するのは、経済的に難しいのでシミュレータが頼りです。アップルのリジェクトの理由とテスト項目が詳細に提示されていません。アイフォン4ではOKで、アイフォン5はだめ、iPadMINIはだめで、iPadレティナはOKみたいに細かく不具合を示してくれれば良いのですが、「アイフォン5とiPadで確認したよ、だめなところがあります」程度なので、両方で不具合なのか、片方で不具合なのかが不明です。7月18日、再申請しました。つぎに、エディットスキームでDictributionを選択して(ここは各自設定が異なると思います)、オーガナイザを開き、該当アプリを選択して、Validate、Distributeをそれぞれクリックします。アップロードが始まります。cocos2d-xに移植する過程を試みていますが、結構進みません。objective-cをc++にしようとするとかなり時間がかかりそうです。・スプライトの作成の場合の比較C++であるcocos2d-xは、オブジェクトの生成の時にnewを使用します。一方のobjective-cはそのまま記載して画像を設定します。CCSprite::createWithTextureでは、autorelease()を設定すると実行後しばらくしてエラーになる。半自動か、手動管理のメモリ管理を決めましょう。//Textureの設定ではinitでも::createでもOKでもautoreleaseはinitになる。from云々かんぬんのエラーが発生しました。コードの記載が間違っているのかと思っていたら、XCODEの設定だそうです。Membershipを設定すると良いそうです。targetmembership.jpg今回のメモリ表示は、「達人のレシピ100」に記載されているものを自分コードに合うように変更しました。cocos2dの場合はAppDelegate.m,hに記載しました。サンプルコードのままでは表示されなくて、Admobで動作した記載を参考にしたら、表示されました。画像、アイフォンキャプチャ画像こんな感じで表示されます。メモリ使用量を見ると、なんどもゲームを繰り返し遊んでいると、メモリがどんどん増えているのがわかりました。どこかのタイミングでメモリを解放しないと増え続けそうです。Profilesデバッグ確認が必要になりました。アイパッドのシミュレータ(シュミレータって書きそうになりますが)では、リフレッシュレートが30以下になって動作確認が正常にできません。実機だと60FPSきちんと表示されるので、シミュレータの限界になるのでしょうね。profileを作成しました。アイパッドを新規にデバイスとして登録しました。以下はその追加手順です。Centerのページが変わっていたりします。前提条件としてアイフォン1機はすでに、登録されており、複数のアプリの登録をすでに実施した後のアイパッド実機の追加登録になります。複数のAppIDが存在します。複数のMacで開発記事アイフォンアプリiPhoneを作るときに複数台のMacで開発するときに証明書の認証をどうすれば良いのか?作業日は、2013年6月8日です。以下は作業したとおりに、画面キャプチャしながら、登録を進めました。そのため、正しい手順になっていないことがあります。<AppIDの追加>その後、2台目の実機(アイパッド)登録になります。1台目はアイフォンで登録済みです。Centerにログイン(すでにデベロッパー会員になっていることが条件です。Profiles]をクリック>>>>間違って別のところに進みました。AppIDの追加の場合は、下の3Aから進めてください。