相关疑难解决方法(0)

如何在Xcode 11中删除Swift包依赖关系?

我在Xcode 11中有一个项目,向其中添加了Swift Package Manager依赖项。现在,我意识到我不再需要以前添加到项目中的程序包依赖项之一。

正如您在下面看到的那样,File > Swift Packages该项目下没有任何选项可从Swift Package Manager删除打包程序。

Swift Packages菜单选项

我试图从project.xcworkspace/xcshareddata/swiftpm/Package.resolved文件中的数组中删除包。但是它仍然没有将其从Xcode中删除,并且下次我将Updaate to Latest Package Versions其读取到Package.resolved文件中时。

如何在项目中删除Swift Package Manager依赖项?

xcode swift-package-manager xcode11

14
推荐指数
5
解决办法
2120
查看次数

无法跨多个 Swift 模块实现 Firebase

这是针对 Firebase 6.26.0 和 6.27.0(我都尝试过,原因将变得清晰)

我有一个 Swift 应用程序,我试图将其从当前的整体分解为模块,但到目前为止,我还无法通过在每个单独的模块中安装 Firebase pod 来跨模块(即框架)公开 Firebase 类。它仅在只有一个现有库并且该库安装在应用程序目标中并在 AppDelegate 中实例化时才有效。

有谁知道是否可以在单个工作区中跨多个模块实施 Firebase?

预期成绩

Firebase 类将向多模块 Swift 应用程序中的所有模块公开,其中存在一个或多个 Firebase 库副本,允许所有模块调用 Firebase 方法并在 FirebaseApp 的单个全局实例中实现 Firebase 类。

实际结果

Firebase 要么因为工作区中存在多个 Firebase 库而拒绝实例化,要么当只存在一个库时,Firebase 类无法向工作区中的其他模块公开。

我所做的

  1. 在需要它们的每个模块中安装单独的 Firebase pod。启动时,我收到此错误:
    .
    The default FirebaseApp instance must be configured before the defaultFirebaseApp instance can be initialized
    .
    根据 Firebase 团队成员在另一篇 StackOverflow 帖子上的回答,这是由于工作区中存在多个 Firebase 库造成的。

  2. 仅安装了一个 pod 来创建一个“FirebaseProxy”模块,应用程序目标和所有其他模块都可以共享该模块。通过使用类型别名和扩展,我可以让类实现 Firebase 类,而不必暴露于实际的 Firebase 库,例如:

    import Firebase

    public typealias FirebaseUserProxy = Firebase.User
    public …
Run Code Online (Sandbox Code Playgroud)

xcode ios cocoapods firebase swift

5
推荐指数
0
解决办法
292
查看次数

Firebase未明确配置

我不知道为什么这不起作用我的Firebase配置了.这是我的AppDelegate.swift文件的屏幕截图.这是我的控制台日志:

2017-05-29 17:52:53.141 Study M8[31592] <Error> [Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add [FIRApp configure] to your application initialization. Read more: https://firebase.google.com/docs/ios/setup#initialize_firebase_in_your_app.
2017-05-29 17:52:53.184 Study M8[31592:1051241] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'The default FIRApp instance must be configured before the default FIRAuthinstance can be initialized. One way to ensure that is to call `[FIRApp configure];` is called in `application:didFinishLaunchingWithOptions:`.'
*** First throw call stack:
(
    0   CoreFoundation                      0x000000010a445b0b __exceptionPreprocess + …
Run Code Online (Sandbox Code Playgroud)

xcode sigabrt ios firebase swift

3
推荐指数
1
解决办法
2094
查看次数