15

我正在为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应用程序商店?

1答案1

重置为默认值
23

通过复选框修复

传入网络连接(服务器)

传出网络连接(客户端)

在目标设置(可以编辑应用程序名称和版本的屏幕)>签名和功能中。如果出现错误,说明您的权利文件夹已被编辑,只需清理构建文件夹。

2
  • 1
    我想知道Xcode 13b1是如何做到这一点的。
    – 里克
    评论 2021年6月21日0:05
  • +功能->应用程序沙盒->传入网络连接(服务器)和传出网络连接(客户端) 评论 2021年9月8日12:36

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.