我正在为macOS和iOS编写一个应用程序。
当我开始我的多平台项目时,我决定看看Firebase SDK是否能与macOS一起工作,因为我以前见过这个错误:
tvOS和macOS SDK支持不是官方Firebase产品的一部分。相反,他们得到了社区的支持。详细信息请访问https://github.com/firebase/firebase-ios-sdk/blob/master/README.md.
我开始配置Firebase,必须创建一个NSApplicationDelegate才能在macOS上工作:
类AppDelegate:NSObject、NSApplicationDelegate{func applicationDidFinishLaunching(_通知:通知){FirebaseApp.configure()}}
然后,我使用NSApplicationDelegateAdaptor将此AppDelegate附加到我的@main应用程序:
@主要struct SchedulerApp:应用程序{@NSApplicationDelegateAdaptor(AppDelegate.self)变量AppDelegatevar body:some场景{窗口组{内容视图()}}}
首先用一个简单的打印语句对它进行了测试,结果很好。
然后用测试FirebaseApp.configure()
它抛出了一大堆错误。
沙盒不允许访问com.apple.dnssd.service
dnssd_clientstub ConnectToServer:connect()失败路径:/var/run/mDNSResponder套接字:4错误:-1错误编号:1不允许操作
nw_resolver_create_dns_service_locked(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 SandbBox就无法将应用程序上传到Mac应用程序商店?