その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

2011-02-01から1ヶ月間の記事一覧

「2月は毎日更新」達成!

ここは2/28のエントリーですが書いている現在日時は3/7(月)、AM4:54です。 この週末に計18本、このブログの記事を書きました。 なんで新着じゃなくてわざわざさかのぼって書いたかというと、 「なかなかまだ誰も書いてないような技術について書くって大変…

iOS SDK用音声認識機能ライブラリVocalKitの使い方

2010年12月4日に行われたyidev(横浜iPhone開発者勉強会)第七回で話した際の資料です。 VocalKitについて from Shuichi Tsutsumi iPhone SDKで利用できる音声認識ライブラリ(Pocket Sphinxのラッパー)VocalKitについて紹介しています。 (内容) 『勇気を…

Instagram API

3/2に書き直したのでこちらをご覧ください。 Instagram API のOAuth認証をiPhoneで試してみました

Application Loader で iTunes Connectの別アカウントにログインする

受託開発などで申請手続きまで代行する場合など、 Application Loaderにログアウト機能がなく困ってしまう場合があります。 解決方法 下記ファイルを消去するとログインし直せます。 ~/Library/Preferences/com.apple.itunes.connect.ApplicationLoader.plis…

デバイスにインストールされているアプリ一覧を取得する

自分のiPhone(やiPad)に入っているアプリ一覧って当然取れないものと思っていたら、Bumpにアプリ一覧を表示する機能があって、どうやってるんだろうってことで検討してみました。 方法としては、次の2つが考えられます。 アプリのプロセス名一覧を持って…

カメラアプリにFacebookへの写真投稿機能をつける

1年前に作った「頭身カメラ」というアプリに、 Facebookへの投稿機能をつけてみました。 (AppBankさんへの寄稿記事) http://www.appbank.net/2010/07/15/iphone-application/140803.php (AppStore) http://itunes.apple.com/jp/app/id379198789?mt=8 1.…

UITextFieldへの入力時にキーボードではなくUIPickerViewを出す方法

普通はキーボードがニュッと出てくるところを、ピッカー出すようにします。 (某アプリのクレジットカード対応でカードの有効期限入力するところで用いました) ものすごくシンプルに書くと、 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField…

nibファイルの読み込みパフォーマンスを改善するUINibクラス

iOS4.0から追加されたUINibというクラスでは、nibファイルからのインスタンス生成においてキャッシュによるパフォーマンス向上が図られているとのこと。 すれ違い通信アプリ『EncountMe』はiOS4以降としているので、これはよさそうってことで調べてみました…

すれ違い通信アプリ開発で得たBluetoothの知見まとめ

南東京iPhone開発者勉強会で話した際の資料です。 iPhoneのBluetoothについての知見まとめ from Shuichi Tsutsumi すれ違い通信アプリ『EncountMe』の開発を通して得た iPhoneのBluetoothまわりの諸々について、まとめています。 アジェンダだけ抜粋すると B…

NSStringの全角/半角バリデーションチェック

某アプリにクレジットカード決済をつける際に、カード名義人入力欄で全角入力をはじく必要があり、ググってみたところ意外と「全角文字と半角文字を判定する方法」はあんまり出てこなかったのでこちらに書いておきます。 (全角→半角の変換の話はいっぱい出…

UITextViewのheight調整

UITextViewの高さ調整を、UILabelと同様に下記のようにやってしまうと、 ちゃんと合わないことがあります。 CGSize size = [textView.text sizeWithFont:textView.font constrainedToSize:CGSizeMake(TITLE_WIDTH, MAX_HEIGHT) lineBreakMode:UILineBreakMod…

アップロード時に An error occurred uploading to the iTunes Store エラーが出た場合の対処方法

iOS

iTunes Connectにバイナリをアップロードする際に、 "An error occurred uploading to the iTunes Store" というエラーが出てしまいアップロードできないことがあります。 ググってみると、 /Developer/Application/Utilities/Application Loader.appを直接…

寄稿を受け付けているアプリ紹介ブログ/サイトリスト

iOS

もう1年近く前にググってまとめただけのものですが・・・ リストの見方 ブログ名 URL 申請タイプ(投稿/寄稿/掲載申請など) 掲載方法(説明ページのURLなど) リスト appbank http://www.appbank.net/ 寄稿 http://www.appbank.net/2009/08/14/iphone-new…

iPhoneバイブの制御

『にゃらんの肉球なにょだ』という目覚まし機能付き肉球アプリ(無料)をつくってたときのメモより。 まずバイブを鳴らす(動作させる)方法は #import した上で、 AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); いろいろ調べたけどこれしかないっ…

UIKit の UIResponderクラスで「こする」「フリック」をどう実装するか

過去のメモからの掘り起こしシリーズ。 「こする」の検知方法 ・肉球方式・・・touchesBeganの時点でタップの処理を行い、touchesMovedではこするの処理を行う。 ・レシーブ方式・・・touchesBeganでタップ開始時間を記録し、touchesEndで変位と経過時間を判…

UIWebViewの中のリンク文字列をタップ&ホールドすると「開く」「コピー」といったアクションシートが出てくるのを無効にする

過去のメモからの掘り起こしシリーズ。 こちらは『Hi! Tweet 〜つぶやいて覚える英会話〜』を開発中のときのメモと思われます。 UIWebViewの中の文字列を押すとOpen、Copyというポップアップ表示が出てくるのを無効にする CSSの中で -webkit-touch-callout:n…

OpenCV 顔認識でビルド時に Null pointer (NULL filename) in cvOpenFileStorage エラーがでる場合の対処法

過去のメモからの掘り起こしシリーズ。 『恋愛偏差値』という、ロンブー田村淳さんと、早稲田大学森川教授とのコラボアプリ開発中のメモより。 OpenCV Error: Null pointer (NULL filename) in cvOpenFileStorage, file ../../src/cxcore/cxpersistence.cpp,…

Animation GIFをフォトライブラリに保存する試行錯誤

過去のメモ書きからの掘り起こしシリーズ。 内容から察するに『とびでるカメラ』というアプリの開発時に、Animation GIFをなんとかiPhoneのフォトライブラリに保存できないか試行錯誤したメモのようです。 iMotionというアプリを使ってみたところ、フォトラ…

UINavigationItemのleftBarButtonItemとbackBarButtonItemの違い

自分の手元にある古いメモ書きを見ると、下記のようにありました。 leftBarButtonとbackBarButtonの違い 形が違う(leftは左側がとがった矢印形、backは四角形) self.navigationItem.leftBarButtonItem = someBarBtn; は現在のビューに反映されるが、self.n…

MGTwitterEngine で大量のlibxml2メモリリークが出る場合の対処法

MGTwitterEngineを使用しているアプリで、leaksでメモリリークがないか調べてみると、libxml2関係で大量(ってほどでもないけど)のリークが検出されてしまってました。 MGTwiterLibXMLParser.mで、xmlReaderForMemoryしたあとの解放の仕方が間違っているよ…

iPhoneアプリの起動アニメーションの実装方法

まずは弊社で出したすれ違い通信アプリ『EncountMe』のプロモーション動画をご覧ください。 あれ、貼付けてみて気づいたけど、動画内でオープニングアニメーション出てこないな・・・ まあとにかく、EncountMeには起動アニメーションがありまして、こういう…

アプリアップデート後の初回起動時にUIAlertViewでお知らせを表示する方法

アップデートしたあとに、「このバージョンの新機能」とかがポップアップで出てくるアレの実装方法です。 (パッと思い出せるのはAppBankさんのアプリとか) 下記をAppDelegateのapplicationDidFinishLaunching:あたりで実行します。 // ロードしたことある…

入門本から得たTipsなど

一番最初に買った入門本を「もうそろそろ必要ないかな」と思い処分する際に、 改めて読むと知らないことが沢山あって色々とツイートしたのが昨年5月。 それを改めて読んでみるとまだ知らない(忘れている)ことが 多々あったので以下に抜粋。 uiwebviewで表…

iAd 、テスト広告しか出ないけどこれで実装あってるの?

iAdは実装自体は簡単(あっちこっちに親切なサンプルコードがある)なんですが、 開発中、ずっと不安がありました。 この画像のように、デバッグモードはもちろん、 アドホックでもテストバナーしか出ないこと。 でもちゃんとドキュメントにこう書いてありま…

UIAlertViewを左寄せにする

UIAlertViewのsubviewsからUILabel型のオブジェクトを探してきて、textAlignmentプロパティを設定します。 UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title message:msg delegate:delegate cancelButtonTitle:@"OK" otherButtonTitles:n…

アニメーションをAS3のTweenerっぽく書けるObjective-Cライブラリ TweenC

フリーで公開されてるライブラリ。 http://www.tweenc.com/ iPhoneにおけるアニメーションをこんな感じでTweener風に書けるようになります。 // animationViewを1秒かけて(20, 400)に移動させる [TweenC animateView:animateView withAnimation:kTweenEaseIn…

演算子の優先順位で勘違いしてたこと

!(not演算子)は、>(比較演算子)よりも優先順位が高い ってご存知でした? 僕はつい最近気づきました。 びびりました、なんせ挙動かわっちゃうので。。 どういうことかというと NSArray型のarrという変数があるとして、 if (![arr count] > 4) { return N…

iPhone用グラフ描画ライブラリ s7graphview の使い方

OpenCVを使って画像処理する際に、パラメータチューニングなどで 画像のヒストグラムをみる必要があって試したライブラリ。 値を渡せばグラフを描画したviewを生成してくれて、 それをaddSubviewするだけ、という大変ありがたいシロモノです。 以下、大まか…

UnitTestでハマった点

UnitTestのやり方、ちょっと検索したらザクザクでてきました。 親切な日本語の記事がたくさん。 その中でこちらの記事が超親切で、更新日もつい最近でとても参考になりました。 http://kozy.heteml.jp/l4l/2011/01/iphonetddsentestingkit.html ただ少しハマ…