IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
海外事業向けのiOSアプリケーション開発を担当している西山(@yuseinishiyama)です。クックパッドは現在、海外複数カ国に向けてサービスを展開しています。 主にObjective-Cで記述されたアプリケーションを全面的にSwiftに書き換える機会があったので、その際に得た知見や書き換えるに至った動機を共有します。 書き換えに至るまでの経緯 この項では、書き換えに至るまでの経緯について説明します。 Objective-C期 アプリケーションの開発は2014年7月頃にスタートしました。Swiftの発表直後でしたが、時期尚早ということもあり、Objective-Cで実装することになりました。 Objective-C、Swift混在期 2014年10月頃から、Swiftへの段階的な移行のために、新規のコードをSwiftで書くようになりました。Swiftの記述力や、ヘッダと実装を行き来しな
XCode4 と Instruments で実機動作中の NSZombie を探す方法¶ XCode4 で開発していると、予期しないインスタンスが解放されてしまって、そいつを 参照しようとして BAD_ACCESS が出てしまう事が有る。 しかし、いったい何を参照しようとしているのか、なかなか見つけ難い場合がある。 Cocoaではデベロッパ向けに「ゾンビオブジェクト」というアロケーションされていないメモリへのアクセスを見つける為に解放されたオブジェクトをNSZombieオブジェクトとしてリプレースされる機能があるので、BAD_ACCESSが発生した 際にそいつを見つけやすくすることができます。 NSZombie が有効な場合のXCode4 での debug output GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Fri Sep 16
セレクタを指定してオブジェクトにメッセージを送る処理について。 SEL sel = @selector(doSomething); if ([obj respondsToSelector:sel]) { [obj performSelector:sel]; } このようなコードをビルドすると、ARC有効時にperformSelector:の行について次の警告が出る。 PerformSelector may cause a leak because its selector is unknown 指示子@selectorによりセレクタを指定するのではなくSEL型変数を使用する場合にのみ警告が出る。実際、次のような場合には警告は出ない。 if ([obj respondsToSelector:@selector(doSomething)]) { [obj doSomething]; } if
※当ブログではアフィリエイト広告を利用しています。 現在業務でiOSアプリを細々と作っていたりするのですが、APNS(Apple Push Notification Service)を利用したリモートプッシュ通知を実装する際にいろいろ手間取った点がありました。 実装するまでの手順をできるだけ詳細にまとめてみます。長いのでエントリを前編・後編に分けます。前編は「概要~プロビジョニングプロファイル」の準備の手順です。 APNS(Apple Push Notification Service)を利用したプッシュ通知の流れ プッシュ通知についての概要はApple公式ドキュメント「Local および Push Notification プログラミングガイド」で解説されていますが、単純化すると下記の流れとなります。 iPhone・iPadのアプリでプッシュ通知を許可し、APNSからデバイストークンを取
[新言語 Swift:image] Cocoa の優れた教師と考えられている Aaron Hillegass の意見とそれに対する反論が興味深い・・・ Big Nerd Ranch: “iOS Developers Need to Know Objective-C” by Aaron Hillegass: 11 June 2014 * * * iOS デベロッパにとって Objective-C の知識は必要だ アップルが Swift を発表したとき、少なからぬひとびとが「万歳! これで Objective-C を習わなくても iOS デベロッパになれる!」というのを聞いた。そんなひとに3つのことをいいたい。 When Apple announced Swift, I heard a few people say “Hurray! Now I can be an iOS de
Cocoa iOS デザインパターン どうも今のインターネット※の上ではMacよりも、iOSのコードやフレームワークを前提にした話が多いせいか、“Cocoa” という言葉を見なくなってきたように見えるのは、iOS前からCocoaを書いてきた人間にとっては少し悲しいことである。 そんなことはどうでも良くて、最近他人の書いたiOSのコードをよく見るのだが、その書き方、クラスの切り方、命名規則、カテゴリの使い方、継承の使い方、デリゲートなど各種パターンの使い方などなどその差は千差万別である。最初にCocoaを使ったという人は希少で、その大半は以前にC#, Java, Ruby, Python, PHPやそれらでよく使われているフレームワークを使っているがゆえ、CocoaらしいCocoaを書いている、書けている、または意識している人は少ないかもしれない。 Cocoa的な書き方は何で正解であるかとい
Describes the macOS Objective-C runtime library support functions and data structures.
既存記事のまとめのため新しい要素があるわけではないのですが、Appleから発表されたXcode 5が正式にリリースされる前の復習ということで。 Tipsを適用する前のコード #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; @property (strong) Sample* child; @property (strong) UIColor* color; @property (assi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く