ios

Apple プッシュ通知とローカル通知の要点だけ

Notificationとは Apple Push Notification(Push通知)とは、iOS上で非アクティブなアプリの状態をユーザに通知するための仕組み。アラート通知を通じてアプリはユーザにアプリの起動を促したり、バッジ(アプリアイコンに付与される数字)の表示、サウンド再生などを行う事ができる。 Notificationの種類 iOSで利用できる通知の仕組みは2種類。 (1)Push Notification(プッシュ通知、リモート通知):サーバからユーザのデバイスに通知を行える。プロバイダ(Provider)と呼ばれるサーバ側の仕組みをサービス提供者が構築し、AppleのApple Push Notification Service(APNs)と通信する必要がある。 providerとAPNsとの通信については別掲する。 (2)Local Notification(ローカル通知):当該アプリが動作しているデバイスに限って通知を行える。 必要iOSバージョン (1)Push Notification:iOS 3.0以降 (2)Local Notification:iOS 4.0以降 通知できるデータ (1)メッセージ (2)バッジ (3)サウンド:アプリに予め同梱されている必要があり、指定はファイル名で行う。 (4)その他カスタムデータ:プッシュ通知が届くことは保証されていないので、重要なデータをここに乗せるべきではない。 ただし、メッセージ、バッジ、サウンドはユーザ設定によってオフにできるので必ず通知されるわけではない。また、リモート通知で送信できるデータは256byte以内に制限されていることに注意。 その他 いずれも、通知を受けるためにアプリが起動している必要はない。アプリが起動しているときにも通知を受けたことを知る事は可能。通知を受けるときのパターンは以下の4パターン。それぞれ、内部的にコールされるメソッドとデータ、受取り方が異なるので注意。 ・アプリが非アクティブで、ローカル通知を受ける…

Xcode 4で古いライブラリのリンクエラーの解決方法を要点だけ

Xcode 4にアップデートしたときに、古いarm6用にビルドされたライブラリのリンクでエラーになる場合の解決方法。 “Undefined Symbols for architecture armv7” みたいな感じ。 詳しくはみてないけどどうもXcode 4のビルド設定のデフォルトが変わった模様。 これは、 ビルド設定のアーキテクチャにarmv6 と armv7のキーワードがあることが原因っぽい。 ⇒Target > Valid Architectures をダブルクリックして、armv7のエントリを削除 そうするとビルドに成功します。ただしiPhone 3GS以降はarmv7なので、当然armv7でビルドできるならそちらのほうが良いはず。

EKEvent howto: 設定できる項目

Event Kit Programming Guideからのメモ。 プログラムからEKEventを作成するときに設定できる項目は以下。 ・タイトル ・開始および終了日時 ・カレンダー:新規作成は不可で、既存のもののみ。  カレンダーはEKEventStore.calendarsでEKCalendarのNSArrayが取得できる。もしくはEKEventStoreインスタンスのdefaultCalendarForNewEnents。 ・繰り返し設定。EKRecurrenceRule。 ・アラーム:EKEventにaddAlarm:(EKAlarm *)alarmできる。 以上を設定した上で、EventStoreのsaveEvent:span:errorインスタンスメソッドを呼んであげる。

Xcode 4 howto: フレームワークの追加

Xcode 4で既存のフレームワークを追加する方法です。 1.Project Navigatorを開く 2.ターゲットのアイコンを選択  そうするとSummary/Info/Build Settings/Buid Phases/Build Rulesというタブがエディタエリアに表示される。 3.”Build Phases”を選択 4.”Link Binary With Libraries”を選択 5.”+”を選択 6.ダイアログでフレームワークの一覧が表示される。ここから選択して”Add” 7.Project Navigatorにフレームワークが追加されます。 ちなみにAdd Files…でフレームワークのフォルダを直接指定しても追加されるみたい。