まいまいワークス

主にiPhoneアプリの開発で考えた事、調べた事、感じた事などを記していきます。

Twitter/Facebookのアカウントで認証して、アプリからタイムライン/フィードに投稿する[#1]

アプリの機能としてはポピュラーなもので、需要はあるはずなのになぜか日本語の解説記事やブログネタとしては、ほとんど目につかないこの課題。 実装する機会があったのでいろいろ調べて、なんとかログインから投稿までたどり着けたので手順をここに記してい…

NSDateの罠

自社サービスでも複数のサービスで数回NSDateの罠にはまっているので、あらためて要点をまとめたいと思います。 NSDateが登場する場面 ・端末から現在の時刻を取得 ・UIDatePickerから任意の時刻を取得 ・サーバーからyyyy-MM-dd HH:mm:ssなどの形式で取得 …

メンテナンスを考慮した設計

iOS アプリのメンテナンス性を高めるための基本的な考え方 from kakegawa-atsushi 設計時は画面単位ではなく、機能単位で考えればいい設計が出来るかな。 そのためには開発着手以降は仕様を変えないでほしいですね。 って言っても、そんな事は現実的ではない…

Xcodeを使い倒して効率化

タイトル若干釣り気味ですw objective-Cの構文って長いものが多かったり、普段よく使うものでもプロパティの種類がたくさんあったりで、完全に覚えているものはほとんどありません。 で、これまでどうやってきたかと言うと、過去のソースからコピペしたり、e…

UITableView・UICollectionView攻略

iOSアプリの要となるtableviewとcollectionviewですが、設計の要点をおさえておかないとちょっとした事でスクロール時のパフォーマンスが落ちてしまい、アプリそのものの完成度の印象も格段に落ちてしまいます。 特にcollectionviewは1行に複数のアイテムが…

UICollectionViewCellをプログラム側から選択状態にする

[self.collectionview reloadData]; 上記の命令でUICollectionViewをリロードした場合、 すでに選択されていたセルの選択状態が解除されてしまいます。 そこで、あらかじめ選択・未選択の属性を配列などに保存しておき、 -(UICollectionViewCell*)collection…

アプリ企画の打ち合わせをしていて、ふと感じた事

情報設計やUIの仕様決めをする際、 いろいろな人からいろいろな意見が出てきて話がまとまらない事がよくあるのですが (なので、あまり大人数ではやりたくない) 自分の意見を推すために、他社の既存アプリを引き合いに出して正当性を主張する人がいます。 引…

ペーパープロトタイピング用のステンシルを入手しました

UI Stencilsで購入しました。 ステンレス製のステンシルシートと専用の用紙。 用紙の方は、ポストイット的な裏面にのりが付いてるタイプと ノート型の3連タイプを入手しました 実寸の140%のサイズなので、ほかのペーパープロトタイピング用紙には使えないと…

アプリ実行中にステータスバーのサイズが変更された際の対処

通話中やテザリング中などはステータスバーのサイズが変更されるので ビューの表示の際には [[UIScreen mainScreen] applicationFrame].size.height を使ってアプリケーションエリアのサイズを取得し、これを基準にビューの表示を行いましょう!と言うおはな…

iPhoneとiPadの判別

端末の判別に[[UIDevice currentDevice].modelを使用する事がありますが、このやり方だとiPhone, iPad, iPodTouch, iPhone Simulator, iPad Simulatorの値が返ってくるため、単純にユニバーサルアプリ等でiPhone, ipadの判別をしたい場合は処理が煩雑になっ…

モーダルビューの背後のナビゲーションコントローラー, タブバーコントローラーを操作する

モーダルビューを閉じる際に背後のナビゲーションコントローラーやタブバーコントローラーを操作する場合、 親ビューに通知を飛ばして画面遷移、タブ切換えの操作をしてもいいのですが、記述が分散したり、モーダルが複数のビューから呼ばれる可能性がある場…

google Analytics3の基本的な設定方法

iPhoneアプリ申請直前にgoogle Analyticsを確認してみたら、早くもver.3が出ていたので設置してみました。 SDKのダウンロードはこちら基本的にはここの情報に従って設定を行います。 下準備 コピーするファイルは以下の通り GAI.h GAITracker.h GAITrackedVi…

Xcode5 iOSシミュレーターのフォントの件

薄々気づいていたのですが、特に実害もなかったのでスルーしていました。iOSシミュレーターのフォントが何か違う。微妙にダサい。 しかしながら、シミュレーターでスクショを撮る必要性に迫られようやく重い腰を持ち上げて調査する事になりました。 こちらは…

iOS7のステータスバーの電池アイコンの色

iOS7になってステータスバー周りの仕様が一部変更され、バッテリー表示も緑色のアイコンになりました。 ところが、ふとした瞬間にバッテリーのアイコンを見ると、アプリによっては白黒表示されている モノもある事に気付きました。 ステータスバーの色によっ…

konashiが届きました(開封編)

konashi取扱説明書から抜粋 konashi(YE-WPC001)はスマートフォンやタブレットの新しいインタフェースを考えるアーティスト、デザイナ、エンジニアのためのフィジカル・コンピューティング・ツールキットです。 というわけで、BluetoothLEを使って通信しアナ…

FMDBで軽くハマったのでメモ

データベース系で不具合が起こり、とりあえずFMDBを最新版に入れ替えてみたのですが、その事がさらなる事態を引き起こしてビルドエラーになってしまいました。 FMDBをダウンロードしてsrcフォルダを丸ごとプロジェクトにコピーしてしまったのですが、よく考…

Xcode4.xで作成したプロジェクトファイルでAsset Catalogを使う

Xcode5からはプロジェクトを作成すると自動でAsset Catalogが作成されますが、Xcode4.xで作成したプロジェクトをXcode5で開いてもAsset Catalogはありません。やり方は簡単なのですが、いろいろ遠回りをしてしまったので、やり方を記しておきます。 TARGETS→…

はてなブログでSyntaxHighlighterを使ってobjective-Cを表示する

はてなブログには元々syntaxHighlight機能があるようですが、SyntaxHighlighterを使いたい!という事でいろいろ調べてみました。 必要なもの ・SyntaxHighlighter - Download とりあえずこれがなくちゃ始まりません。 ・objective-C用brushファイル ここから…