Xcode 12.5 にアップグレードした後、プロジェクトがビルドされず、AppDelegate でエラーが発生します。アップグレード前に問題がなかったことを確認できますが、これをトラブルシューティングするためのドキュメントはどこにもありません。前もって感謝します!
AppDelegate コード:
import UIKit
import Firebase
import IQKeyboardManagerSwift
import FirebaseMessaging
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
let gcmMessageIDKey = "gcm.message_id"
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
IQKeyboardManager.shared.enable = true
Messaging.messaging().delegate = self
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().delegate = self
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
options: authOptions,
completionHandler: {_, _ in })
} else {
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
if let messageID = userInfo[gcmMessageIDKey] {
print("Message ID: \(messageID)")
}
print(userInfo)
completionHandler(UIBackgroundFetchResult.newData)
}
return true
}
}
エラー:
1)
application.registerUserNotificationSettings(settings)
「タイプ '(UIApplication, [AnyHashable : Any], @escaping (UIBackgroundFetchResult) -> Void) -> ()' の値にはメンバー 'registerUserNotificationSettings' がありません」
2)
application.registerForRemoteNotifications()
「タイプ '(UIApplication, [AnyHashable : Any], @escaping (UIBackgroundFetchResult) -> Void) -> ()' の値にはメンバー 'registerForRemoteNotifications' がありません」