サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
natsuapps.com
AppleによりSwiftが発表されてからもう半年以上が経ちました。Swiftの導入度合いはいかがでしょうか。私はというと、Objective-Cが身に染みこんでいる今の状況では、なかなか頭の切り替えができずに苦労しています。理解が進むと、「ああ、もうObjective-Cには戻れないかも」と思うのですが、はたまた少し複雑なことをしようとすると「Objective-Cならすぐに書けるのに・・」と気持ちも揺れています。 そんな、移行期間にある開発者を確実に手助けしてくれるであろう一冊が発売されています。献本いただきましたお礼を兼ねて書評を書きました。 開発のプロが教える Swift標準ガイドブック posted with ヨメレバ 渡辺 龍司,富家 将己,鈴木 晃,加藤 寛人 マイナビ 2014-12-25 Amazon 楽天ブックス 紀伊國屋書店 丸善&ジュンク堂 Swift習得への最初の
iOS 8とXcode 6より導入されているSize Classは、使えば使うほどその便利さに気がつきます。この便利なSize Classを理解すべく、IBとアセットカタログのみを利用したサンプルを用意してみました。 Size Classとは 何ができるのか Size Classを使えば、画面のサイズ(デバイスの種類や向き)に応じた画面レイアウトを実現できるだけでなく、フォントサイズや画像も画面サイズごとに設定できます。さらには、特定のサイズのときだけ表示されるビューも、IB(Interface Builder)上で簡単に実装できてしまいます。 iOS 8では、「Size Class」に関連するクラスやプロトコルもいくつか追加されており、回転時の処理などにも変更が出ています。もちろん、これらの内容を理解することも重要です。しかし何よりも、「Size Class」という概念そのものを正しくと
Xcode 6になって、色々とかゆいところに手が届くようになった気がしています。そのひとつとして、実機のスクリーンショット保存機能が上げられるのではないでしょうか。これ、地味ですがとても便利な機能です。 アプリ開発をしていると、様々な場面でスクリーンショットを撮る必要が出てきます。App Store用のスクリーンショットはもちろん、サポートサイトなどにも必要になるでしょう。 これまで実機でスクリーンショットを撮るためには、「ホームボタン」+「電源」で画像を保存しその画像をMac(またはPC)側に読み込む必要がありました。この一手間がとても面倒だったのと、iPhoneの中に大量なスクリーンショットが残るのが嫌だったのですが、これからはそんな心配は無用です。 Xcode 6では、これまでオーガナイザにひとまとめにされていたデバイスの管理画面が分離されました。 Xcodeのメニューから「Wind
お知らせ:開発ブログが新しくなりました。詳しくはこちらをご参照ください。 Flipboardが提供している機能満載な開発ツールFLEXを試してみました。 https://github.com/Flipboard/FLEX 何ができるの? 至れり尽くせり何から何までできます、というのが正しい表現でしょうか。かなり高度なツールです。GitHubのページに書かれている内容をそのまま訳すと以下のようになります。 ビュー(ビュー階層)の確認と修正 プロパティとインスタンス変数の参照 プロパティとインスタンス変数の動的変更 インスタンスメソッド、クラスメソッドの動的呼び出し ライブオブジェクトへのアクセス(ヒープをスキャン) サンドボックス内のファイルを参照 アプリ内の全クラスとフレームワークの閲覧 メインアプリケーションオブジェクト([UIApplication sharedApplication]
WWDCも終わり、世間はiOS 8やSwiftに向かって盛り上がっていますね。どんどん進化するiOS、そしてiOS SDKにXcode(さらにはプログラミング言語まで!)。このスピードについていけていますか? 最新情報を追い続けるためには、基本を抑えておく必要があります。土台をがっちりさせておかないと、その上にいくら新しい知識を上乗せしても、いずれ崩れてしまいます。 そんな思いを心に秘めて、1冊の本を書きました。タイトルのとおりUIKit一色の本です。発売は6月13日を予定していますが(予約できます!)、一足先に内容をご紹介します。 UIKit徹底解説 iOSユーザーインターフェイスの開発 posted with ヨメレバ 西方 夏子 インプレスジャパン 2014-06-13 Amazon 楽天ブックス 目次 Chapter 01 UIKit概要 Chapter 02 ビュー Chapte
先日たまたまこんなツイートを見かけました。 『ヨーロッパの多くの国では(.)と(,)の扱いが逆であるため、「1,234.567」を「1.234,567」と書きます。』知らなかった。。。 > RT — masahiro k. (+Beans) (@Jacminik) 2013, 12月 19 去年まで暮らしていたドイツでは後者(日本とはカンマとコンマが逆)の表記が用いられていました。実はカンマとコンマの他にも、3桁区切りの文字がスペースだったり、国や地域によって様々な表現方法があります。金額表示も、通貨単位が数字の前に来るケースと後ろに来るケースがあったりします。 アプリ開発で数字を扱うとき、このようなことを意識したことはありますか?家計簿アプリや電卓アプリなどでは、是非とも意識したいところですね。 この地域ごとのサポートですが、わざわざ一つずつ設定していくのは大変です。しかし、iOSにはN
もうすぐ今年も終わり、また新しい年がやってきますね。その前に新しい本の発売です。 上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編 posted with ヨメレバ 加藤 寛人,西方 夏子,藤川 宏之,鈴木 晃,高丘 知央 インプレスジャパン 2013-12-20 Amazon 楽天ブックス 中上級者をターゲットに絞った、iOS 7関連の開発テクニック本です。これまでにも何度か触れてきましたが、今回もまた一部執筆させていただきました。目次と私が担当した章は以下のようになっています Chapter 01 iOS 7の新機能 Chapter 02 画面遷移(担当) Chapter 03 UIKit Dynamics(担当) Chapter 04 Text Kit(一部担当) Chapter 05 マルチタスキング・通信 Chapter 06 Sprite Kit C
iOS 7から、画面遷移のアニメーションをカスタマイズできるようになりました。実装はシンプルで本当に簡単です。しかし、やたらと長い(しかもイマイチ統一感のない)プロトコルをたくさん使わなくてはならないため、何となく二の足を踏んでいる方も多いのではないでしょうか。 今回は、画面遷移のカスタマイズの基本中の基本を紹介します。 関連プロトコル 画面遷移の実装には多くのプロトコルを使用します。その中で、最低限必要となるのは以下の3つです。 UIViewControllerAnimatedTransitioning(アニメーションコントローラ) UIViewControllerContextTransitioning(画面遷移コンテキスト) UIViewControllerTransitioningDelegate (画面遷移デリゲート※) (※)モーダルビュー表示の場合。ナビゲーションコントローラ
iOS 7が正式に公開されてから、あっという間に数ヶ月が経ちました。すでにiOS 7ライクなUIの方が見ていて落ち着くようになり、iOS 6までのUIは古くさく感じてしまう今日この頃です。アプリのアップデートが追いついていないので焦りつつも、ここ数ヶ月はせっせと執筆作業に励んでおりました(本記事の最後で紹介します)。私と同じく、これから慌ててiOS 7対応をしようとしている方のためにも、ここでiOS 7関連の記事を少しずつ書いていこうと思います。 今回は、地味な機能だけど知っていると便利な属性付き文字列(NSAttributedString)についてです。 属性付き文字(NSAttributedString)とは その名の通り、属性を用いて文字を装飾します。属性は辞書により設定し、生成した文字列はUILabelやUITextField, UITextViewなどで利用可能です。フォントや文
デバッグ時にビューについての情報(重なりや位置、色など)を解析したくなることがよくあると思います。ビューの階層構造を知るための方法はいくつかありますが、先日見つけたSpark Inspectorがものすごく便利そうなのでご紹介します。 Spark Inspector – Runtime Debugger for iOS Apps Spark InspectorはBonjourとMethod Swizzlingを利用したランタイムデバッガーです。プロジェクトにフレームワークを追加し、起動のためのコードを記述するだけで簡単に利用できます(実際には、これらの作業もアシスタントが自動で行ってくれるので、ほぼボタン一つで利用可能になります)。 できることは大きく分けて二つ。 ビューの状態を2Dまたは3Dで表示する。ビューやレイヤーをリアルタイムで編集する。 通知センター(NSNotification
アプリ開発時に最も苦労するのは何でしょう。多くの人がバグ取りとテストに時間を取られているのではないでしょうか。本来であれば、多くの時間はバグ取りではなく設計に費やしたいところです。 そこで役立つのがコンパイル時の警告。たかが警告、されど警告。あなどれません。ここには非常に多くのヒントが隠されています。私自身、常に警告はゼロにしていますが、コンパイルオプションを変えるとまだまだほかの警告が出てきます。 この警告レベルについて、非常に分かりやすくまとめられている記事がありました。 Compiler Warnings for Objective-C Developers – Ole Begemann 以下、概要のみまとめます。 3つの警告レベルオプション Xcodeのプロジェクトにてデフォルトで有効になっている警告はごく一部です。これは、プロジェクトのBuild Settingsにある”Appl
HOME » Natsu note » 古い投稿 » Core Data 勉強日記 (9):More iPhone 3 Development / chapter 6 (カスタムモデルの生成) Core Data 勉強日記 (9):More iPhone 3 Development / chapter 6 (カスタムモデルの生成) 2010/02/23/|古い投稿|Core Data More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning) Chapter 6 のまとめ。 より詳細なデータモデルを生成していく。基礎はChapter 3で説明されているが、ここではカスタムモデルの生成を行う。 このあたりの内容は、iPhoneCoreDataRecipesというサンプルコードを見るとかなり勉強になりそう。 Attributeの設定
HOME » Natsu note » 古い投稿 » Core Data 勉強日記 (10):More iPhone 3 Development / chapter 6 (Validation) Core Data 勉強日記 (10):More iPhone 3 Development / chapter 6 (Validation) 2010/02/23/|古い投稿|Core Data More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning) Chapter 6 のまとめ(後半)。 カスタムモデルの生成方法に関してはChapter 6(カスタムモデル)でまとめたが、ここでは、値の有効性チェック"Validation"についてまとめる。 Validationとは、値を変更する際にその正当性をチェックし不当ならエラーを返すという
ついにiOS 6がリリースされましたね。iOS 6では、また数多くの機能が追加されました。ユーザー目線での新機能もさることながら、個人的には開発者にとって嬉しい新機能 Collection View に注目しています。 Collection Viewとは Collection Viewとは、一言で言えば縦横方向にセルを並べることができるTable Viewのようなものです。UICollectionViewControllerを用いて画面を作成し、セルの中身は、UITableViewControllerと同様にDataSourceを使って指定します。 各セルのサイズは一定である必要はなく、また、セル間の最低間隔を指定しておくことで、レイアウトが自動で計算されキレイに配置されます。 かなり少ないコード量で、以下のスクリーンショットのようなUIを実現することが可能です。もちろん、デバイスの向きが
先日ツイートもしましたが、あまりにも便利すぎるXcodeプラグインに出会ったのでこちらでもご紹介。 ColorSenseは、UIColorまたはNSColorで設定した色をエディタ上で確認したり、カラーピッカーを利用して直接編集することができるXcodeプラグインです。作者は、AppSales-Mobile(github)やNewsRackなどで有名なOmz氏です。信頼できて安心ですね。 このプラグインを入れると、例えば、[UIColor colorWithRed:green:blue:alpha]のメソッド上にカーソルを持ってきたときに、右上にその色が表示されます。 さらに、この色表示の部分をクリックするとカラーピッカーが出てきて、その場で色を変更できます。カラーピッカーで選んだ色が自動でコードに入っていくのです。これが本当に便利。 百聞は一見に如かず。まずはデモビデオを見てみてください
HOME » Natsu note » 古い投稿 » Core Data 勉強日記 (3):More iPhone 3 Development / chapter 3 (前半) ただいま、More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning) にてCore Dataの勉強中。 本題とは直接関係ないが、この著者の設計方針にはかなり共感が持てる。最終目的は「どうにか動いているアプリ」ではなく、「最適な設計により作られたよいアプリ」である。 Chapter 3では、Window-based Application を利用して、Core Dataを利用するアプリケーションをスクラッチから書いてみる。 前半部分で、Xcodeのデータモデルエディタを利用して、Managed Object(.xcdatamodel)を作成する方法が丁寧に
Xcode 4.4 (+ LLVM 4.0)からNSNumberリテラルが利用可能となりました(Modern Objective-C)。かなり便利でコード量も減らせます。 NSNumberリテラルによるオブジェクトの生成 まずは、オブジェクトの生成から。これまで、numberWithXxxまたはinitWithXxxを利用して生成していましたが、これからはNSNumberリテラルを利用して簡潔に書くことが可能です。NSNumberリテラルは、文字列リテラルと同様に@を使って表現します。 メソッドによる生成(従来の方法) NSNumber *value; value = [NSNumber numberWithChar:'X']; value = [NSNumber numberWithInt:12345]; value = [NSNumber numberWithUnsignedLong:
Core DataでエンティティがTo-many relationshipを持つとき、NSPredicateの条件に、その個数を指定したいことがある。例えば、Entity: DepartmentがTo-many relationship: employeesを持つとして、従業員10人以上の部署のみ抽出など。 そのようなときは、KVC (Key-Value Coding) の@countが使える。 NSPredicateの生成は、以下のようにすればよい。 NSPredicate *pred = [NSPredicate predicateWithFormat:@"employees.@count >= 10"]; これは別にNSPredicateやCore Dataに限った話ではなく、KVCの記述方法なので、KVCであれば何にでも使える。便利! このようにキーパス内で利用できる演算子をコレク
“iOS 4 プログラミングブック”の続編とも言える”iOS 5 プログラミングブック”が間もなく発売されます。今回、縁あって本書の一部を執筆させていただきましたので、簡単ですがご紹介いたします。 iOS 5 プログラミングブックは、iOS 5で追加/強化された機能を中心にまとめた中上級者向けの書籍です。 本書を企画、プロデュースしてくださった@Seasonsさんが全体の紹介をしてくださっているので、こちらも合わせてご覧ください。 上級プログラマー必読の書。iOS5プログラミングブックついに完成!!その目次を公開します。 まずは、目次から。 iCloud Storyboards ARC Core Image Core Bluetooth Twitter/Accountsフレームワーク iOS 5のセキュリティ UIKit Misc iOS 5はかなり大きな進化だったため、すべては網羅できて
先日App StoreからリリースされたXcode 4.3ですが、個人的には結構驚きな変更がありました。ARCを利用している場合に、プロパティのデフォルト属性(オブジェクトの所有に関する属性)が変更になっているではないですか。 これまでのデフォルト属性はassign オブジェクトの所有に関するデフォルト属性は、これまでassignでした。したがって、オブジェクトのプロパティで属性指定を行わないと警告が出ていたと思います。 また、Xcode 4.2 + ARC環境では属性指定は必須でした。これは、readonlyプロパティのときも同様です。属性を指定しないとエラーとなります(参考:[iOS5] ARC : プロパティ属性と使い方)。エラーになるのは、インスタンス変数生成時にどの所有修飾子をつけていいか分からないためです。 Xcode 4.3 + ARCでのデフォルト属性はstrong Xco
Xcode4からは、IBとXcode(ソースとヘッダ)をマウス操作で接続できるようになりました。この機能は、私のお気に入りのひとつです。かなりの時間短縮に貢献してくれています。 アシスタントエディタを使う Xcodeでnibファイルを表示したら、アシスタントエディタを使うのがベストです。 アシスタントエディタは、Xcode右上にあるAssistant Editorボタンを押すか、メニューから”View->Assistant Editor->Show Assistant Editor”を選択することで表示可能です。 さらに、表示するファイルを”Automatic”としておきましょう。これで、メインエディタに表示中のnibファイルに対応したヘッダファイルが自動的に表示されます。 まずはOutletを接続 では、実際にviewの上に新しいボタンを設置してみましょう。ボタンを追加したら、Contr
HOME » Natsu note » 古い投稿 » Core Data 勉強日記 (11):More iPhone 3 Development / chapter 7 (関連/Relationship) Core Data 勉強日記 (11):More iPhone 3 Development / chapter 7 (関連/Relationship) 2010/02/24/|古い投稿|Core Data More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning) Chapter 7 のまとめ。 最終章は、関連(Relationship)、取得済みプロパティ(Fetched property)について。さらに、流用がしやすいように汎用的なViewControllerの設計について考える。内容が多いので、まずはRelations
iPhoneには言語設定と書式設定(地域設定)が存在する。さらに、書式設定は「地域」と「言語」に分かれている。これは、同一言語を話す地域が複数あるためだ。一方、言語設定とは、iPhone上に表示されている言語そのものである。 左が言語設定画面、右が書式設定画面だ。書式は現在「フランス語/スイス」に設定されている。フランス語を話す地域は他にもたくさんあるため、フランス語を選択するとさらに地域を選択する画面が出てくるはずだ。 この言語設定と書式設定は独立しており、言語は日本語のまま書式(地域)を日本以外に設定することも可能だ(上のスクリーンショットもその一例)。 これらの設定情報はNSLocaleにより管理されており、以下のようにして知ることができる。あえてこれらの情報を取得しなくてはならない場面はあまりないだろうけれど(ローカライズやNSFormatterの地域設定には不要なので)、知ってお
Core Data 勉強日記 (1):Core Data Tutorial for iPhone OS 2010/02/12/|古い投稿|Core Data 今後作りたいアプリのためにはCore Dataの知識は不可欠だと思い、少し前から勉強を開始した。 十分勉強してから、役に立ちそうなことをまとめていこうと思っていたけれど、Core Dataは奥が深い。 復習のためにも、こまめにまとめていったほうがよさそう。 ということで、勉強日記開始。 まず、前提条件だが、 Core Dataの事前知識ゼロ データベース(SQLなど)に関する一般的知識ゼロ Cocoa touch のプログラミング経験はあるが(アプリを3本公開中)、Cocoa(Mac OS用)は遊びでさわった事がある程度 と、いうところ。結構、前途多難だと思われる。。。 最初は、いつものごとくiPhone Development Ce
HOME » Natsu note » 古い投稿 » NSFetchedResultsController : sectionNameKeyPath設定時の注意 Core DataをUITableViewと組み合わせて使う場合、NSFetchedResultsControllerを使うと非常に便利。 NSFetchedResultsControllerとは、一言で言えば、Core Data(の永続ストア)からフェッチしたデータを、UITableViewに表示しやすいようにsectionとrowで管理してくれるものだ。fetchRequestだけを使ってあとは自力でやるより、遥かに楽になるのでぜひ活用したい。 が、はまりどころがいくつかある。セクション情報あたりの挙動だ。 sectionNameKeyPathを指定して、セクション情報を生成する場合、以下のことは結構重要。 まず、Fetche
“iOS 4 プログラミングブック”の続編とも言える”iOS 5 プログラミングブック”が間もなく発売されます。今回、縁あって本書の一部を執筆させていただきましたので、簡単ですがご紹介いたします。 iOS 5 プログラミングブックは、iOS 5で追加/強化された機能を中心にまとめた中上級者向けの書籍です。 本書を企画、プロデュースしてくださった@Seasonsさんが全体の紹介をしてくださっているので、こちらも合わせてご覧ください。 上級プログラマー必読の書。iOS5プログラミングブックついに完成!!その目次を公開します。 まずは、目次から。 iC … 先日App StoreからリリースされたXcode 4.3ですが、個人的には結構驚きな変更がありました。ARCを利用している場合に、プロパティのデフォルト属性(オブジェクトの所有に関する属性)が変更になっているではないですか。 これまでのデフ
iOS 5でこっそりと変更になっていたことに気がついたことのひとつとして、UITableViewCellのデフォルト背景色があります。 背景色が変更された! UITableViewCellをinitWithStyle:で作成すると、iOS 4までは背景が白(R:1.0, G:1.0, B:1.0)のセルが作成されていました。 ところが! iOS 5では、なんと真っ白ではないのです。背景色は(R:0.97, G:0.97, B:0.97)となっていました。びっくり。 カスタムセルを作っている場合には注意が必要 背景色が変更になっているため、デフォルトのセル上に別のUILabelなどを乗せて独自のカスタムセルを作っている場合には注意が必要になります。 subViewの背景は透過させない方がパフォーマンスがよくなるというので、あえて、背景色を白にしたUILabelを乗せていたのですが、残念なこと
HOME » Natsu note » 古い投稿 » Core Data 勉強日記 (12):More iPhone 3 Development / chapter 7 (取得済みプロパティ/Fetched Property) Core Data 勉強日記 (12):More iPhone 3 Development / chapter 7 (取得済みプロパティ/Fetched Property) 2010/02/25/|古い投稿|Core Data More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning) Chapter 7 のまとめ。 前回の Chapter 7 : 関連 (Relationship) に続き、ここでは取得済みプロパティ(Fetched property)について。 取得済みプロパティ/Fetched Pr
これまでの記事はこちら: [iOS5] ARC (Automatic Reference Counting) : Overview [iOS5] ARC : プロパティ属性と使い方 [iOS5] ARC : Outletにはweakプロパティを使おう [iOS5] ARC : 循環参照 ARCまとめの最終回はAutoreleaseとキャストについてです。また、最後で簡単にですが、Xcodeの環境設定についても触れます。 Autorelease ARC環境下では、これまでのNSAutoreleasePoolは使えません。そうは言っても、別にAutorelease環境がなくなってしまったわけではなく、作法が少し変わったのですね。 まずは、参考までにmain.mを見てみましょう。 非ARC(マニュアルメモリ管理) int main(int argc, char *argv[]) { NSAuto
次のページ
このページを最初にブックマークしてみませんか?
『natsuapps.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く