[解決済み] registerForRemoteNotificationTypes: は iOS 8.0 以降でサポートされていません。
2022-04-12 10:34:36
質問
iOS 8.xでプッシュ通知に登録しようとすると、エラーが発生します。
application.registerForRemoteNotificationTypes(UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound)
以下のようなエラーが発生します。
registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later.
何か新しい方法はないでしょうか?iOS 7.xでこのSwiftアプリを実行すると動作するのですが。
EDIT
iOS 7.xで条件コードを入れると、次のようになります(SystemVersionの条件か、#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000)。
dyld: Symbol not found: _OBJC_CLASS_$_UIUserNotificationSettings
解決方法は?
ご指摘の通り、iOSのバージョンによって異なる方法を使用する必要があります。もしあなたのチームがXcode 5(iOS 8のセレクタを知らない)とXcode 6の両方を使用している場合、次のように条件付きコンパイルを使用する必要があります。
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
// use registerUserNotificationSettings
} else {
// use registerForRemoteNotificationTypes:
}
#else
// use registerForRemoteNotificationTypes:
#endif
Xcode 6しか使っていない場合は、これだけで我慢してください。
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
// use registerUserNotificationSettings
} else {
// use registerForRemoteNotificationTypes:
}
ここにあるのは、iOS 8で通知許可の取得方法が変更されたためです。A
UserNotification
は、リモートまたはローカルのいずれからであっても、ユーザーに表示されるメッセージです。表示するためには許可を得る必要があります。これは、WWDC 2014のビデオで説明されています
"iOSの通知の新機能"
関連
-
[解決済み】何が原因か。switch文からこのcaseラベルにジャンプできない [重複]。
-
[解決済み】開発者の身元が確認できないため開けない
-
[解決済み] エラー: バイナリ式のオペランドが無効です ('float' と 'float')
-
[解決済み] iOS 8 UITableViewのセパレータインセット0が機能しない件
-
[解決済み] フレームワークを使用したiOSアプリがデバイス上でクラッシュ、dyld: ライブラリがロードされない、Xcode 6 Beta
-
[解決済み] iOS 8で位置情報サービスが利用できない
-
[解決済み] C言語で純粋にiOSアプリを書く方法
-
[解決済み] objectForKeyとvalueForKeyの違い?
-
[解決済み】Objective-Cでオブジェクトがどのクラスであるかをテストするにはどうすればよいですか?
-
[解決済み】Cocoaアプリからターミナルコマンドを実行する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-CのNSLog関数でNSString型を出力する方法とは?
-
[解決済み] Objective-Cでオブジェクトをキャストする方法
-
[解決済み] .02fと%.2fの違いは何ですか?
-
[解決済み] アーキテクチャ i386 のシンボルが見つかりませんでした。
-
非静的宣言に続く "****"の静的宣言
-
[解決済み] ターゲット・パターンに '%' が含まれていません。メイクファイル
-
[解決済み] メソッド名と行番号を出力し、NSLogを条件付きで無効にする方法は?
-
[解決済み] objectForKeyとvalueForKeyの違い?
-
[解決済み】Objective-Cのシングルトンはどのように見えるべきですか?[クローズド]
-
[解決済み】浮動小数点以下が2桁しか表示されないようにする