小编dre*_*ter的帖子

dyld:未加载库:@ rpath/libswiftAVFoundation.dylib原因:未找到图像

启动我的应用程序时出现此错误.我正在MacOS High Sierra 10.13上的Xcode 9.0(9A235)下构建.我也尝试使用相同的结果在Xcode 8.3.3下构建.该项目通常是Objective C,但框架YouAppi.framework是Swift:

dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib
  Referenced from: /private/var/containers/Bundle/Application/7D3E2815-4CA3-4258-AEF6-C0626055A8F2/dingbats.app/Frameworks/YouAppi.framework/YouAppi
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

乍一看,这似乎是这个问题的重复,但错误是不同的.在另一个问题中,原因是找不到合适的图像,其中我的图像未找到.

我尝试过以下方法来解决:

  1. 删除并重新添加框架
  2. 清洁和选项+清理项目
  3. 删除〜/ Library/Developer/Xcode/DerivedData文件夹
  4. 构建设置 - >始终嵌入Swift标准库=是
  5. 构建设置 - >剥离Swift符号=否
  6. 构建设置 - >链接 - >运行路径搜索路径 -
    • 添加了@loader_path
    • 添加了@rpath
    • 添加了@ executable_path/Frameworks
  7. 检查了Trust设置为Use System Defaults的开发人员和分发证书
  8. 检查我是否安装了最新的WWDR和G2证书
  9. 检查上述证书的有效性
  10. 将YouAppi.framework移动到Frameworks /文件夹中.(它最初位于"第三方框架"文件夹中.)
  11. 试图将libswiftAVFoundation.dylib复制到我项目的Frameworks文件夹中

我最近没有搬到新电脑.

我在运行iOS 11.0.23(15A432)的iPhone 7+以及运行iOS 9.3.5(13G36)的iPad Mini 1上也有相同的结果.

还试过这个:

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Caches/com.apple.dt.Xcode
Run Code Online (Sandbox Code Playgroud)

想法?

dyld ios swift xcode9

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

如何在 SwiftUI 中垂直居中纯文本 TabBar 按钮?

我正在SwiftUIXcode 11.1Swift 5.1iOS 13.1.3)中制作一些TabView按钮。

对于我的TabView,我不想要任何图像——只是文本。这段代码很好地完成了:

import SwiftUI

struct ContentView: View {
    var body: some View {

        TabView {
            Text("The First Tab")
                .tabItem {
                    Text("My Projects")
            }
            Text("Another Tab")
                .tabItem {
                    Text("Augmented Reality")
            }

            Text("The Last Tab")
                .tabItem {
                    Text("Products")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,文本最终会与标签栏项目的最底部对齐,如下所示: 底部带有标签的标签栏

我想要的是标签栏不要为图标保留空间,而是将文本垂直居中——类似于这个模型:

显示所需布局的选项卡栏模型

我试过把它贴在VStack 中并尝试调整对齐方式,但没有任何改变。

是否有一些聪明的方法可以做到这一点,或者我是否需要通过特定数量的点进行某种偏移?

另外仅供参考,Apple 的开发人员文档说,“选项卡视图仅支持文本、图像或图像后跟文本类型的选项卡项。传递任何其他类型的视图会导致可见但空的选项卡项。

我应该补充一点,我可以使用.offset来调整整个TabView,但这显然不是我们想要的。 .tabItem本身忽略任何.offset …

tabitem tabview swift swiftui

8
推荐指数
1
解决办法
1872
查看次数

Swift 5.5 async let - 错误:表达式为“async”但未标记为“await”

WWDC21 引入了带有async/await 的Swift 5.5。在探索 Swift 中的结构化并发在 Swift WWDC21 会话中遇到 async/await 之后,我正在尝试使用async let函数。

这是我的游乐场代码:

func doIt() async -> String {
    let t = TimeInterval.random(in: 0.25 ... 2.0)
    Thread.sleep(forTimeInterval: t)
    return String("\(Double.random(in: 0...1000))")
}

async {
    async let a = doIt()
    async let b = doIt()
    async let c = doIt()
    async let d = doIt()
    
    let results = await [a, b, c, d]
    for result in results {
        print("  \(result)")
    } …
Run Code Online (Sandbox Code Playgroud)

asynchronous let ios async-await swift

7
推荐指数
2
解决办法
474
查看次数

SwiftUI TextField 在 ZStack 内的 VStack 中禁用(使用 TextField 模拟警报)

我需要在SwiftUI中制作一个警报,其中有一个可编辑的TextField。目前,SwiftUI(从Xcode 11.3 开始)不支持此功能,因此我正在寻找解决方法。

我知道我可以通过在UIHostingController 中包装普通的 UIKit 位来实现,但我真的想坚持使用全 SwiftUI 实现。

我在ZStack 中有两个VStacks,前面的一个(带有 TextView 的那个)被隐藏和禁用,直到你点击按钮。看看这个:

import SwiftUI

struct ContentView: View {
    @State var isShowingEditField = false
    @State var text: String = "12345"

    var body: some View {
        ZStack {
            VStack {
                Text("Value is \(self.text)")
                Button(action: {
                    print("button")
                    self.isShowingEditField = true
                }) {
                    Text("Tap To Test")
                }
            }
            .disabled(self.isShowingEditField)
            .opacity(self.isShowingEditField ? 0.25 : 1.00)

            VStack(alignment: .center) {
                Text("Edit the …
Run Code Online (Sandbox Code Playgroud)

textfield swiftui

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

在不支持并发 swift ios Xcode async/await 的函数中调用“异步”

我正在尝试在 Swift 5.5 中使用 async/await。我有我的异步函数,但是每当我尝试调用它时,我都会收到此错误:

不支持并发的函数中的“异步”调用

这是代码示例:

class TryThis {
    func getSomethingLater(_ number: Double) async -> String {
        // test - sleep for 3 seconds, then return
        Thread.sleep(forTimeInterval: 3)
        return String(format: ">>>%8.2f<<<", number)
    }
}

let tryThis = TryThis()

let result = await tryThis.getSomethingLater(3.141592653589793238462)
print("result: \(result)")
Run Code Online (Sandbox Code Playgroud)

这个有什么解决办法??

macos xcode ios async-await swift

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

Swift 4 / Xcode 9.3 / iOS - 捕获文件“x”无法打开,因为没有带有 String(contentsOf: url) 的此类文件

斯威夫特 4 / Xcode 9.3 / iOS

\n\n

我正在使用String(contentsOf: url),在某些情况下我会收到错误,因为 URL 引用的文件不存在。我想处理特定的错误情况。

\n\n

我知道我可以先检查文件是否存在,但我想改为处理错误情况。

\n\n

现在我正在做:

\n\n
let data = try String(contentsOf: url)\n
Run Code Online (Sandbox Code Playgroud)\n\n

到目前为止,我一直在捕获所有错误,例如:

\n\n
do {\n    let data = try String(contentsOf: url)\n    //<other code here>\n} catch let error {\n    fatalError("bad error: \\(error)")\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我尝试从中提取的特定文件(从给定的 URL)不存在时,我会收到如下错误:

\n\n
bad error: Error Domain=NSCocoaErrorDomain Code=260 "The file \xe2\x80\x9cwhatever.json\xe2\x80\x9d couldn\xe2\x80\x99t be opened because there is no such file." UserInfo={NSFilePath=/Users/myname/Library/Developer/CoreSimulator/Devices/6529F22A-5234-49D7-9BB3-B9C71474CC53/data/Containers/Data/Application/005C1F55-07E8-4CF4-86FD-2F00B1144FD4/Documents/whatever.json, NSUnderlyingError=0x608000058180 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何单独捕获此错误,以便将其与其他错误分开处理?我已经尝试过CocoaError.fileNoSuchFile …

string try-catch swift

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

如何使用 CoreBluetooth 从 1822 PulseOximeter 的蓝牙 LE 数据中提取 SFLOAT 值

我正在开发一个 iOS 应用程序,该应用程序从支持蓝牙 LE 的设备读取脉搏血氧仪数据,在Swift 4.1 中使用iOS 11.4上的CoreBluetooth

我有CBCentralManager搜索外围设备,我找到了我感兴趣的CBPeripheral,我验证它具有0x1822 脉搏血氧仪服务,如蓝牙 SIG此处所述。(您可能需要向蓝牙 SIG 注册才能访问该链接。它是免费的,但需要一两天的时间。)

之后,我连接到它,然后我发现服务:

func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
    peripheral.discoverServices(nil)
}
Run Code Online (Sandbox Code Playgroud)

然后在我的外设中:didDiscoverServices我发现 GATT 特征:

func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?){
    for service in peripheral.services ?? [] {
        if service.uuid.uuidString == "1822" {
            peripheral.discoverCharacteristics(nil, for: service)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

从中我看到以下特征 ( CBCharacteristic.uuid ) 可用:0x2A5F、0x2A5E、0x2a60 和 0x2A52。然后我订阅更新0x2A5F,这是PLX连续测量 …

ios core-bluetooth bluetooth-lowenergy gatt swift

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

找不到 SwiftUI 符号:_$s7SwiftUI9TextFieldVAA4ViewAAMc Xcode 11 beta 3

我正在开发一个简单的基于 SwiftUI 的应用程序。我只有十几个 UI 元素。当我尝试在设备上启动时,应用程序会因以下内容中止:

dyld: Symbol not found: _$s7SwiftUI9TextFieldVAA4ViewAAMc
Run Code Online (Sandbox Code Playgroud)

构建/运行环境:

  • Xcode 11.0 测试版 2 (11M337n)

  • macOS Catalina 10.15 测试版 (19A501i)

  • 设备是运行 iOS 13.0 (17A5522f) 的 iPhone XS Max,这是 beta 3。

我认为这是特定于我的项目的东西,所以我从模板创建了一个新的——所以这里是你可以复制的方法:

1.  Open Xcode
2.  File -> New -> Project
3.  From the iOS tab, choose Single View App
4.  Enter a Product Name, and make sure "Use SwiftUI" is checked.
5.  Next, save the project
6.  Build and run
Run Code Online (Sandbox Code Playgroud)

同样的问题。除了上面的行之外,没有其他错误输出。

dyld swiftui

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

SwiftUI如何在View需要初始化器中的@Binding时实例化PreviewProvider

使用SwiftUI(Xcode 11.1),我已经通过2路绑定(使用@Binding)设置了一些视图。双向更新效果很好。

但是,如何从PreviewProvider实例化视图?

例如:

struct AddProjectView: View {

    @Binding public var showModal: Bool

    var body: some View {

        return VStack {
            Text("Add Project View")
            Button("Dismiss") {
                self.showModal = false
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我无法执行此操作,因为“ true”不是绑定:

struct AddProjectView_Previews: PreviewProvider {
    static var previews: some View {
        AddProjectView(showModal: true)
    }
}
Run Code Online (Sandbox Code Playgroud)

而且我不能这样做,因为“ 本地属性尚不支持属性包装器 ”:

struct AddProjectView_Previews: PreviewProvider {
    static var previews: some View {
        @Binding var show = true
        return AddProjectView(showModal: $show)
    }
}
Run Code Online (Sandbox Code Playgroud)

我们如何做到这一点?

谢谢!!

xcode swiftui combine

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