iOS エンジニアと、iOS エンジニアと一緒に働く人 (エンジニア以外の人も) に。願わくは、同胞たちが大変な思いをしないように…。
さきほどWWDCにて新言語 Swiftが発表されました。 The Swift Programming Language (iBooks Store) で言語ガイドが公開されていたのでザッと目を通してみました。 Objecitve-Cと比較してSwiftがイケてそうなところをパッと気になったところだけ書いていってみます。 変数/定数の型推論がある Objective-Cのように明示的に型を書かなくても型を推論してくれます。 推論で問題ないケースも多いと思うのでタイプ数がかなり減らせそうですね。 ( 変数を宣言する際はvar、定数を宣言する際はletで宣言します。 ) // 型推論 var name = "Shinji Ikari" // 変数の型は推論によりString型になる var age = 14 // 変数の型は推論によりInteger型になる let height = 141.5
Core Bluetooth はそれほど規模の大きいフレームワークではないので、最初は全容を把握するためにライブラリに頼らずそのまま使ってみるのがおすすめなのですが、ペリフェラルのスキャンやコネクト時のタイムアウト処理等、結局毎回書く必要があって面倒だなーと思う部分もあります。 そのあたりいい感じに書かれているOSSがないかなとGitHub検索してみたところ、次の2つが良さそうでした。 https://github.com/kickingvegas/YmsCoreBluetooth https://github.com/SocialObjects-Software/LGBluetooth どちらも block-based を売りにしています。 ヘッダだけ見ると YmsCoreBluetooth の方がペリフェラルの保存まで考慮されていて高機能そうな気もしたのですが、どっちも試すのは面倒なの
リポジトリだけつくって、ずっと放置してた 「iOS のカスタム画面遷移ギャラリーアプリ」 にやっと手をつけて、64種類 を試せるようにして公開しました。 https://github.com/shu223/AnimatedTransitionGallery なぜつくったのか iOS 7 から UIViewControllerAnimatedTransitioning および UIViewControllerTransitioningDelegate プロトコルが追加され、カスタム画面遷移(トランジションエフェクト)が格段に実装しやすくなりましたが、結局のところ実際のアニメーション部分は自分で実装する必要があります。 で、カスタム画面遷移は UIViewController の実装とは切り離せるようにAPIが設計されていて、使い回しやすい ので、こうして一カ所にまとまっていてすぐに試せて見比
このウェブサイトは販売用です! hew.io は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、hew.ioが全てとなります。あなたがお探しの内容が見つかることを願っています!
Appleが提供しているプログラミングガイドは全部読んだほうがいいなーと思っています。 目下、興味のあるところから順次読み込み中。 今回は[PDF] Core Animationプログラミングガイドを読んだので、覚えておいたほうがいいところとかをピックアップし、自分なりの考察なんかを加えて書いています。 UIView/CALayerの基本構造 画面になにかを表示しようとした時、使うのはUIViewかそのサブクラスを使うのが通常です。 addSubview:メソッドなど使って階層構造を成して構築していきますね。 普通はUIViewを使えば問題ありませんが、描画のパフォーマンスやちょっとした細かい演出などをしたい場合はCALayerを利用します。 やはりどういう構造になって画面に表示されているか、を知るのは大事なことですね。 UIViewは通常、レンダリング周りを担当するCALayerクラスを
はじめに 前回の記事ではToDo リストアプリを作りました。その中でいくつか新キャラが登場していましたが、今回は PFObject について掘り下げようと思います。 PFObjectとは? Parse.comのドキュメントによると PFObject は以下の特徴を持っているとのこと。 JSON互換(キーと値のペア) スキーマレス(事前にキーとか定義しなくてもいいよ) あんたが勝手に作ったPFObjectをバックエンドに保存するよ キーは英数字の文字列で指定してね 値はJSONエンコードできるものなら何でもいいよ 文字列 数値 ブール値 配列 辞書 データを区別するためにクラス名を持つよ クラス名はアッパーキャメルケース(例:GameScoreとか)、キー名はローワーキャメルケース(playerName)がいいよ ドキュメントに従い、以下のようなJSONオブジェクトを例に考えてみます。 {
今更なんだよ?って気がしますが、うちのブログにAFNetworkingについての記事が無いので軽く書いてみます。 2.x系になって変わったこと まず、一番の変更点はAFHTTPClientがいなくなったことでしょうか。変わりにAFHTTPOperationManagerやAFHTTPSessionManagerなるものや、AFXxxRequestSerializer、AFXxxResponseSerializerなどが追加になりました。また、動作可能なiOSのバージョンは6.0以降になってました。 なんだこれ?ってわけで早速触ってみます。 AFXxxManager AFHTTPOperationManagerとAFHTTPSessionManagerがありますが、どうやらiOS 6.xに対応するのであればAFHTTPOperationManagerを、iOS 7.x以降であればAFHTTP
ViewControllerによって自動で生成された戻るボタンをユーザーに押された時の処理を検知したいときに調べたメモ。みなさんもユーザーのログ関係でそういうことをしないといけない要件があったりするのではないかなと。 StackOverflowみるといくつか方法があった http://stackoverflow.com/questions/5217992/back-button-callback-in-navigationcontroller-in-ios 3つ紹介しておく。 viewWillDisappear:時に判定 viewWillDisappear:時に自分自身がnavigationControllerのコンテナに追加されているかを判定することによって検出できる - (void)viewWillDisappear:(BOOL)animated { if (![self.naviga
View Controller Programming Guide for iOS.md iOS View Controllerプログラミングガイド View Controllerの使い方 Storyboard上でのView Controllerの使い方 storyboard上で、initial view controllerから他のview controllerに対してrelationshipを確立します。同様に、それらのview controllerから他のview controllerにrelationshipを確立します。最終的に、storyboard上のほとんど、あるいは全てのview controllerを一つのグラフに接続します。接続されたview controllerが、iOSによっていつインスタンス化されるかは、relationshipのタイプによって決まります。 rel
iOS Advent Calender 2013 iOS second stage一日目担当の@keroxpです。普段は大学の研究室でインターフェースの研究をしていたり、仕事先の会社でiOSアプリの開発を行っていたりします。 さて、今回私が取り上げるテーマは「Xcodeと自動化」です。予告のタイトルでは「XcodeとContinuous Integration」だったのですが、CIを含めた自動化という題材でお送りしたいと思います。 自動化の意義 iOSに限らず、ソフトウェア開発の日常には様々なイライラが存在します。一つ一つは小さく、手間も少ないように思える事柄でも、手動でやらなくてはいけないことがひとつふたつ...と増えていったり、開発期間が長引くにつれて毎日毎日一定時間同じ作業を手動で行わなくてはならなくなります。 Don't Repeat Yourself!! そこでこの記事ではXco
Auto Layout Guide.md Auto Layout Guide Auto Layout Concepts Constraintの基本 例えば、buttonの左辺をcontainer viewから20ポイント離す場合 button.left = container.left + 20 と表すことができる。 一般的には、y = m*x + b で表すことができる。ここで y と x はviewの属性 m と b は浮動小数点数 ここで属性は、left、right、top、bottom、leading、trailing、width、height、centerX、centerY、baselineのいずれか。 leadingとtrailingは、英語のように左から右へ書く言語の場合はそれぞれleftとrightと同じだが、ヘブライ語やアラビア語のように右から左へ書く言語の場合は、lea
クックパッド主催の第4回potatotipsでiOSのtipsとして日付のフォーマットをするときのパフォーマンスの話をしました。 きっかけ きっかけは何気なくgistを眺めていたときに見つけたこれです。 ↓ Compare the date parsing performance of NSDateFormatter against SQLite's date parser for parsing an iOS 8601 date. NSDateFormatter took 108.163 seconds strptime_l took 21.656 seconds sqlite3 took 7.096 seconds そうそう、NSDateFomatterはけっこう遅いからフォーマットが固定だったりロケール関係ないときはstrptime_l使うよね、アップルのドキュメントにも載ってるし…
タイトルがすべてなのですが、Apple公式の膨大な量のドキュメントが、iOSプログラミングを勉強するのにとても参考になります。 今は公式の日本語訳ドキュメントが結構な量になっているので便利です。 日本語ドキュメント – Apple Developer やはり書いてある内容に間違いはないですし、サンプルコードも添えて説明をしているので、とてもわかりやすいです。 PDFなので保存して、お気に入りのPDFビューワーで読めば良いのではないかと思います。 ピックアップすると iOSアプリケーション プログラミングガイド iOSプログラミングの基本用語などの説明 Objective-Cプログラミングの概念 Objective-C言語の説明 iCloud設計ガイド iCloudを利用する際の考え方、サンプル。iCloudはiOS固有の機能なので、しっかり理解しておきましょう。 などなど。 数年前に比べて
iOS Advent Calendar 2013 14日目担当の @ikesyo です。 Function Reactive Programming Framework - Reactive Cocoa | Cocoaの日々情報局 iOS - ReactiveCocoaについて - Qiita [キータ] ReactiveCocoaのまとめ資料 - Qiita [キータ] Objective-C - ReactiveCocoaに出てくる用語の整理 - Qiita [キータ] [iOS]ReactiveCocoaFramework入門 | アドカレ2013 : SP #11 といった感じで今年1年で大分有名になってきた感がある ReactiveCocoa というリアクティブプログラミングライブラリーがあります。 このエントリーではその中でもObjective-CのランタイムAPIの利用箇所に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く