对于更新到 iOS14 和 Xcode12 后从 FCM 发疯的每个人。我花了 2 天时间来解决这些问题。在模拟器上,它可以工作,但在真实设备上,它没有。也许这些说明可以帮助某人并防止浪费时间。此外,如果所有这些步骤都可以改进,那么听取 Flutter Guru 的一些想法会很棒:)。谢谢!
import UIKit
import Flutter
import GoogleMaps
import Firebase
import FirebaseMessaging
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().delegate = self as UNUserNotificationCenterDelegate
}
GMSServices.provideAPIKey("")
GeneratedPluginRegistrant.register(with: self)
application.registerForRemoteNotifications()
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Auth.auth().setAPNSToken(deviceToken, type: .prod)
}
override func …Run Code Online (Sandbox Code Playgroud) 这个问题很简单,同时又很难理解。为什么我需要将 Statefull Widget 中的所有变量标记为私有?
现在,当我声明一个变量时,我将其声明为私有。
bool _isOpened = true;
String _currentUserUID;
...
Run Code Online (Sandbox Code Playgroud)
但为什么我需要这个?我不从其他小部件访问这些变量。我不重写。我了解我的应用程序逻辑并完全确保所有小部件中代码的安全性。
那么为什么需要私有变量呢?使用私有变量和方法有什么影响吗?也许性能上有好处?
在我的调试控制台中更新到最新的 Gogland 版本后,我看到了这样的信息
GOROOT=/usr/local/go
GOPATH=/Users/mayvas/GoProjects
/usr/local/go/bin/go build -o /private/var/folders/m5/gqb1s0q579b6bdz7hdjwmf7r0000gn/T/___go_run_addressbook_go /Users/mayvas/GoProjects/src/gitlab.yarmel.com/mayvas/meafex/addressbook.go
/private/var/folders/m5/gqb1s0q579b6bdz7hdjwmf7r0000gn/T/___go_run_addressbook_go
Run Code Online (Sandbox Code Playgroud)
可以禁用这个吗?我使用小屏幕分辨率,此信息对我没有用。
谢谢你!