小编Asw*_*ath的帖子

卡在 Xcode 中获取 firebase-ios-sdk 上

我正在开发一个项目,并使用 Swift 包管理器来管理依赖项。我刚刚将 Xcode 更新到 12.5,并且删除了派生数据,因为我认为这可以解决我遇到的问题(问题导航器中没有显示任何错误,但会显示在报告导航器中)。无论如何,这不是主要问题。

这是过去 30 分钟运行的“重置包缓存”的报告

删除派生数据后,应该重新获取该包。然而,这并没有发生。我尝试重置包缓存并重新启动我的 MacBook。这已经持续了两个小时,我在堆栈溢出上查找类似的问题,但我找不到任何解决方案。任何帮助都是天赐之物。

编辑:将项目克隆到另一个目录中以查看是否可以解决问题。没有运气。

xcode ios swift-package-manager

17
推荐指数
2
解决办法
1万
查看次数

如何解决此问题:由于上述错误,无法构建用于导入的模块“FrameworkA”

问题本身很容易描述。我有两个项目来创建框架 FrameworkA 和 FrameworkB。框架 B 依赖于框架 A。两者都有一个带有运行脚本(Run_Script)的目标,用于在各自的项目根目录中生成 xcframework。我将产品 FrameworkA.xcframework 添加为 FrameworkB 的依赖项。正如预期的那样,我可以导入并使用 FrameworkA 并构建 Framework B 及其 xcframework 生成目标。到目前为止,一切都很好。

现在我向框架 A 添加一个 Swift 包(无论什么包),尝试构建框架 B。我无法构建框架 B。由于以下错误:

Failed to build module 'FrameworkA' for importation due to the errors above; the textual interface may be broken by project issues or a compiler bug

无法构建导入模块

并在arm64-apple-ios-simulator.swiftinterface arm64-apple-ios-simulator.swiftinterface

这是 XCode 警告的编译器错误吗?我创建了一个示例项目来说明这个问题。测试XCF

第一次提交编译,最后一次失败。使用 XCode 13.3,默认工具链

xcode compiler-errors ios swift-package-manager

6
推荐指数
0
解决办法
2550
查看次数

如何在 SwiftUI 中用图像替换占位符文本?

我有一个字符串"Hello {world}"需要替换为"Hello ". 占位符的位置最后并不固定。我可能有不止一个占位符。

我正在使用 SwiftUI 并尝试使其与

Text("Hello {world}".replacingOccurrences(of: "{world}", with: "\(Image(systemName: "globe"))"))
Run Code Online (Sandbox Code Playgroud)

但很快发现这不起作用并提出了这个Hello Image(provider: SwiftUI.ImageProviderBox<SwiftUI.Image.(unknown context at $1ba606db0).NamedImageProvider>)

既然这有效

Text(LocalizedStringKey("Hello \(Image(systemName: "globe"))"))
Run Code Online (Sandbox Code Playgroud)

我认为我需要将 a 传递LocalizedStringKeyText我再次尝试的

Text(LocalizedStringKey("Hello {world}".replacingOccurrences(of: "{world}", with: "\(Image(systemName: "globe"))")))
Text(LocalizedStringKey("Hello" + "\(Image(systemName: "globe"))")) //this doesn't work either
Run Code Online (Sandbox Code Playgroud)

但遇到了类似的问题SwiftUI.Text.Storage.anyTextStorage(SwiftUI.(unknown context at $1ba668448).LocalizedTextStorage

LocalizedStringKey我查看了和的 API LocalizedStringKey.StringInterpolation,但找不到解决此问题的方法。有没有办法可以替换占位符字符串?

swift swiftui

5
推荐指数
2
解决办法
825
查看次数

在Swift中有没有NSInvocation的替代方案?

我正在尝试调用一个带有多个(2+)参数的选择器(可以确定参数的数量).但是,选择器在编译时是未知的(实际上是使用NSSelectorFromString生成的).

在Objective-C中,我可以创建一个调用并为其设置参数并调用它.但这在Swift中不可用.有没有办法解决?喜欢:

let obj = SomeClass()
let selector = NSSelectorFromString("arg1:arg2:arg3:") //selector, arguments known only at runtime
//invoke selector
Run Code Online (Sandbox Code Playgroud)

selector nsinvocation ios swift swift3

3
推荐指数
2
解决办法
3912
查看次数

在 SwiftUI 中使用 List 时,如何使用 NavigationLink isActive 绑定?

用例非常简单。我有一个地点列表,每个地点对应一个地理围栏。我需要在用户位于其地理围栏内的特定行中启用导航。该列表是动态的,是从 API 中获取的。Stackoverflow 上也有类似的问题,但这些问题仅针对静态列表。

我尝试使用布尔字典,但我无法使其工作。

这是一个简化的模拟代码:

struct ListView: View {
  @State private var navActive: [UUID: Bool] = [:]
  var body: some View {
    
           List (viewModel.allItems, id: \.id) { item in
           NavigationLink(destination: DetailView(item), isActive: $navActive[item.id]) {
             Text(item.name)
             .onTapGesture {
                if currentLocation.isInside(item.geofence) { navActive[item.id] = true }
             }
         }
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:无法 在 NavigationLink isActive 参数上将类型 'Binding<Bool?>' 的值转换为预期的参数类型 'Binding<Bool>'

注意:在接收带有 onRecieve 修饰符的 allItems 时,我已经用键值对填充了 navActive 字典

ios swift swiftui swiftui-list swiftui-navigationlink

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

有没有办法设置 fullScreenCover 背景不透明度?

我需要从视图组件内的按钮推送一个模态视图,但应该只覆盖屏幕高度的下半部分,上半部分是半透明背景(黑色,不透明度为 30%)。在 fullscreenCover 视图构建器中设置最顶层视图的不透明度不起作用。任何帮助,将不胜感激。

struct ContentView: View {
    
    @State var present: Bool = false
    var body: some View {
        
        VStack(spacing: 20) {
            
            Button(action: {
                present = true
            }, label: {
                
                Text("spawn translucent modal")
            })
            .fullScreenCover(isPresented: $present) {
                VStack(spacing: 20) {
                    Spacer()
                        .frame(maxWidth: .infinity, minHeight: 100)
                        .background(Color.black)
                        .opacity(0.3)
                    
                    Text("modal")
                }
                .background(Color.clear)
                
            }
            
            Text("some content")
            Text("some more content")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

ios swiftui

3
推荐指数
2
解决办法
551
查看次数