仕事でiPhoneアプリ開発をやるようになって半年が経ちました。面白いね! その初期の頃に書いていたメモ書きが見つかったので、それを見返しながらまとめてみました。 新しく始める方のお役に立てれば! iPhoneアプリ開発の基本 Q. やり方が分からない A. とりあえず公式読むのがおすすめ。量が多くて躊躇するけど正しい。 最初に読むなら、以下のリンクの「初めての iOS アプリケーション」。 日本語ドキュメント - Apple Developer それでも分からないって時は、困った時のドットインストール!これ以上に分かりやすいのはない! iOSプログラミング入門 (全24回) - プログラミングならドットインストール Q. StoryBoardの使い方が分からない A. ちょっと前までは、これについて詳しく書かれている本や記事がなくて困りましたが、最近はありそう。 これもドットインストール
#import "Person.h" @implementation Person - (NSArray *)personKeys { return @[@"firstName", @"lastName", @"bloodType", @"age"]; } @end #import "ViewController.h" #import "Person.h" @interface ViewController () @property (strong, nonatomic) NSArray *personData; @end @implementation ViewController - (NSArray *)personData { NSMutableArray *persons = [NSMutableArray array]; NSDictionary *person1 = @{@"
NSLog() でインスタンスのクラス名を表示する方法。 NSLog(@"%@", NSStringFromClass([self class])); NSLog() でメソッド名を表示する方法。 NSLog(@"%@", NSStringFromSelector(_cmd)); NSLog() でメソッド名とそのメソッドが属するクラス名を同時に表示する方法。 NSLog(@"%s", __func__); NSLog(@"%s", __FUNCTION__); NSLog(@"%s", __PRETTY_FUNCTION__); NSLog() でソースファイル名を表示する方法。 NSLog(@"%s", __FILE__); NSLog() でソースファイル内の行番号を表示する方法。 NSLog(@"%d", __LINE__); NSLog() でコールスタックを表示する方法。 NS
2013年03月26日09:39 カテゴリtool iOSの究極テストツール:Calabash-iOSを使いこなすぞ!(1) こんにちは、genesixで働いているiOSのエンジニアTonnyです。 Calabash-iOSって何?まず、このツールを聞いたことが無い方に簡単に紹介します。Googleでcalabash-iosを検索すると一番のリンクをクリックすると、Calabash-iOSのHPに飛んでいきます。 原文を使って、簡単に説明すると Calabash is an automated testing technology for Android and iOS native and hybrid applications 重要なポイントは全部太字にしました。よく見たら、すごいと思わないですね。このようなツールは世の中にすでにいっぱいありますよ。 既存のテストライブラリ・ツールKI
iOSアプリのデータ操作はMagical Recordでマジ簡単!:生産性ガチアゲなオープンソースiOSライブラリ(3)(1/2 ページ) ゼロからiOS SDK開発を始める新規開発者でも超高速・高品質な開発を可能にするオープンソースのライブラリを目的別に紹介していく連載です。実際にライブラリを組み込みながら技術的な側面も併せて詳細に説明していきます。今回は、アップル製O/RマッピングのCoreDataを使いやすくするObjective-Cライブラリについて、概要や使い方を紹介します。 アプリの品質と生産性の向上もライブラリが助けてくれる アプリ開発を行ううえで絶対的に重要な要素の1つとして「品質」の問題があります。どんなに見た目が美しいアプリを作成しても、どんなに最新の技術を駆使しても品質が悪ければ良いアプリとはいえません。 品質といってもその定義は非常に広く、見る人によってその定義は異
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
以下は様々なプログラミング言語のためのコード駆動型のユニット・テスト・フレームワークの一覧である。全てではないが、これらの幾つかはxUnitに基づいている。 名前: この列はフレームワークの名前及び、Wikipedia内にその項目があればそれへのリンクを含む。 xUnit: この列はフレームワークがxUnit型のフレームワークであるかどうかを示す。 TAP: この列はフレームワークがTAP準拠のテスト・ハーネスを出力できるかどうかを示す。 ジェネレータ: この列はフレームワークがデータ・ジェネレータをサポートするかどうかを示す。データ・ジェネレータはあるテストの入力データを自動的に生成し、生成した各データについてそのテストを実行する。 フィクスチャ: この列はフレームワークがテスト毎のフィクスチャをサポートするかどうかを示す。テスト毎のフィクスチャは個々のテストに対して環境の設定が行えるよ
2. Agenda • 単体テスト全般について • Xcode標準の単体テストを使う • テストしやすいコードとMVCについて • GHUnit - もうひとつの単体テスト環境 • 位置情報系のテスト basuke
UIColor *turquoiseFlatColor = [UIColor colorWithRed:0.10196078431372549 green:0.7372549019607844 blue:0.611764705882353 alpha:1.0]; UIColor *greenSeaFlatColor = [UIColor colorWithRed:0.08627450980392157 green:0.6274509803921569 blue:0.5215686274509804 alpha:1.0]; UIColor *emeraldFlatColor = [UIColor colorWithRed:0.1803921568627451 green:0.8 blue:0.44313725490196076 alpha:1.0]; UIColor *nephritisFl
Objective-Cランタイムシステムを直接操作して、iOS 5から新しく追加されたメソッドをiOS 4で動かしたときにも使えるようにしてしまえ、という話です。 例題:parentViewController問題 iOSでUIViewController「親」からUIViewController「子」をモーダル表示したとき、これまでは子のparentViewControllerに親が格納されていましたが、iOS 5からはそれがnilになって、代わりに新しくできたpresentingViewControllerに格納されるようになりました。iOS 5からUIViewControllerにコンテナ機能が追加されたので、その辺色々整理されたのでしょうか。 参考:http://cocoa.hatenablog.com/entry/2011/11/24/222140 なので子から親を呼びたい場合、
「英語のリファレンスだけじゃよくわからん、動くサンプルが欲しい!」という僕のために、NDA解禁されたてほやほやの iOS 6 関連のサンプルコード/オープンソースライブラリ等を集めてみました。 UICollectionView 1. iOS6-Playground iTunesから取得したムービーのカバー画像を、UICollectionView を用いて様々なレイアウトで表示するサンプルコードです。 UICollectionViewController, UICollectionViewCell, UICollectionViewLayout, UICollectionViewFlowLayout 等、UICollectionView 関連の新クラスは一通り使われています。 StoreKit に新たに追加された SKStoreProductViewController も使われていて、参考
TwitterでViewライフサイクルについて話題になったので、まとめてみました。 @tomohisa @gaolay @replicantnexus6 @t_okada これまではiOS5では呼ばれてましたね。5ではwillUnloadっていう使いドコロのわからないメソッドも追加されてそれも呼ばれてましたし。 — kishikawa katsumiさん (@k_katsumi) 9月 20, 2012 シングルビューの動作 こちらが基本となります。よく勘違いされているのは、ViewDidUnloadは、いつもViewが閉じるときに呼ばれるというものですが、これは間違いで、通常、ViewDidUnloadは呼ばれません。 モーダルビューが呼ばれたとき モーダルビューが呼ばれたときの注意点は、裏にあるビューは、一度UIWindowから削除されて、ViewDidDisappearが走るという点
This page describes the features present in OCMock 2.x, using the traditional syntax. All these features, including the selector-based syntax, are available in OCMock 3, too. However, starting with OCMock 3 the default is the modern syntax, described on the new reference page. Class mocks id mock = [OCMockObject mockForClass:[SomeClass class]] Creates a mock object that can be used as if it were a
http://ocmock.org/features/ にも載ってる。 検索するとこのへんがヒットするので投下。 [iOS] UnitTest で使えるいろんなモックの作りかた | Developers.IO Objective-Cでクラスメソッドからのレスポンスをモックに置き換えたい - yaakaito's diary Objective-CでクラスメソッドをMockする - wysawyg 先日(3月ぐらい)のアップデートで機能が追加されました。 基本的には上記ブログの記事でやっているようなMethod Swizzling の機構をOCMockが自前で管理するようになった。 実際に使うならこういうかんじ。引数は最初 OCMOCK_ANY 渡してみたら動かなかったので注意。 - (void)testCallClassMethodStubingOCMock { // Google検索ペー
チェック1. なんでもかんでもヘッダーファイルでimportしていませんか? 例えば、こんなコードを書いていませんか? #import "OtherLibrary1.h" #import "OtherLibrary2.h" @interface Library @property (strong) OtherLibrary1* otherLibrary1; @property (strong) OtherLibrary2* otherLibrary2; @property (assign) BOOL flag; @end Libraryというクラスを作り、そこでOtherLibrary1とOtherLibrary2をpublicなpropertyとする場合、当然のごとくOtherLibrary1とOtherLibrary2のimportが必要なわけですが、なにも考えずにヘッダーファイルでO
まず、Xcode4.4から使えるObjective-Cの新しい書き方については 前の記事 をご参照ください。 Xcode4.4からMacアプリ開発で使える新しいリテラル 上記記事には書いていないのですがMac向けのアプリではこの他にも、 array[1] でNSArrayの要素にアクセスできる dictionary[key] でNSDictionaryの要素にアクセスできる @YES/@NO でもNSNumberのインスタンスを作れる といった変更があります。 こちらについては残念ながらiOSアプリ開発ではまだ利用できません。 ※ これらがターゲットがMacの場合には利用できてiOSの場合には利用できないということは、 @k_katsumi さんに教えてもらいました。 でも[]でアクセスする仕組み自体はiOSでも使えます! ところで、[]でインスタンスにアクセスするコードを書いたとき、これ
もうほとんどのかたが既知の内容と思いますが、まとめさせていただきます。 これらは全てコンパイル時に事が済む類のものなので、iOS5だけでなくiOS4でも当然使えるというのが嬉しいですね! Xcode4.4適用前 Xcode4.3までのこのコードを… #pragma mark - Private Category @interface Sample () @property (strong) NSNumber* i; @property (strong) NSNumber* c; @property (strong) NSNumber* f; @property (strong) NSArray* array; @property (strong) NSDictionary* dictionary; - (void)privateMethods1; - (void)privateMethod
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く