Tah*_*zam 5 macos xcode multiplatform firebase swiftui
我正在为 macOS 和 iOS 编写一个应用程序。
当我开始我的多平台项目时,我决定看看 Firebase SDK 是否适用于 macOS,因为我以前见过这个错误:
tvOS 和 macOS SDK 支持不是 Firebase 官方产品的一部分。相反,他们是社区支持的。详情见https://github.com/firebase/firebase-ios-sdk/blob/master/README.md。
我开始配置 Firebase,并且必须创建一个 NSApplicationDelegate 才能在 macOS 上运行:
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ notification: Notification) {
FirebaseApp.configure()
}
}
Run Code Online (Sandbox Code Playgroud)
然后我使用 NSApplicationDelegateAdaptor 将此 AppDelegate 附加到我的 @main 应用程序:
@main
struct SchedulerApp: App {
@NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Run Code Online (Sandbox Code Playgroud)
首先用一个简单的打印语句对其进行了测试 - 它奏效了。
然后用 测试它FirebaseApp.configure()
,它抛出了一大堆错误。
沙盒不允许访问 com.apple.dnssd.service
dnssd_clientstub ConnectToServer: connect() failed path:/var/run/mDNSResponder Socket:4 Err:-1 Errno:1 Operation not allowed
nw_resolver_create_dns_service_locked
连接 1:收到失败通知
连接 1:连接失败 10:-72000,原因 -1
连接 1:遇到错误 (10:-72000)
找不到具有指定主机名的服务器。
最后一个包含一个 URL,https://firebaselogging-pa.googleapis.com/v1/firelog/legacy/batchlog。
从错误代码,我在网上做了一些挖掘,因为我是macOS开发的新手,所以发现了App Sandbox。然后我尝试在 Signing and Capabilities 中将其关闭并再次运行该项目。
没有错误。工作得很好!
我如何允许服务器通过 App Sandbox 进行连接,因为我确实想在不久的将来发布该应用程序并希望开始将我的 SwiftUI iOS 应用程序移植到 macOS,因为您无法在没有 App 的情况下将应用程序上传到 Mac 应用程序商店沙盒?
通过复选框修复它
传入网络连接(服务器)
和
传出网络连接(客户端)
在目标设置(您可以在其中编辑应用程序的名称和版本的屏幕)> 签名和功能。如果您收到错误消息,指出您的权利文件夹已被编辑,只需清理构建文件夹即可。
归档时间: |
|
查看次数: |
795 次 |
最近记录: |