タグ

notificationとObjective-Cに関するraimon49のブックマーク (9)

  • Objective-C オブジェクト間通信のパターン - Toyship.org

    この記事は、Tech Women Advent Calendar 2014の17日目の記事です。 基ですが、あらためてiOS開発でのオブジェクト間通信についてまとめてみました。 オブジェクト間通信 Objective-Cでソースコードを書いているときに、オブジェクト同士で通信を行う必要は頻繁に発生します。 通信元のオブジェクトが通信先のポインタを持っている場合もあるし、ない場合もあるし。 通信元、通信先のどちらのオブジェクトも動的に生成されたり消えたりするし。 複数の相手に通信したい場合もあるし、一つだけでいい場合もあるし。 いろいろな状況に応じてこのオブジェクト間通信を使い分ける必要が有ります。 「呼び出し元」と「呼び出し先」だとわかりにくいので、AliceがBobやCarolをよぶ、(AliceからBobやCarolにメッセージを送る)としてみましょう。 Target-Action

    Objective-C オブジェクト間通信のパターン - Toyship.org
    raimon49
    raimon49 2015/04/18
    NSNotificationCenterとKVOの通知パターンはオブジェクトのライフサイクルを意識したremoveが必要なんだよね。
  • Silent Push / Background Fetch 時の fetchCompletionHandler に渡す引数ごとの挙動の違いを調べてみた

    Silent Push / Background Fetch 時の fetchCompletionHandler に渡す引数ごとの挙動の違いを調べてみた 2014/09/10追記: 追加調査によって判明した事項を追記しています。 iOS 7から追加されたPush通知によるバックグラウンド処理機能 (Silent Push) および定期的なバックグラウンドフェッチ機能 (Background Fetch) ですが、これらの機能はバックグラウンド処理が完了したタイミングでいずれもfetchCompletionHandlerにUIBackgroundFetchResult型の値を渡すような設計になっています。 ちょっと調べれば、大体どこの解説サイトにも以下のように説明があります。 UIBackgroundFetchResultNewData 新しいコンテンツの取得に成功し、新しいデータが存在した

    Silent Push / Background Fetch 時の fetchCompletionHandler に渡す引数ごとの挙動の違いを調べてみた
    raimon49
    raimon49 2014/08/25
    UIBackgroundFetchResultNewDataを渡して処理を終了した場合はスナップショットの更新がかかってUIViewControllerの各ライフサイクルのメソッドが呼ばれるのか。その他、通知をし過ぎやBackground Fetch呼び出し頻度へのペナルティなど。
  • Apple Push Notification (APN) 使用時の delegate の挙動について、 iOS 7以降 / iOS 6以前の差をまとめた

    Apple Push Notification (APN) 使用時の delegate の挙動について、 iOS 7以降 / iOS 6以前の差をまとめた iOS 7以降とiOS 6以前で、俗にいうリモートPush通知の受け取り方と受け取った際の挙動がまるで違っているので、最近リモートPush通知を実装した時につまづいた箇所をまとめてみました。 使用するdelegate methodの違い いかなる種類のPush通知においてもapplication:didReceiveRemoteNotification:fetchCompletionHandler:を使用します。 application:didReceiveRemoteNotification:fetchCompletionHandler:とapplication:didReceiveRemoteNotification:が両方実装され

    Apple Push Notification (APN) 使用時の delegate の挙動について、 iOS 7以降 / iOS 6以前の差をまとめた
    raimon49
    raimon49 2014/08/12
    iOSバージョン、fetchCompletionHandler付きメソッド、サイレント通知になる条件。素晴らしくまとまっててありがたい。空のsoundや高めのpriorityを指定すると到達率が良くなるのか。知らなかった。
  • モバイルアプリのObserverパターン - cockscomblog?

    ReactiveCocoa勉強会関西にてObserverパターンについてお話ししましたので、以下にその内容をまとめます。 Observerパターンは、GoFの23のデザインパターンのうちの一つで、モデルが状態の変化をしビューに通知するパターンです。GUIアプリケーションの開発で多用されます。もちろんスマートフォンアプリの開発においても大変役に立つので、いくつかの例を挙げて見ていきます。 Objective-CのKey-Value Observing static void * Context = &Context; - (void)anything { [object addObserver:self forKeyPath:NSStringFromSelector(@selector(property)) options:NSKeyValueObservingOptionNew conte

    モバイルアプリのObserverパターン - cockscomblog?
    raimon49
    raimon49 2014/07/27
    java.beansパッケージのPropertyChangeSupportクラスを利用するとKVOライクな監視が出来る。Swiftにはまだ無い。
  • HomeKitの概要 - Reinforce-Lab.'s Blog

    2014年6月11日に大垣で開催されるWWDC2014ディベロッパ共有会 の下書きとして、 一般に公開されている部分を抜粋してブログに書いてみます。 iOS8で導入されたHomeKit iOS8はiOS7までになかった多くのAPIとフレームワークが追加されました。そのうちHomeKitおよびHealthKitは、 今までのアプリケーションで完結するフレームワークと異なり外部機器との連携前提で初めて価値をもつ毛色の違うフレームワーク(あるいはサービス)です。 開発者の視点からHomeKitの概要をまとめます。 HomeKitの資料 HomeKitの専用のページが公開されています https://developer.apple.com/homekit/ 。 このページにはHomeKitが何かを詳細に解説しています。その内容はWWDCのプレゼンテーション内容と同じです。 HomeKitに対応する

    raimon49
    raimon49 2014/06/14
    公開情報であるHomeKit.frameworkヘッダファイルからの整理。Home Automation Protocolとの統合について、どういう単位で抽象化されているか分かる。
  • はてなインターンのサンプルコードを読んでの感想 - griffin-stewieのブログ

    はてなさんが はてなインターンで利用したiOSアプリ等のサンプルコードを公開しました - Hatena Developer Blog という素敵なサンプルコードを公開してくれたので、好き勝手に感想を書いてみたいと思う。来は Web アプリ側も動かしたかったんだけど、ウマく環境が作れなかったのでアプリはコードを読んだだけで動かしてはないです。あと、細かい検証とかしてないので勘違いとかしていると思うので指摘してください。 参考になった真似したい NSError と UIAlertView の使い方 NSError の内容ベースでエラーアラートを出すのは理にかなっていると思った。OS 側が返す NSError は期待する値が入っていない不親切な場合があるので、オリジナルの NSError から一度適切な値を持った NSError を再生成して返すクラスを介したらいいのかもしれない。 すっきりし

    はてなインターンのサンプルコードを読んでの感想 - griffin-stewieのブログ
  • iOS7の「Appのバックグラウンド更新」を無効化されたら困る場合はユーザーへ伝えよう - laiso

    もともとiPhoneではバックグラウンドでの動作が非常に制限されていたこともあり、バックグラウンドで動作し続けるアプリというのは裏で動き続ける必要性、必然性があるものがほとんどです。Appのバックグラウンド更新をオフにすると、それらのアプリは問答無用でバックグラウンドでの動作が制限されます。オフにするのならその意味をちゃんと考えてからオフにしてください。 私のアプリでは「iOS7になったらバックグラウンドでログが記録出来なくなった!」という不具合報告をいくつも頂きましたが、その全てがこの「Appのバックグラウンド更新」が原因でした。 安易にオフにしないようお願いします。m(_ _)m iOS7の「Appのバックグラウンド更新」をオフにしてはいけない | dendrocopos開発室 これは言いたいことはわかるんだけど、まずユーザーの意思が第一で、デベロッパーはバックグラウンド更新への対応の

    iOS7の「Appのバックグラウンド更新」を無効化されたら困る場合はユーザーへ伝えよう - laiso
    raimon49
    raimon49 2013/12/09
    UIApplicationBackgroundRefreshStatusDidChangeNotificationイベント 通知
  • iPhoneアプリケーションで圏外を通知する。 - 24/7 twenty-four seven

    ネットを利用するiPhoneアプリケーションは、圏外の通知が必須に? - 24/7 twenty-four seven 上記の記事で書いたように、現在、ネットを使用するアプリケーションは、ネットワークに接続できないときには、何らかの形でユーザーに知らせないといけないので、僕が「はてな touch」「LDR touch」「テレビ番組表」でやっている方法を書きます。 Reachability iOS Dev Center - Apple DeveloperにサンプルコードとしてアップルがReachabilityというものを公開しています。 こちらを使うと、ネットワークの状態を簡単に取得することができます。 また、圏外になったときに自動的に通知してくれる機能もついています。 使い方 ReachabilityのプロジェクトからReachability.hとReachability.mをコピーします

    iPhoneアプリケーションで圏外を通知する。 - 24/7 twenty-four seven
    raimon49
    raimon49 2012/11/28
    ネットワーク状態の監視
  • iOS Viewライフサイクルまとめ、iOS6での変更点 – Zero4Racer PRO Developer's Blog

    TwitterでViewライフサイクルについて話題になったので、まとめてみました。 @tomohisa @gaolay @replicantnexus6 @t_okada これまではiOS5では呼ばれてましたね。5ではwillUnloadっていう使いドコロのわからないメソッドも追加されてそれも呼ばれてましたし。 — kishikawa katsumiさん (@k_katsumi) 9月 20, 2012 シングルビューの動作 こちらが基となります。よく勘違いされているのは、ViewDidUnloadは、いつもViewが閉じるときに呼ばれるというものですが、これは間違いで、通常、ViewDidUnloadは呼ばれません。 モーダルビューが呼ばれたとき モーダルビューが呼ばれたときの注意点は、裏にあるビューは、一度UIWindowから削除されて、ViewDidDisappearが走るという点

    raimon49
    raimon49 2012/09/24
    ViewDidUnloadは呼ばれないので、モーダルビューの片付け処理が必要ならdidReceiveMemoryWarningで。
  • 1