日程:June 6-10(日本時間6/7~)
基調講演は例年どおりなら6/7 AM 2:00ごろ?ジョブス氏くるのかな。
今回のポイントは、
・Mac OSX Lionの正式リリース?
・iPhone 5?iPhone 4S?とiOS5?の発表があるか?
・iTunesのストリーミング配信サービス開始?
日程:June 6-10(日本時間6/7~)
基調講演は例年どおりなら6/7 AM 2:00ごろ?ジョブス氏くるのかな。
今回のポイントは、
・Mac OSX Lionの正式リリース?
・iPhone 5?iPhone 4S?とiOS5?の発表があるか?
・iTunesのストリーミング配信サービス開始?

Notificationとは
Apple Push Notification(Push通知)とは、iOS上で非アクティブなアプリの状態をユーザに通知するための仕組み。アラート通知を通じてアプリはユーザにアプリの起動を促したり、バッジ(アプリアイコンに付与される数字)の表示、サウンド再生などを行う事ができる。
Notificationの種類
iOSで利用できる通知の仕組みは2種類。
(1)Push Notification(プッシュ通知、リモート通知):サーバからユーザのデバイスに通知を行える。プロバイダ(Provider)と呼ばれるサーバ側の仕組みをサービス提供者が構築し、AppleのApple Push Notification Service(APNs)と通信する必要がある。
(2)Local Notification(ローカル通知):当該アプリが動作しているデバイスに限って通知を行える。
必要iOSバージョン
(1)Push Notification:iOS 3.0以降
(2)Local Notification:iOS 4.0以降
通知できるデータ
(1)メッセージ
(2)バッジ
(3)サウンド:アプリに予め同梱されている必要があり、指定はファイル名で行う。
(4)その他カスタムデータ:プッシュ通知が届くことは保証されていないので、重要なデータをここに乗せるべきではない。
ただし、メッセージ、バッジ、サウンドはユーザ設定によってオフにできるので必ず通知されるわけではない。また、リモート通知で送信できるデータは256byte以内に制限されていることに注意。
その他
いずれも、通知を受けるためにアプリが起動している必要はない。アプリが起動しているときにも通知を受けたことを知る事は可能。通知を受けるときのパターンは以下の4パターン。それぞれ、内部的にコールされるメソッドとデータ、受取り方が異なるので注意。
・アプリが非アクティブで、ローカル通知を受ける
・アプリが非アクティブで、リモート通知を受ける
・アプリがアクティブで、ローカル通知を受ける
・アプリがアクティブで、リモート通知を受ける
参照
http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html%23//apple_ref/doc/uid/TP40008194-CH1-SW1
Xcode 4にアップデートしたときに、古いarm6用にビルドされたライブラリのリンクでエラーになる場合の解決方法。
“Undefined Symbols for architecture armv7” みたいな感じ。
詳しくはみてないけどどうもXcode 4のビルド設定のデフォルトが変わった模様。
これは、 ビルド設定のアーキテクチャにarmv6 と armv7のキーワードがあることが原因っぽい。
⇒Target > Valid Architectures をダブルクリックして、armv7のエントリを削除
そうするとビルドに成功します。ただしiPhone 3GS以降はarmv7なので、当然armv7でビルドできるならそちらのほうが良いはず。
Info.plistの特定の項目の値を参照する場合は:
Event Kit Programming Guideからのメモ。
プログラムからEKEventを作成するときに設定できる項目は以下。
・タイトル
・開始および終了日時
・カレンダー:新規作成は不可で、既存のもののみ。
カレンダーはEKEventStore.calendarsでEKCalendarのNSArrayが取得できる。もしくはEKEventStoreインスタンスのdefaultCalendarForNewEnents。
・繰り返し設定。EKRecurrenceRule。
・アラーム:EKEventにaddAlarm:(EKAlarm *)alarmできる。
以上を設定した上で、EventStoreのsaveEvent:span:errorインスタンスメソッドを呼んであげる。
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…でフレームワークのフォルダを直接指定しても追加されるみたい。