Curve変化できたものだけが生き残れる。同梱するhttps://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/3.1/ここ↑のgetting-startedのインストール手順だと、SDKは~/Documents/FacebookSDKにインストールされて、プロジェクトとSDKとはリンクされてるだけです。なるので、Finder上で組み込みたいプロジェクト(.xcodeprojと同じ階層)にコピーしてから、同じようにプロジェクトに追加します。Pathsの値がそのプロジェクトのあるパスになっていればOKです。"$(SRCROOT)"※既に一度getting-startedの手順にてインストールしたことがある場合は、SDKへのパスが絶対パスで設定されてしまっていると思います。それは削除しちゃいましょうあとはFacebookSDKのimportがエラーにならなければ、正しく読み込めていることになります。SDKを同梱できました。開発マシンとリリース作業をするマシンが別な時などはこの方法で対応しようと思います。XCode2012/09/24iPhoneアプリからPOSTしたデータの確認iPhoneアプリからサーバへ画像をPOSTする機能を実装しているとき、サーバサイド(今回はPHP)の出力(printやechoなんか)がXCode側で見られなかったので(俺がやり方をしらないだけ?)、サーバ側のテストプログラムでファイルを出力して確認してた。一応インターフェースは決まっているが、名前ぐらいなので、POSTができない場合に問題を切り分ける必要があった。アプリからはちゃんと送れてるぞという主張の根拠を提示したかったわけだwネットでvar_dump()をファイル出力する方法を見つけたので、$_REQUESTと$_FILESの情報をそのままvar_dump()してファイルに書き出してみた。拡張子が.htmlなのは、var_dump()して出力される内容がhtmlだったから。ブラウザからも確認しやすくてスゲー便利。)."/".$_FILES['file_data']['name']);}※うーむ。SyntaxHighlighterがおかしいなぁ。パーサがお利口な場合はよしなに記号に置き換えてくれたりするけど、そうじゃない場合もあるので、その場合は自前で文字列置換を行ってあげる必要がある。自前のアプリでは今のところ下記について対応していて、必要があれば適宜追加していっている。SDKを拡張できる仕組みが提供されるみたい。Mobileでいうところの“Module”、AIRでいうところの“NativeExtention”みたいなものらしい)そもそも私がCoronaを気に入っている理由はOpenGLベースの描画を使ったアプリをOpenGLの知識無しに比較的簡単に開発できる点にある。SDKは2Dゲーム用のミドルウェアなのでこういった作りなんだけど、ゲーム以外のアプリでも凝ったUIを作ろうとしていくと、結局のところ標準UIの設定をちょっと変えたぐらいでは実現できないという状況になり、ツール系アプリなんだけどOpenGLで作るか?という選択肢も出てきたりするのが実情である。SDKのようなツールだったら、画像ベースのパーツを組み合わせて動かすことによって、オリジナルのUIを作り易く速度も遅くない。(デザイン・ガイドラインに沿った上でのオリジナリティか、完全にオリジナルな世界観を持ったUIにするかは別問題なのでここではおいといて(/^^)/)ただツール系アプリでは、提供されるSDKを利用するという場合も多いので、なかなか悩ましい状況であった。SDKのようなツールでネイティブ拡張が可能なツールが出てくれば乗り換えてもいいと思っていたwここにNativeExtentionの登場である。動かして試してないし、ざっと見ただけなので勘違いもあるかもしれないが、Luaで書くCoronaのアプリに、自分でObjective-C(iOS)またはJava(Android)で書いたコードを使ったり、開発者向けに提供されているWebサービスや広告のSDKを組み込んだりできるようになるものらしい。SDKがかなり強力なツールになったといえる。Objective-Cを仕込んどいてよかったと本当に思う。なんか動かせたらまた記事にします。)とURLとは別に画像ファイル名が指定されていた。思いざっと解説を確認してみたところ、どうやらサーバにある画像を読み込んで表示するだけではなく、保存もされるらしい。一行で画像のDLと保存が可能だと!これは試しておかねばと思い立ったwせっかくなので、複数ファイルを扱います。サンプルではコード内に画像のファイル名を書いていますが、実際に使う場合は画像のリストをWebから取ってきたり、DBからもらってきたりすると思います。いったコードはそれぞれの仕様にあわせて実装してくださいwあと、画像がダウンロード済みかどうかの判定も必要ですね。nilでリムーブします(3)確認のため、全画像がダウンロードされたら1枚目の画像を表示を表示させてます思いつきでやってみましたので、この方法が良いのかどうかわかりません。何かの役にたってくれそうな気がします。CoronaSDK2012/04/25今更ながらC言語を勉強したObjective-Cを勉強するにあたって、その前段階としてC言語の勉強をしたので、一応成果的なものを晒しておきます。※Objective-C内にCが書けたりするのは、Objective-CがCのコンパイラ拡張だからだって初めて知った※つまりObjective-Cを理解するにはCを理解しておいた方がよいということ今回ポインタやら構造体について理解できたので、Objective-C以外でも役に立ちそう。C言語やってよかった。その成果ですが、「画像フィルター」的なものをつくってみました。※当然コマンドラインのアプリケーションですが何か?以下ソースです。}※コードの最後にSyntaxHighlighterの不具合?でゴミ(タグ)が見えてますが気にしない方向でお願いします。※対応フォーマットはWindowsBMP形式のみです。※例え拡張子が.bmpでもヘッダやデータがおかしなモノはダメです。画像処理って難しいと思ってましたが、「ActionScript入門Wiki」のわかりやすい解説とサンプルコード(もちろんASですが)がとても参考になり、Photoshopや多くのカメラアプリのエフェクトも裏側ではこんなことやってるのかな?とか想像しつつCに移植して、実行しては「おーっ!」ってやってました。画像処理、楽しいですね!引き続き本題のObjective-Cの勉強をやっていきます。Ver.1.0.0」のリリースと同時に、サーバサイドがherokuへと切り替わり、herokuデビューをしました。Engineを使ってきた「ぐぐっと!急上昇ワード」ですが、プログラムをsinatraで書き直し、herokuで提供することにしました。今回サーバサイド側に機能追加を実施し、これまでのデータの加工および端末へのレスポンスに加え、過去のランキングデータを閲覧できるようになっています。Engineが嫌いになった訳ではなく、機能追加を検討するにあたり、当初シンプルであったアプリもアップデートを重ね機能を追加しすぎた感があるので、これ以上アプリ側を複雑にしたくなかったというのがあり、Webアプリケーションとして用意したものと連携するようにした方が良いとの判断に至り、それならば、以前から興味のあったsinatraを使いたいなということで、公開サーバとしてVPSとherokuを検討した結果、herokuになったという訳です。・iPhone/Android向けということでスマートフォン向けサイトになっています・アプリからは上記右画面の最新ランキングへ誘導されるようになっています・またこの機会に独自ドメインを取得しました。http://gugutto.com/・それにしてもiPhoneもAndroidもバージョン間でブラウザの機能差がありすぎですねwすぐに公開できるAndroid版が先行してherokuに切り替わっていて公開後半月程たちましたが、パフォーマンス的には問題なく稼働しているようです。Engineへのアクセスもまだまだあります。iPhone版とかアップデートしていないユーザのリクエストとか)※追記:4/2にiPhone版もアップデートされました開発の方はsinatraもherokuもネットで情報をかき集めてはつなぎ合わせ、トライアンドエラーを繰り返すことによって公開まで辿り着くことができました。herokuも既に古くて使えない情報があったり、Railsではスンナリできるらしいことが、sinatra(というか素のRack?)では方法が違ったりといったハマリポイントが多く、今回も色々と勉強をさせていただいた感じです。sinatraは気に入ったので別のアプリもつくりたいと思ってます。Engineの管理コンソールの出来の良さを感じることができました。herokuにも欲しいです。有料でもかまいません。Databaseが5MB無料の次がいきなり20GB/$15になるのではなくて、5〜6GBで$5とかの設定が欲しいなと思いました。このあたりがネックになって、開発環境として無料でherokuを使い、本番はAWSやVPSを利用する人が多いのではないかと思いました。(今のままだとherokuさんにお金落ちないですよね。それともお金払ってくれるユーザさんからたくさんもらう方向なんでしょうか?)ということに気付きながらも公開してしまった以上、今のところDBが5MBを超えたら課金予定です。広告費で賄える限りはherokuを使ってみるつもりです。Android」の誕生について。昔話10万ダウンロードというひとつの区切りを迎えた今、ちょっとこのアプリについて振り返ってみたいと思います。Marketにてダウンロード数が50,000を超えるアプリの割合は3.8%とのこと)まずこのアプリをひとことで説明すると「トレンドキーワード検索・共有アプリ」です。最初からこのアイデアがあり、実現しようとアプリをつくったわけではありません。(AndroidをターゲットにしたのはJavaの方がなじみがあったからですが)まず最初に考えたのは「できるだけ端末から削除されないようなアプリをつくろう」というものでした。一発ネタ的なアプリはおもしろいけどすぐ飽きてしまうし、誰もが使うような定番アプリは競争が激しい。そこで何度も使えて、消さずに残しておいてもいいやと思ってもらえるようなアプリのネタを考えることにしました。「Amazonのロングテールならぬロングターム戦略や!」と言ったとか言わないとかwそしてネットをいろいろ巡っているときに「Google急上昇ワード」がネタとして良いかもしれないと思い、さらに調査を続け、キーワード・ランキングをツイートするTwitterBotがそこそこフォロワーがついていることを確認しました。同じようなアプリについて調べたところ、Androidには同種のアプリを見つけることができませんでした。(iPhoneにはランキングを紹介するアプリが1本だけありました。今ではiPhone/Androidとも、同種のアプリが多数あります)「この方向はアリかも」と採用しました。次にネタのベースが決まったところで、アプリとしてはどうしたらよいだろうかと考えていきました。キーワードのランキングが見られるだけではアプリとして面白みに欠けるので、プラスアルファが欲しい訳です。更新されるキーワードを眺めていると、時々知らないキーワードが出てきます。すると自然に検索して調べたくなります。してキーワードのランキングから任意のワードの検索ができるアプリのアイデアが生まれました。結果このアイデアは大正解。検索という能動的な機能に結びつけたことが、当初のコンセプト(端末から削除されないようなアプリ)を実現できた一番の要因であると同時に、単なる情報収集ツールではなく、暇つぶしツールとしても「使える」アプリになり、10万ダウンロードを実現できた要因だと思います。実際このアイデアが正しかったのは、その後同種のアプリがiPhone/Android向けに多数リリースされていることが証明していると思います。爆発的にリリースされるアプリが増えている現在は、上記のようなアプリの作り方では、結果を出すのは難しいのではないかと思います。多種多様なアプリがリリースされているので、差別化ばかりを考えると、ニーズのない誰得なアイデアばかりになってしまいがちです。そんな状況においては、定番ジャンル・競争の激しいジャンルでも、後発だろうと先行者よりも良いアプリをつくってやろうという気概と実行力が必要ではないかと感じています。本質としては「ユーザに価値あるサービスを提供すること。それがたまたまアプリという形であった」になっていないとダメなのでしょう。これまでアプリをつくってきて、思ったこと感じたことををつらつらと書いただけのエントリになってしましましたが、改めて、これからも楽しみつつアプリをつくっていきたいと思いました。Android」10万ダウンロード突破Androidアプリを公開しましたのエントリで初登場した「ぐぐっと!急上昇ワード」が10万ダウンロード突破しました。(昔のエントリには今みるとなつかしい画面がw)お使いいただいているユーザの皆様をはじめ、少しでも興味を持ってダウンロードしてくれた方、レビューに取り上げていただいたサイトおよびメディアの方々に改めて感謝申し上げます。公開してから1ヶ月で5000ダウンロードを超えたので、当時として順調な滑り出しと思います。X10)のユーザです。(当時はアプリを日本にしか配信していませんでした)そしてリリースから1年後、機能追加も一段落しダウンロード数は7万を超えています。この時のアップデートでアイコンのデザインを変更しました。10ヶ月、10万ダウンロード突破となりました。始めてリリースしたアプリがここまで上手くいかなかったら、自身のスマートフォンに対する取り組み方も違っていたと思います。機能についてのアイデアもまだまだあります。引き続きのご愛顧を賜りますようお願い申し上げます。昨日の勉強会でも質問に挙がっていましたが、最初問題になるところですよね。いうことで現状私がやっている方法をまとめてみました。build.settingsのplistに"CFBundleLocalizations"の設定を追加します。下記の場合は"ja"と"en"を設定しました。InfoPlist.stringsを作成します。それぞれファイル内には"CFBundleDisplayName"を設定します。"NadeUsagi";これでビルドするとiPhoneの言語環境が日本語の場合は「なでうさぎ」と表示され、英語の場合は「NadeUsagi」と表示されるアプリになります。※日本語および英語以外の場合も「NadeUsagi」と表示されるようです。name:」は「nadeusagi」のまま変更は加えていません※ひとつのバイナリで言語に合わせたアプリ名に出し分けることが可能ということになりますさて次はAndroidの場合です。name:」を変更します。日本語のアプリ名にしたい場合は「nadeusagi」を「なでうさぎ」と変更してビルドします。いきたいところですが、このアプリは日本語以外の環境でも「なでうさぎ」と表示されます。※残念ながらひとつのバイナリで言語に合わせたアプリ名に出し分けることはできないようですこうやればできるといった情報をお持ちの方がいらっしゃったら、ぜひご教授ください。日本でしかリリースしないアプリであればこれでOKだと思いますが、ビジネス的にはそんなことは考えにくいので、アプリのリリース先(国)との兼ね合いで別アプリにするとか、英語名に統一するとかの判断が必要なのかも知れませんね。いえば以前Coronaの会のMLに投稿された日本語+半角英字のアプリ名も実機転送までは問題なくできました。修正されてるみたいです。ちなみに、アプリ内のテキストを言語毎に切り替えて多言語対応のアプリにしたい場合は、下記のブログで紹介されている方法がわかりやすかったです。渋谷にてLTをしてきました。日本Coronaの会の山本さんから「LTしませんか?」と振っていただいたので、せっかくの機会なので軽くお話しさせていただいた次第です。SDKをやってみようという方には良いのでは?と思ったからです。スライドはこちらになります。APIに直したものをGithubに公開しました。World"の次に進みたいんだけど情報が無いwとお悩みの方などのお役に立てれば幸いです。メモリ管理とかに気を配ってないので、もしかするとアレかも...イベントの方は盛況であったと思います。前に座ったのと、自分のLTばかりに気がいってあまり周りを見る余裕がなかった(反省点1)あと自分のアプリをもう少し宣伝した方が良かったなぁ(反省点2)色々と良い経験をさせていただきました。ありがとうございました。Sheetの機能を持っています。Sheetを利用することでアニメーションが実現できるわけですが、アプリ開発においては、そのアニメーションの素材となる画像をどうやって用意するかということも重要になります。皆さんもご存じのように、Flashというアニメーション制作ツールがあります。(間違いなく?)世界で最も使われているアニメーション制作ツールでしょう。そこで『Spliteloq』です。Sheetへと出力できるツールです。http://www.loqheart.com/spriteloq/おおまかな手順としては以下のようになります。表示されるまで試行錯誤が必要でした※その辺り実はまだあまり良く分かってません※このサンプルではうさぎと太陽がアニメーションしています。背景も含め、まとめてFlashから持ってこれました。SDKを使うスマートフォン関連のデザインをやっていると、PCの画面で見ている時と、実際にデバイス上に落とし込んで見ている時の印象の違いに「ほぅ!」って思うことも多々あります。(※イメージと違うわーってことです)特にアイコンやスプラッシュ画像をデザインする際は、ロゴが潰れてないか、文字が読めるのか、またiPhone/iPad/Androidで画面サイズや画角が異なっているので、それぞれにバランスを調整しつつレイアウトしたりと(単純にリサイズしているだけじゃないんですよー。下記の画像を見比べてみてくださいねw)、気を遣う部分も多いので、必ず実機にインストールした状態での確認が不可欠です。自作のアプリであれば開発の最終段階あたりで作業するので、実機にインストールしての確認も何ら問題なくできるのですが、アイコン/スプラッシュ画像のデザインのみ依頼を受けた場合等、組み込むアプリが手元にない場合はダミーのアプリを作って確認することになります。前置きが長くなりましたが、ここからが本題です。SDK」が向いているということに気付きました。私の場合はiPhone/iPad/Androidのダミーアプリをそれぞれ用意し、スプラッシュ画像をスプラッシュとしてではなく、アプリの背景画像として使用することで、じっくり確認できるようにしています。このダミーアプリの画像(複数解像度のアイコンおよびスプラッシュ)を上書き>ビルド>実機転送>確認のサイクルを繰り返してブラッシュアップを行っています。メリットを具体的にいうと・コードが短い(さらにファイル一式用意してしまえば、後は画像の差し替えのみ)・アプリ名をビルド時に変えられる(フォルダ名を変えてしまうのでもOK)・IDEに縛られない(自由だし小回り効くし)といったところでしょうか。実機転送は無料トライアル版でも可能です。こちらは昨年末、株式会社あゆた様のご依頼で作成したものです。上記以外にもストア/マーケット用の画像も作成させていただきました。ARを使ったおもしろいアプリですので、一度お試しあれ。詳細はリンク先ページにて。新年のごあいさつあけましておめでとうございます。本年もどうぞよろしくお願いいたします。昨年は個人のスマフォアプリ開発に力を注いでいたといっても過言ではありませんでしたw企画的な情報収集や実装方法のリサーチ、そして今までにやったことのないデザインテイストに挑戦するなどし、新たに4つのアプリをリリースすることができました。新年早々、新アプリを申請しました。これは昨年12月からほぼ1ヶ月で2本のアプリをつくりあげたことになります。機能を最小限まで絞り込んでいるとはいえ、2〜3週間でアイデアを実現でき、世の中の評価を得られるという現実に、ワクワクしっぱなしです。本年はぜひこれらを仕事に生かしていきたいと思う所存でございます。何かございましたら、お声がけいただけますと幸いです。Mekeygxデザインも開発もやる人。Webやったりスマフォアプリ作ったり。このブログは、ほぼ開発に関する話です。Android」の誕生について。ZusaarslidesharegithubFeeds投稿Atom投稿すべてのコメントAtomすべてのコメント。