2012年のオープンソースカンファレンス北海道(OSC-do)でセミナー発表した際に使用したスライド資料です。
![Realmについて](https://cdn-ak-scissors.b.st-hatena.com/image/square/af132e5c3be61dbe38d0703ae45f4494357ff0ff/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fslidesaboutrealm-141114075538-conversion-gate01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
2014-09-27 に、横浜馬車道のI.S.O 横浜 でyidev 第16回勉強会を開催しました。 yidev 第16回勉強会 : ATND これまでは@cocoponさん が主催を務めていましたが、今回から自分が引き継がせて頂けることになりまして、今回がその第1回目ということになります。 そこで今回は自己紹介として、簡単ながら勉強会の紹介も兼ねて、次のスライドを作ってオープニングで使わせて頂きました。 ちなみに@cocoponさん はyidev の2代目の主催者になります。初代主催者は@takayamaさん で、このお二方によって、今この瞬間までのyidev が大切に築き上げられてきました。 好きな言葉 今回の勉強会を準備するにあたり、これまでのyidev のこれまでを振り返ってみていたのですけど、そんな中でとても心に留まる言葉を見つけました。 講習会じゃないからね :D この言葉は横
Xcode6で変更のあった部分を「Xcode6でiOSアプリに独自フォントを組み込んで表示する」に書きました。(2015/1/13追記) 以前書いた記事「iPhone OS 3.2でサポートされたカスタムフォントを試す」の情報が古くなっているので最新の OS X と Xcode で動作するよう書き直しました。 この記事の内容は OS X 10.8.2 & Xcode 4.6 の環境で動作確認しています。 iOSアプリに独自の外部フォントを組み込んで利用する、カスタムフォントの機能について解説します。この機能は iPhone OS(現iOS) 3.2 以降で利用できるようになりました。 サポートしているフォント形式と無償フォントの紹介 カスタムフォントでサポートしているフォント形式は、 PostScript Type1ベースのOpenType (拡張子 .otf) TrueTypeベースのO
PromiseKitとは http://promisekit.org/ iOSプログラミングで頻繁に出てくる非同期処理を簡単かつエレガントにするライブラリ。 JavaScriptとかでおなじみのPromiseパターンの実装と、各種CocoaフレームワークからPromiseを使うための拡張が含まれている。 Objective-C版とSwift版がある。 使い方 NSURLConnection.GET("http://placekitten.com/250/250").then{ (img:UIImage) in // ... return CLGeocoder.geocode(addressString:"Mount Rushmore") }.then { (placemark:CLPlacemark) in // ... return MKMapSnapshotter(options:op
今年の5月くらいの話なのですが、ユビレジのiPadアプリケーションのプロジェクトで使っているStoryboardを基本的に1画面(≒1 View Controller)の単位に分割するということをしました。 1画面1Storyboardメソッドについてはnakiwoさんが書かれた記事も参考になります。 1画面から始めるStoryboard - Cocoaメモ ↑ 上記の資料はどちらかというとStoryboardを使い始めるにあたって、1画面単位で少しずつ使っていこうという感じですが、ユビレジではもともとほぼ全部の画面がStoryboardになっていました。 ただ複数人で共同作業をするにあたっては、1画面単位を1ファイルにしておくくらいがメンテナンスしやすいんじゃないかなあという結論になったのでしばらくそういうふうに運用することにしました。 また、XIBと違ってStoryboardは単純にコ
iOSアプリケーションでWeb APIから返ってきたJSONを処理するのにNSNullの扱いに困っていて、事前にNSNullを取り除いてしまうのが事故を防ぐための確実な方法なのですが、再帰的にすべての要素を検査する以外になにかいい方法がないかと思って考えていたらちょっとおもしろい方法を思いついたので書いてみました。 kishikawakatsumi/CollectionUtils · GitHub ↑ に含まれるCUCompactArrayとCUCompactDictionaryです。 NSArrayとNSDictionaryのサブクラスとして実装されていて、次のようにして生成します。 (普通にalloc/initを使って生成することも可能です) NSArray *array = @[@"0", @"1", [NSNull null], @"2", [NSNull null], @"3"]
UIPageControlはiPhoneのホーム画面でも使われている、今何ページ目かを示すUIControlのサブクラスです。 最初のiOSからあって、特徴的なUIなのでフリックでページをめくる画面ではこれを使って現在のページを示すのが定番になっています。 特に最近では初回起動時のチュートリアル画面でよく使われます。 ただ、意外と経験のあるひとが書いたものでも、このコンポーネントがタップによって値が変わるコントロールであることを忘れているのをけっこう見ます。 これを忘れると、UIPageControlのドットのところをタップすると、ドットの場所は変わるのに画面は変わらないので、ちょっとマヌケな感じになってしまいます。 UIPageControlはUISliderなどと同様にUIControlのサブクラスなので、基本的にユーザーの操作によって値が変わるコントロールです。 見た目に特徴があるの
iOS向けでもOS X向けでも、Apple系アプリケーションの開発をしている人に役立つサイトを教えてもらったので紹介する! 「Cocoa Controls」はiOSやOS X向けに”使える” “イケてる” UIを検索・ダウンロードすることができるウェブサービス。iPhoneやMacのアプリで見かけることの多い動きや操作性のサンプルコードをダウンロードすることができるのだ! Apple系デベロッパー必須のウェブツール! このサービス自体は初期の頃から話題になり注目されているようだが、最近Appleデベロッパーになった人やこれからアプリ開発をやろうと意気込んでいる人は知らないかもしれないと思い、記事にしてみた。 そもそも僕は開発者ではないのだが、よく見かけるUIをダウンロードしてXcodeで動かすことができるのはなかなか興奮する。まるで自分が開発者になった気分だ!楽しい! トップページから気に
ググると「メモリ上にしか保存されない」という古い情報がよくヒットするのでメモしときます。 ソース 参考:NSURLCache Uses a Disk-cache as of iOS5 NSURLCache というのは、UIWebViewで使用しているキャッシュオブジェクトの事です。 参考(情報がちょいと古い):Cocoaの日々: [iOS] UIWebView のキャッシュ調査 利用するとアプリ容量がどんどん肥大化してく問題が起きたので、iPhoneアプリの中身がどうなっていくか調べている過程で上の記事を見つけました。 ほんとにディスク上に保存される? 実際試してみたところ、確かにUIWebViewを使用する度に、アプリの容量は増えます。 アプリを完全終了しても容量は減らないので、ディスクキャッシュしているのは間違いなさそうです。 具体的にどのファイルにキャッシュが保存されているかというと
はてなさんが はてなインターンで利用したiOSアプリ等のサンプルコードを公開しました - Hatena Developer Blog という素敵なサンプルコードを公開してくれたので、好き勝手に感想を書いてみたいと思う。本来は Web アプリ側も動かしたかったんだけど、ウマく環境が作れなかったのでアプリはコードを読んだだけで動かしてはないです。あと、細かい検証とかしてないので勘違いとかしていると思うので指摘してください。 参考になった真似したい NSError と UIAlertView の使い方 NSError の内容ベースでエラーアラートを出すのは理にかなっていると思った。OS 側が返す NSError は期待する値が入っていない不親切な場合があるので、オリジナルの NSError から一度適切な値を持った NSError を再生成して返すクラスを介したらいいのかもしれない。 すっきりし
x-callback-url とはURLスキームを利用したアプリ間連携の仕組み。他アプリを呼び出すだけでなく、その名(コールバック)の通り呼び出し元で結果を受け取るまでの一連の動作を定めている。 x-callback-url 現在は 1.0 DRAFT...
UIViewControllerのライフサイクルは、もうそこかしこで語り尽されてると思うけど改めて書いてみる。 基本的なライフサイクル コンストラクタ生成から非表示になるまでは、以下のようなメソッドを通ります(ARC前提で書いています)。 init initWithNibName:bundle: loadView viewDidLoad viewWillAppear viewDidAppear viewWillDisappear viewDidDisappear dealloc 各メソッドの呼び出しタイミング 基本的には上記のような感じなんですが、実際使うときにどんなタイミングで上記の各メソッドが呼ばれるかというと、以下のようになっています。 コンストラクタ生成([ViewController new]もしくは[[ViewController alloc] init]) コンストラクタ生成
変更するのは以下の4点です。 ・UITabBarの背景画像 ・Selection Indicator Image ・アイコン ・タブのタイトルテキストの位置とカラー ● UITabBarの背景画像を変更する UITabBarの背景画像は、320px × 49pxの画像(UIImage)をUIAppearanceを使用して下記のように設定します。※Retina用には倍の解像度の画像が必要です。 ● SelectionIndicatorImageを変更する Selection Indicator Imageは、タブが選択されている時の、背景画像とアイコンとの間に描画される「選択中」であることを示す画像です。Selection Indicator Imageの画像サイズは、( 320px / タブの個数 ) × 49pxで、こちらもUIAppearanceを使用して、下記のように設定します。 ※
URLやFileに接続してXMLを取得〜解析するためのライブラリィ、いわゆる「XMLパーサー」だが、iOSで使用することができる実装はどのようなものがあるのだろう。 NSXMLParser NSXMLParser Class Reference Cocoa/Foundationの標準XMLパーサ。※ SAX形式であり、恐らくは一番よく使われているパーサだろう。 SAXでありタグ駆動ということでコードが大きくなりがちだが、SAXは馴染みが深い開発者が多く使いやすいことが予想できる。 libxml2 The XML C parser and toolkit of Gnome libxml2は元々はGNOMEのためにCで書かれた標準的なXMLパーサだったが、Cの標準的なパーサとして様々なプラットホーム言語に移植されており、Max OS X用にポーティングされた実装がiOS SDKから直接使用する
iOS で使える XML パーサーは色々あります。 iOS 標準で使えるものは以下の2点 Cocoa Touch フレームワークで提供されている NSXMLParser C言語のライブラリである libxml2 を直接利用 外部のライブラリでは主に以下のようなものがあります。 GDataXML KissXML TBXML XML パーサーの中でも SAX と呼ばれる少し扱いにくいが比較的高速で省メモリなもの。DOM と呼ばれる扱いやすいがメモリを多く消費しやすいものがあります。 今回は Cocoa Touch フレームワークで提供されている NSXMLParser の使い方を紹介します。 NSXMLParser は SAX タイプのパーサーで C言語のライブラリである libxml2 をラップしたクラスになります。XML パースのおおまかな流れは、インスタンスを初期化 → デリゲートを設定
x-callback-url とはURLスキームを利用したアプリ間連携の仕組み。他アプリを呼び出すだけでなく、その名(コールバック)の通り呼び出し元で結果を受け取るまでの一連の動作を定めている。 x-callback-url 現在は 1.0 DRAFT...
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く