
デビッドクイン昼間の仕事を持つ普通の男と経験コーディングのことを少しだけです。 しかし、彼の友人は、夢に住み、週末には、単純なiPhoneアプリをやる気満々。 ここでどのようにようにしました:
"タイ料理、サラダやラーメン?"これはランチタイムの典型的な木れ、それを世界中の何百万人に同じ質問を考えている私たちストライク。 この質問はランチ、誰のためのiPhoneアプリを構築する"と願った人々の何千もの問い合わせ部分とされている。"
私は製品と一部の設計やコーディングのスキルを持つマーケティングの男。
ロイいくつかのビジネスに精通したと開発者です。 組み合わせることで、我々は素晴らしいチームと同様、互いの能力を補完することが、我々だけを目的と作業を開始- Ç、昨年はiPhoneの開発を試みている多くの人のように。 我々はすでに、これは、言語やフレームワークに精通しているアプリケーションまたは2つを構築しました。 ただし、すべての新しいプロジェクトと同様に、通常どのようにさまざまな課題にアプローチを理解するために少し研究しなければならない... ...世界の320 × 480ピクセルで定義され、特にインチ
長い間、我々楽しみのためにアプリを作るのアイデアをいじっている。 良いアイデアのカップルを破棄した後(これは大きすぎる、または、App Storeでクイック検索した複雑さは、すでに誰かがそれも)、単純な、楽しいアイディア意思決定の間にはさまっを助けるためにランチタイムの土地私たち。
しかし、ほとんどの人々は偉大なiPhoneアプリは、私の友人を作成したいと私はさらに一歩進んで、週末にまたは現実的にプロジェクトを完了する提携を結んだこと、我々のアプリの完成を得ることはなかった。

2〜3ワイヤーフレームを一枚の紙は、落書きでは、いくつかの基本的な画面のアウトラインを開発した。 私たちは、3つの複数の選択肢を提供してアプリを決定します。 あなた自身の回答例を書くことができます、タイ料理、サラダやラーメンと、単にあなたの決断の答えを表示するには無作為選択を選択します。 我々は、テーマとしてトランプを使用して決定します。 """"それは必要な詳細調査機能(最後の優先順位)、そして最後に特徴があるためのような機能(優先順位)を持つ必要がありますすぐに、私たちサークル。 我々は木曜日に少し宿題や計画を一緒に土曜日に取得すると一緒に昼食にします。
私の宿題を見て感じるとの相互作用の各画面で決定しています。 ロイいくつかは、Xcodeの研究に必要な私たちではない可能性はまだとの"本物の"仕事にプレーしなければならなかったが機能は主に、アニメーションや無作為化。
だから、並んで座ることができるサイドとグラブ土曜日の午前中、私たちは、Wi - Fiの無料いた地元のコーヒーショップでは、大規模なテーブルの主張を満たすのコーヒーの多くは大きなカップの最初の。 それから、このプロジェクトの基本的なアカウントの共有Dropboxのフォルダを作成無料ですが、2GBのストレージを搭載。 これは私たちすべてに同じプロジェクト/すべての変更をリアルタイムで同期させる上でマルチタスクすることができますDropboxが重要です。 大規模なプロジェクトの場合は、GitHubに検討する必要があります。
我々は何を我々のアプリケーションのためだけでなく、基本的なワイヤーフレームを達成したいと考えて、より詳細なアウトラインを引っ張る。 私たちはこのアプリを完了するために週末のことを考えれば、我々だけ""てはならない機能に焦点を当てることにする。 開発者は常に、後日"を持ってする"機能がいいを含むように機能のアップデートを発行することができます。
- で行く画面画面で、我々の詳細は、ページ上の要素を、スタイル、治療法、レイアウト、タイミング、等また、ロイは、カードのフリップの動きのアニメーションについて学んだことを話し合うので、この1つのアプリケーションの中核となる機能だった。 我々は簡単には、Quartz 2DやCore Animationは、ライブラリ、以来、我々は、以前は、これらのすべての仕事をしていなかったを確認します。 我々も、WebKitのCSS内のアニメーションをレンダリングするためにUIWebViewを使用して説明します。 結局のところ、我々は、単純なソリューションは、標準UIViewsとUIButtonsを使用して見つける。 UIViewクラスは、いくつかのアニメーションクラスのメソッドを持って、1つのトランジションを内蔵フリップ効果です。 無作為化に関しては、ほとんどの言語を知って、ランダムな関数を提供し、Objective - Cの例外ではありません。 このアプリの目的のために、すべての望んでいたの配列をランダムに単純な方法でした。 ロイは、この例のカップルが見つかりましたが、1つは、際立っていた以上の博士タッチのウェブサイトに掲載されました。 彼はこれをすることができます簡単にshuffleを任意の配列のように、クラスの拡張メソッドを実装する方法について説明します。
我々はボルグとのそれぞれのMacBook Proに飛び込むノウハウを当社の個々の領域に焦点を当てるように。 私はPhotoshopを開放し、建物の画面を始めた。 最初の画面は、デフォルトのイメージです。 この人がアプリを起動読み込んで始まって最初の画面です。 アプリのいずれかの肖像画や風景を見るに建設することができます。 場合、我々のような風景を眺めるのアプリをビルドを選択する場合でも、デフォルトのイメージを作成する必要があるの肖像画ビューで表示されます。 単にあなたの風景を見るを作成し、時計回りまたは反時計回りに回転する(かどうか、または右の風景を残してによって異なります)。 今の肖像画の表示では、デフォルトのイメージは読み込まれますが、画像のユーザーがねじれの風景を表示するには、iPhoneを回転されるため。
それから数時間、次のカップルコンプを作成する費用、背景画像、ボタン、カード(前面および背面)と情報のページです。 また、私はアプリのアイコンを中心にいくつかの時間を費やす。 これは明らかにあなたのアプリの"顔"の名誉のバッジので、アイコンのイメージに慎重な考えをしたくています。 覚えておいても、57 × 57のアイコンと512 × 512のサイズが必要です。 完了すると、私のDropboxのようにロイは創造的な要素の使用を開始する可能性がアップロードできます。

時間を私は視線を戻すロイのラップすることによって、彼は新しいXcodeプロジェクトを作成したのはすでにコードをクリックして緑色のボックスには、フリップをアニメーション化する遊んでいます。 中には、iPhone Simulatorの試作に取り組んでいる、私は、Info.plistファイルといくつかの設定を編集 - アプリの表示名、アイコン等から我々はそれを私たちはいくつか追加することの時間を決定する光沢を削除するステータスバーを削除をつかむ当社のプロトタイプを実際の画像。 我々は、背景画像を入れ、前面および背面にはカード、およびナビゲーションボタン。 位置決めオフに多くの()がして、カードをよく見るされ、スムーズに反転だ。 私たちは、結局、それぞれのカードのための正確な間隔と位置は、私たちが望む取得するいくつかの悪い数学ください。 私たちの周りは、フリップ、上の状態をオン/オフのナビゲーションボタンを設定し、今ではかなり良い感じのタイミングで遊びます。

作品を見て一緒にアプリに来ることがある画像は、微調整が必要なカップルが私に示しています。 私はロイをカスタマイズする画面や情報を画面上に作業開始の変更を行います。 画面のカスタマイズが何であれ、カードの表面に表示したい人を入力することができます場所です。 私たちは、25文字...何か、それ以上に制限し、それ以上の書き込み/カードの外。 私たちは詳細には、この画面には、もう少しで話す。 各分野での相互作用は、どのようにキーボードの行為を、どのように我々の前に戻ってカードに行くに保存します。 我々はInterface Builderの配線の時間を正確にどのように見て行動するこのページをしたいのビットを過ごす。 infoページは完全に任意ですが、これは私たちに到達するための追加の方法が含まれているのを好む。
うわー、7時間、四つんばい大規模なコーヒーの後、我々はたくさんの仕事が、が、まだ多く行ってそうだね。 私たちが現在のアプリケーションは、火災を、デフォルトのロード画面が表示されます。3つのカードは、カードを見せ(戻る)を示しています画面にみんなが、彼らすべてを選択することができます/すべてのカードとカードを見るには反転カードの前面のボタンのラベルには、をクリックし"もう一度"は、カードをリセットしてみてください。ラベルの付いたボタンには、をクリックし、"カスタマイズ"という新しい画面が開き、"カスタマイズ"画面では、3つの個別にテキストを入力することができます各フィールドに25文字の最大のフィールド、および場合は、情報画面を得ることができます。 私たちは一緒にコードをきれいに一日の最後の時間を費やすと、明日達成するために何が残っている議論。

日曜日には、無料のWiを持つ別のコーヒーショップ- Fiので満たしています。 コーヒー初めて。 前に、我々は再び作業を開始するように我々の約80%完了している私たちは感じています。 主な作業は、前日には、カスタムテキストを保存しているため、カードの表面には、カスタムテキストを表示、左とは、テキストをランダム化する。 我々は、追加機能を考えていたが、私たちが正直に保管し、最小限の範囲クリープ続けた。 この格納するための手段だったの1つの例は、/各3枚のカードでは、カスタムテキストを保存します。 ロイsqliteデータベースを作成したりコアデータの使用が、最も簡単なアプローチだけでstandardUserDefaults内蔵NSUserDefaultsのクラス内で見つかったオブジェクトを使用していた。 このメソッドを格納を使用すると、アプリの設定だけで我々のニーズの罰金に値を、私たちに多くの時間を節約できます。

一方ロイ、これらの項目に取り組んでいる、それは完璧な機会を私にいくつかの我々はその日遅くする必要がありますことを準備している。 いつのApp Storeにアプリを提出、それはファイルの簡単なアップロードではない。 アップルのアプリ毎に提出は、次の情報:アプリケーション名、アプリケーションの説明は、デバイスの要件、プライマリおよびセカンダリカテゴリ、サブカテゴリ、著作権、アプリケーションの評価、キーワード、SKU番号、アプリケーションのURL、スクリーンショットは、マーケティング商品、サポートURL、サポートのメールが必要ですアドレス、エンドユーザー使用許諾契約書と料金/空室。
ですから、私は、最初に似たようなアプリとその名前がApp Storeで検索しながら、ロイがビジー状態のコーディングのすべてのアプリを提出の情報を準備。 我々のような"スタックのか"と幸いにも誰もので、その名前で行くそれを使用しています。 私は、いくつかのキーワードを追加すると、アプリの説明書を作成し、価格を設定し、そこではアメリカ、特定の国または世界(だけ)で、このアプリの販売を決定します。 それから私は、ドメイン名(stuckapp.com)レジスタは、アプリケーションのURLに使用する/ URLのサポートと、新しく作成したTumblrのアカウントにリンクされます。 また、私は必要なサポートのメールアドレスを作成しました。 事前に準備するための他の商品をお勧めしますアール:スクリーンショット(最大5)は、大きいアイコン(512 × 512)と、アプリを提出する場合はこれが初めてですが、任意の証明書/プロビジョニングプロファイル。
物事が予想よりも長くなり、取るにもかかわらず、我々は基本的にアプリでは初期の日曜日の午後に完成している傾向があり、我々はまだ時間以上微調整をして過ごすが、App Storeに提出する準備をすべてのコードと罰金としてチューニング洗浄我々に沿って進みます。 我々は1つのコンピュータピクセルを押し、書式設定で、一日の大半を費やすとのタイミングとユーザーとの対話を確保されたとおりに私たちもいました。 日曜日の仕事の約5時間後、我々は両方を想定アプリをしている。 われわれは、iPhoneシミュレータでテストし、デバイス上で開始(いずれもiPhoneやiPod touchの安定性と機能)です。 ここでも、シンプルなアプリにされて、それが容易で、テストに速い。
その安定性を証明した後、スタックを公開することに? App Storeに。 自分で別のアプリを公開での私の最初の試行で2日間を要した-しようとすると、Googleは、試み、失敗に失敗Googleの詳細などまで、最終的に働いた。 しかし、2度目の周りはるかに簡単だったと高速です。 我々はコピー/すべてのテキストを以前の準備貼り付けして、スクリーンショットや画像を追加しました。 全部で、我々のアプリケーションで約15分後にアップロードしている。 この時点で、我々は、空腹の興奮していると疲れだけでなく、非常に、我々はコーヒーショップで、週末にしっかりとしたアプリが完了誇りに思う。

我々の指がApp Storeにわれわれのアプリを承認することを越えていた。 後、我々はApp Storeに提出された私たちは週末にアプリを終えることがまた、と驚き、本当の驚きだった。 私たちは日曜日の夜にアプリを提出した。 このレビューを待ってから、ステータス変更日は、月曜日に。 火曜日には、我々のメールは、当社のアプリケーション販売に準備された私たちに通知を受け取った。 2日間で承認! そのレコードは、休日は特に前にする必要があります。
特に一緒にように、多くの人がこの記事を読んでのように長い間のアプリケーションの構築について話をした後、私は、履行は計り知れないと言う必要があります。 我々はついになかった。

ヒント週末にアプリを完了するための
1。 あなた自身でそれを行うことはできません。することができますが、あなたにはなりたくない。 理想的には、パートナーのためのスキルとは異なる、相補的なセットで誰かとします。 パートナーは知っており、あなたの専門領域を尊重する人とが、もっと自信を持って、自分のスキルについての知識が豊富。 良好なコミュニケーションの努力などは、このように急速に矢継ぎ早に質問するお互いにアイデアをバウンスの期間を通じて、次に行きますとして暗示されるの沈黙の期間としては、個別のタスクで動作します。 そこで行わを取得し、マルチタスクの鍵になることがたくさんだ。
2。 マルチタスク。として提案した以上、誰が自分の能力を補完するものと一緒の作業をマルチタスクすることができます。 何を意味するのですか? たとえば、初めに一度は、1人のコーディングを開始することができます - 場所に、プレースホルダのボタンやブロックを置く考えのワイヤーフレームを消す。 それと同時に、他の人とそのときには右のステージにgetを使用する各要素をカットコンプを作成することができます。 また、プロジェクトの末尾に、一人がプロジェクトを終えることができ、コードのもう一方のクリーンなApp Storeに提出プロセスのすべての画像およびマーケティングのコピーを準備します。
3。 少なくとも1つの事もしないでください。ほとんどのデスクトップアプリケーションやWebプロジェクトとは異なり、あなたは最も良いの携帯アプリはどこで、いつでも来ることができる必要を満たすを覚えている。 あなたのアプリのアイディアは複雑になるにはありませんが、良いアプリケーションも、1つまたはこれらの事の詳細を行うように見える:
- 問題を解決する; - 面白いです; - 特定のニッチをお楽しみいただけます。 - ユーザー営むおよび/または - iPhoneのユニークな機能を利用します。
4。 設定する目標とマイルストーン。あなたの目標市場に速度だけで、または経験を得るために)は、(空白のない最高の気のアプリを構築し、明確に自分の目標であるかどうか。 当初、それはあなたが重要されている地域/成功のための重要な焦点に役立ちます。 などを"同様に"機能があると"機能があるについては"しなければならない難しい決定に直面するも、後に道をお手伝いします。 覚えておいて、いつもの"必要がある"アイテムを焦点と何が目標を達成する必要がない機能のアップデートを発行することができます。
5。 Dropboxのアカウントを取得します。小規模から中規模には、Dropboxが勝利することはできませんプロジェクトの大きさ。 この場合、共有、保存して他のユーザーとファイルを同期することができます。 共有の停止前後には、USBメモリスティック上のファイル。 をリアルタイムでDropboxのアカウントやファイル共有を取得します。 私たちのうち、地獄の虐待を私達の自由、共有Dropboxフォルダと完璧に働いた。 大規模なプロジェクトの場合は、GitHubに試してみるとよいでしょう。
6。 試験。 試験。 テスト時に、あなたのアプリケーションのテストの重要な一歩をごまかすのは簡単フィニッシュラインを参照してください。 あなたのiPhoneのシミュレータでのテストだけでなく、iPod touchとコース上でiPhone上でもあなたの手にしてください。 アプリの複雑さに応じて、テスト計画のすべてのユースケースと機能的なタスクを覆われていることを確認するために作成することがあります。 したい最後のApp Store、またはクラッシュが期待どおりに動作しないでアプリをすることです。 あなたのすべてのエゴをフィードバック粉砕から回復することがあります。
7。 アップル社は、PDF文書の提出を処理するための詳細を提供するApp Storeに提出のプロセスを理解する 。 しかし、その文書だけの登録開発者向けです。 場合、既に登録されて、その文書を徹底的にする前に、アップロードプロセスを開始してください。 それは何もかかわっているのも、事前の準備に必要なものがありますが良いアイデアを与える。 Appleはまた、 アプリケーションストアの提出と承認のためにいくつかの良いヒントを提供します。
源泉
gizmodoさん