なるようになるかも

力は多くの場合、その人の思いを超えない。

今年入ってから読んだ本とか。

NFC Hacks NFC Hacks ―プロが教えるテクニック & ツール作者: 株式会社ブリリアントサービス出版社/メーカー: オライリージャパン発売日: 2013/11/30メディア: 単行本(ソフトカバー)この商品を含むブログ (5件) を見る 2015年になって、ようやくNFCについ…

AndroidもiOSもC#で書けるようになればいいのに。

Xamarinはなんか生理的に受け付けないのでなしで。 Hatena Engineer Seminar #4で「はてなのiOSアプリとSwift」という発表をしました #hatenatech - yashigani?.days しかし,実際に実装するにあたっても可読性のために同じようなところに改行を入れるとおも…

強制バージョンアップの話。

[iOS]アプリに強制アップデート機能を導入すべき理由と、簡単に実装する方法 - Qiita という記事を見かけたので。 このライブラリの実装の問題点 key description type 基本的には強制バージョンアップを行うことを前提に解説していますが、SRGVersionUpdate…

今更AndroidのToolbarについて理解できたような気がするのでメモ。

気のせいかもしれません。 Toolbar Toolbar は Action Bar を一般化させたもので、同様の機能を備えつつ、より高い柔軟性を提供します。通常の Action Bar と異なる点は、Toolbar は階層内のビューの 1 つであるということです。そのため、Toolbar のインス…

どうでもいいカレンダーの話。

iOSをやってるとあるあるなのが、ユーザーがOSの端末設定を「和暦」に設定してるせいで、取得されるカレンダーが日本のものになってしまい、NSDateFormatterが期待通りに動作しないというもの。 海外のアプリは和暦を考慮してないので上手くいけばクラッシュ…

マテリアルなナビゲーションドロワー。

Android - googleアプリから見るナビゲーションドロワーのマテリアルデザイン - Qiita 今のGoogle製のアプリはおおよそこういう見た目になっています。 記事の端末は若干古く、記事のコメントにあるSSのようにステータスバー領域までナビゲーションドロワー…

Androidのサポートパッケージについて

v17 Leanback Libraryの存在はとりあえず無視しておくとして、Androidのサポートパッケージは何種類かあります。 たぶんv13パッケージはなぜ存在するのか知らない人が多いと思いますので備忘録も兼ねて。 v4 Support Library まず、サポートパッケージのv4と…

SyncResultメモ。

どうせ自分しか使わないアプリなら、Lollipop限定のJobSchedulerでいいんじゃないかなという気がしてきました。 SyncResultの概要 SyncResult | Android Developersより、必要そうな部分を抜粋。完全な情報はリンク先参照 このクラスはSyncManagerへ同期操作…

SyncAdapterのメモ。

年末暇なAndroid開発者は是非SyncAdapterを実装しましょう。 バックグラウンドフェッチはこれでやるべきです。 startForeground()とかStickyBroadcastを悪用した死ににくいサービスとかで延々通信させる闇アプリは滅びてください。ていうか他人が実装した通…

コンテナViewControllerについて

A-Liaison BLOG: Container View Controllerを作ってみよう この記事の間違いが多すぎてやばいので。 iOS 5からはこのContainer View Controllerを自作する事が可能になりましたが、実装が面倒なのと大体の場合においてUIKitが用意しているContainer View Co…

AndroidのHttpURLConnection。

これはAndroidじゃなくてJDKのインターフェースの設計の問題なのですが、HttpURLConnectionは入出力エラーが発生した際にIOExceptionを投げるという規定があります。 問題は、HTTPステータスコードが400番台ないし500番台のコードのボディを読もうとした際に…

Androidの通信処理に何使えばいいのか分からないって話。

特に結論はないです。本当に分からないので。 ソケットレベルまで踏み込むと、途端に面倒になってどのライブラリを使っても手に負えませんし、単にGETとかPOSTとかする分には正直どれ使ってもそこまで変わらない気がしてます。 それより自己署名証明書の検証…

AndroidでSNS連携する方法

すごく今更な話題なんですけど、iOS8で「AndroidのIntentみたいに簡単に共有できるようになる!」っていう話をよく聞いたので。 OS標準で共有機能のあるiOSアプリをAndroidに移植を行う場合に、「TwitterとFacebookに投稿するボタン作って。IntentのあるAndr…

UIKit徹底解説読んでる。

StoryBoardに乗り遅れてる感があるので手にとってみたのですけど、いい本です。まだ完全に読み込めてないのでざっくりとした感想ですけども。 UIKit徹底解説 iOSユーザーインターフェイスの開発作者: 西方夏子,丸山弘詩出版社/メーカー: インプレスジャパン…

iOS6/7のviewDidLoadが呼ばれるタイミングの違い

「viewDidLoadが呼ばれるタイミングは、UIViewControllerのviewプロパティが初めてアクセスされたタイミングである」と公式ドキュメントに書いてあります。 しかし、 いつ・誰がviewプロパティにアクセスするのか についてはフレームワーク内部なのでブラッ…

iTunes Connectの変更の話。

TechCrunchの記事(というかその翻訳)が酷かったので。 原文タイトルは「Apple Developers Must Now Agree To Ad Identifier Rules Or Risk App Store Rejection」。 「Appleのデベロッパーは今後広告識別子の規則に同意しなければ、AppStoreからリジェクト…

FragmentとActivityの連携方法

最初に、エアコードなので動作するかは分かりません。ちゃんと動くコードをまとめて公開するようにした方がいい気がするけど時間があるときに。 Activity→Activity→Activity 超基本。呼び出し元はstartActivityForResult()を使う。 Intent intent = new Inte…

実行ループとdispatch_sourceの話。

いまやiOSのネットワーク処理といえばAFNetworkingな感じです。 しかし古いストリーミングAPIを使った経験があれば、ブロックベースのAPIでどうやってネットワーク通信を行っているのか疑問に思うはずです。なぜかというと、 GCDは実行ループを持てない から…

GoogleCloudMessaging.unregister()は呼び出す必要はない。

【前提記事】AndroidのPush通知の話。 - なるようになるといいね GCMRegistrarのisRegistered()に相当するメソッドがなくなっているところから勘の良い人は気付くかと思いますが、 GoogleCloudMessaging | Android Developers より一部抜粋 public void unre…

AndroidのPush通知の話。

AndroidのPush通知はGoogle Play Serviceに統合されました。 いままではSDKマネージャーからGoogle Cloud Messaging for Androidをダウンロードして、gcm.jarをプロジェクトにインポートすることができたのですが、ついにSDKマネージャーからGoogle Cloud Me…

Objective-Cの列挙の話。

Objective-C - NSArrayでfor(; ;)とかfor-inを使うのをやめて、enumerateObjectsUsingBlock:を使う - Qiita とか Objective-Cのいろいろな反復処理 - koogawa blog とかで列挙の話を見たので。 最も高速な列挙の方法 最初に結論を書いておくと、Objective-C…

iOSでの端末固有識別子の話。

iPhone - UDID確認アプリが全くアテにならない件 - Qiita というのを見かけて、なんとなくまとめてみたくなりました。 Appleは端末を固有識別しようとする試みを挫こうとします。ただそれは 横断的に固有識別を行おうとしている ケースだけであって、UUID(Un…

Google Drive Android API (2014/02) のメモ書き

GoogleApiClientをどう扱えばいいのか微妙に悩みどころ。 ドキュメントには書いていないAPIリミットがあるケースもありえるので、頻繁に接続/切断してしまっても構わないのか、それともある程度大きなスコープで保持しておくべきなのか。 指針となるのが、 Y…

クラス拡張とカテゴリの違いの話。

常々「クラス拡張をカテゴリってゆーな」って思ってるんだけど、「無名カテゴリ」自体は公式の呼称なんだよね。 [Objective-C] クラス拡張と無名カテゴリ - Qiita Objective-Cのクラス・カテゴリ・クラス拡張の整理 - $ cat /var/log/shin クラス拡張は、無…

estimatedHeightについて計測してみた。

iOS - 見積もりの高さでUITableViewを高速化する話。 - Qiita iOS6検証用だったiPhone4Sを、速度テスト用に初期化してiOS7に上げたのはいいんだけど、Apple Developerのダウンタイムだったみたいで、結局テスト機はiPhone5Sを使うことに。 そのためテストデ…

iOS7の「コントラストを上げる」設定は、アプリから取得できない

iOS7.0.4時点の情報。 Objective-C - iOS7の曇りガラス効果について知っている事まとめ - Qiita を読んでいて、 おそらく一般的な希望としてはデフォルトの動作と同じように、「コントラストを上げる」がオン(もしくは曇りガラス非対応機種)の状態ではバー…

UIAppearanceとUIBarPositionとバグと

iOS7/6対応を考えたとき、もっとも面倒なのはナビゲーションバーの画像を用意することのように思う。 まずPortraitとして、44px、88px(@2x)、128px(iOS7)、同様にLandscapeとして32px、64px、104pxの合計6種類の画像が必要になる。 非retinaであるiPhone…

Viewのリソースの話。

メモリ管理・レイアウトの観点からみた UIViewController の view の扱い - jarinosuke blog うーん、ARCについての理解が不十分で、見当外れなコメントを書いてしまいました。 個人的には、そのプロパティがカスタム実装である場合、コードの読み手に意図が…

iOS7以降、自動設定される暗黙のcontentInsetsについて

qiitaに書きました。 UIViewControllerのautomaticallyAdjustsScrollViewInsetsプロパティが意味するものが分かる人は読まなくてもいい内容です。 iOS - UINavigationControllerと領域拡張に潜む罠 - Qiita [キータ] 端的に言えば、UINavigationControllerを…

iOS7における20pt問題とかTabBarControllerのView領域とか。

さすがにiOS7が出て半年も経ったのにこんな問題で悩んでる人もいないよーな気もしますが。 20ptズレるのをどうするべきか 改めて書きますが、 最良の方法はAutoLayoutを使うこと です。 というか今からレイアウト組んで、iOS5を切り捨てられるなら、それ一択…