启动我的应用程序时出现此错误.我正在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)
乍一看,这似乎是这个问题的重复,但错误是不同的.在另一个问题中,原因是找不到合适的图像,其中我的图像未找到.
我尝试过以下方法来解决:
我最近没有搬到新电脑.
我在运行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)
想法?
我正在SwiftUI(Xcode 11.1、Swift 5.1和iOS 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 …
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) 我需要在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) 我正在尝试在 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)
这个有什么解决办法??
斯威夫特 4 / Xcode 9.3 / iOS
\n\n我正在使用String(contentsOf: url),在某些情况下我会收到错误,因为 URL 引用的文件不存在。我想处理特定的错误情况。
\n\n我知道我可以先检查文件是否存在,但我想改为处理错误情况。
\n\n现在我正在做:
\n\nlet data = try String(contentsOf: url)\nRun Code Online (Sandbox Code Playgroud)\n\n到目前为止,我一直在捕获所有错误,例如:
\n\ndo {\n let data = try String(contentsOf: url)\n //<other code here>\n} catch let error {\n fatalError("bad error: \\(error)")\n}\nRun Code Online (Sandbox Code Playgroud)\n\n当我尝试从中提取的特定文件(从给定的 URL)不存在时,我会收到如下错误:
\n\nbad 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"}}\nRun Code Online (Sandbox Code Playgroud)\n\n如何单独捕获此错误,以便将其与其他错误分开处理?我已经尝试过CocoaError.fileNoSuchFile …
我正在开发一个 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连续测量 …
我正在开发一个简单的基于 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)
同样的问题。除了上面的行之外,没有其他错误输出。
使用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)
我们如何做到这一点?
谢谢!!