小编Dáv*_*tor的帖子

Swift-将[[String:Any?]]转换为数据

我有一个[[String:Any]]填充的对象:

var result : [[String : Any]] = [[String : Any]]()

我需要将其转换为Data

我正在使用:进行 JSONEncoder().encode(result) 转换。

但是我得到这个错误:

无法推断通用参数“ T”

存在转换数据的简单方法[[String:Any?]] object to吗?

json swift

7
推荐指数
1
解决办法
5702
查看次数

使用 Swift 在 Mac 上显示通知横幅

我尝试使用 Swift 在 Mac OS 上显示一些通知横幅。但我只在通知中心得到它们,而不是作为横幅。

你有想法吗?这是我的简单代码:

func showNotification() -> Void {
    let notification = NSUserNotification()
    notification.title = "Title of notification"
    notification.subtitle = "Subtitle of notification"
    notification.soundName = NSUserNotificationDefaultSoundName
    NSUserNotificationCenter.default.deliver(notification) 
}

@IBAction func btnPressed(_ sender: NSButton) {
    showNotification()
    testLbl.stringValue = "Button was pressed"
}
Run Code Online (Sandbox Code Playgroud)

macos notifications swift

7
推荐指数
1
解决办法
2031
查看次数

Swift - 不等待异步返回

我希望能够让该函数doSomething()class B存在async并且不阻止它的调用者线程。但使用以下代码我收到此错误:

无法将“() async -> Void”类型的函数传递给需要同步函数类型的参数

并且 xcode 尝试强制该doSomething()函数class B成为async

class A {
    func doSomething() async throws {
       //perform 
    }
}

class B {
   let a = A()
   func doSomething() {
      DispatchQueue.global().async {
        do {
           await try a.doSomething()
        } catch {
           print(error)
        }
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

ios async-await swift structured-concurrency

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

提取应用程序意图元数据 - 构建步骤非常慢

即使代码更改不直接触及意图,从新框架中提取应用程序意图也AppIntents需要花费大量时间。

在构建日志中,发生此步骤的原因有所不同,但主要是“文件 X 已更改”,我想知道是否可以以某种方式缓存该意图或至少仅在生产构建中提取此元数据?Simple#if debug不会阻止执行此步骤。

构建时间表

xcode xcodebuild swift ios16 appintents

7
推荐指数
1
解决办法
1188
查看次数

Kafka Stream - CommitFailedException:由于该组已经重新平衡并将分区分配给另一个成员,因此无法完成提交

我正在运行一个Kafka Stream应用程序,该应用程序使用来自2个主题的数据并将加入/合并的结果输出到3个主题中.kafka主题有15个分区和3个复制因子.我们有5个卡夫卡经纪人和5个动物园管理员.我正在运行15个Kafka Stream应用程序实例,因此每个应用程序可以有1个分区.Kafka版本 - 0.11.0.0

我在我的kafka流应用程序中得到以下异常:

org.apache.kafka.clients.consumer.CommitFailedException:由于该组已经重新平衡并将分区分配给另一个成员,因此无法完成提交.这意味着后续调用poll()的时间长于配置的max.poll.interval.ms,这通常意味着轮询循环花费了太多时间进行消息处理.您可以通过增加会话超时或通过max.poll.records减少poll()中返回的批量的最大大小来解决此问题.在org.apache的org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.sendOffsetCommitRequest(ConsumerCoordinator.java:725)org.apache.kacheka.clients.consumer.internals.ConsumerCoordinator.commitOffsetsSync(ConsumerCoordinator.java:604)org.apache .kafka.clients.consumer.KafkaConsumer.commitSync(KafkaConsumer.java:1173)位于org.apache.kafka.streams.processor的org.apache.kafka.streams.processor.internals.StreamTask.commitOffsets(StreamTask.java:307) .internals.StreamTask.access $ 000(StreamTask.java:49)位于org.apache.kafka.streams.processor.internals的org.apache.kafka.streams.processor.internals.StreamTask $ 1.run(StreamTask.java:268) .StreamsMetricsImpl.measureLatencyNs(StreamsMetricsImpl.java:187)org.apache.kafka.streams. (StreamTask.java:362)org.apache.kafka.stream.process.Stat..processor.internals.StreamThread $ 3.apply(StreamThread.java:1118)位于org.apache.kafka.streams.processor的org.apache.kafka.streams.processor.internals.StreamThread.performOnStreamTasks(StreamThread.java:1448). ingals.StreamThread.suspendTasksAndState(StreamThread.java:1110)atg.apache.kafka.streams.processor.internals.StreamThread.access $ 1800(StreamThread.java:73)org.apache.kafka.streams.processor.internals.StreamThread $ RebalanceListener.onPartitionsRevoked(StreamThread.java:218)org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.onJoinPrepare(ConsumerCoordinator.java:422)org.apache.kafka.clients.consumer.internals.AbstractCoordinator.joinGroupIfNeeded (AbstractCoordinator.java:353)org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureActiveGroup(AbstractCoordinator.java:310)at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java) :297)org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(Ka)fkaConsumer.java:1078)org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1043)org.apache.kafka.streams.processor.internals.StreamThread.pollRequests(StreamThread.java:582) org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:553)at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:527)2017-08- 09 14:50:49 - [ERROR] [click-live-StreamThread-1] [org.apache.kafka.streams.processor.internals.StreamThread.performOnStreamTasks:1453]:

有人可以帮助解决原因和解决方案吗?

此外,当我的一个kafka经纪人失败时,我的kafka流应用程序没有连接到其他经纪人?我已经设定brokers.list=broker1:9092,broker2:9092,broker3:9092,broker4:9092,broker5:9092

apache-kafka

6
推荐指数
1
解决办法
2006
查看次数

计时器在Swift中如何工作?

我在Swift中使用了一个Timer,不确定它是如何工作的。我试图扫描2秒钟,连接到外围设备,然后结束扫描。我有以下代码,其中connectToPeripheralstartScanendScan是同一类中的函数。

    startScan()
Timer(timeInterval: 2, target: self, selector: #selector(connectToPeripheral), userInfo: nil, repeats: false)
    endScan()
Run Code Online (Sandbox Code Playgroud)

选择器如何在计时器中工作?在代码调用计时器之后,代码是仅执行选择器,而不调用下一个代码位,还是仅在选择器运行完毕后才调用下一个代码?基本上,我要问的是有关计时器及其选择器的事件周期是多少。

timer selector swift

6
推荐指数
1
解决办法
2021
查看次数

Swift 4.1 - 子类UIImage

我得到的Overriding non-@objc declarations from extensions is not supported错误,当升级到4.1雨燕后子类UIImage的自定义的init

class Foo: UIImage {

    init(bar: String) { }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    // Overriding non-@objc declarations from extensions is not supported
    required convenience init(imageLiteralResourceName name: String) {
        fatalError("init(imageLiteralResourceName:) has not been implemented")
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

uiimage swift swift4.1

6
推荐指数
1
解决办法
716
查看次数

AudioKit iOS:如何将输入节点动态连接到活动链中的混音器?

如何在 AudioKit iOS 中将输入节点动态连接到活动链中的混音器?

环境:AudioKit 4.3、Swift 4.1、Xcode 9.4.1、iOS 11.4。

问题

我正在构建一个应用程序,其中包含由 AKNode 对象链组成的动态模块。这些模块根据请求动态连接到正在运行的 AudioKit 引擎的专用 AKMixer 节点或从其分离。这很有效,除非尝试连接任何包含输入节点(例如 AKMicrophone 或 AKStereoInput)的模块,否则会导致崩溃:

2018-06-14 10:13:33.696384-0700 MyApp[3440:2578936] [mcmx] 338: 输入总线 0 采样率为 0 2018-06-14 10:13:33.6967049:MyApp3[0704e] [mcmx] ] AVAEInternal.h:103:_AVAE_CheckNoErr: [AVAudioEngineGraph.mm:3632:UpdateGraphAfterReconfig: (AUGraphParser::InitializeActiveNodesInOutputChain(ThisGraph, kOutputChainFullTraversal, *conn.srcNode, isChainActive)): 错误 -10875-13070:10875-1307 -0700 DynamicMic[3440:2578936] *** 由于未捕获的异常“com.apple.coreaudio.avfaudio”而终止应用程序,原因:“错误 -10875”

或者,调用AudioKit.stop(),然后执行有问题的连接,然后调用AudioKit.start()无法启动 AudioKit,但它避免了崩溃:

AKMicrophone.swift:init():45:Mixer 输入 8 2018-06-14 10:16:09.532277-0700 MyApp[3443:2580588] [mcmx] 338:输入总线 0 采样率为 0 2018-06-1 16:09.532603-0700 MyApp[3443:2580588] [avae] AVAEInternal.h:103:_AVAE_CheckNoErr: [AVAudioEngineGraph.mm:1265:Initialize: (err = AUGraphParser::InitializeActiveNodesInOutputChain),GraphActiveNodesInOutputChain() ): 错误 -10875 2018-06-14 10:16:09.532654-0700 MyApp[3443:2580588] [avae] AVAudioEngine.mm:149:-[AVAudioEngine …

ios swift audiokit

6
推荐指数
1
解决办法
1170
查看次数

在iOS12中重新安装应用程序后不再请求访问

在更新到 iOS12 并测试在 Xcode 9 中构建的应用程序后,我们发现在删除并重新安装应用程序后 - 用户不会再次提示有关访问相机或图库的问题。
在 iOS11 上,每次安装应用程序时,iOS 都会请求许可。

我测试了 AppStore 中的一些随机应用程序,以查看它们的行为以及结论 - 其中一些确实重置了访问权限,而有些则没有。所以,我完全迷失了。

另外,作为信息,但我不是 100% 确定这一点:当删除和安装应用程序之间有一段时间(超过 1 小时)时,即使在 iOS 12 上也请求许可。

iOS 12 有什么变化吗?你知道如何保持 iOS 11 的行为吗?

谢谢!

privacy ios swift ios12

6
推荐指数
1
解决办法
795
查看次数

“ExportOptions.plist”无法打开,因为没有这样的文件。”

我们正在尝试使用终端而不是 Xcode->Product->Archieve 运行项目。我们已成功完成清理、构建和存档。导出 .ipa 时出现以下错误“无法打开文件“ExportOptions.plist”,因为没有这样的文件。”。当我在堆栈溢出中冲浪时,我对 plist 文件一无所知。

例如:我们有一个原始名称为 MyApp 的应用程序?

xcodebuild clean -workspace MyApp.xcworkspace -scheme 开发

xcodebuild build -workspace MyApp.xcworkspace -scheme 开发

xcodebuild archive -workspace MyApp.xcworkspace -scheme Development -archivePath ~/Users/Desktop/SampleApp/MyApp.xcarchive

上面的代码工作正常。使用以下行时,我收到“ExportOptions.plist”错误。

??

xcodebuild -exportArchive -archivePath ~/Users/Desktop/SampleApp/MyApp.xcarchive -exportPath ~/Users/Desktop/SampleApp/MyApp -exportOptionsPlist ~/Users/Desktop/SampleApp/ExportOptions.plist

我的问题是: ??

  1. 我们需要手动创建 plist 吗?我已经导出了前一个的试飞版本。我有一个带有 .ipa 文件的“ExportOptions.plist”文件。我们需要将 ExportOptions.plist 移动到输出文件夹中吗??
  2. 我们是否需要创建一个输出文件夹来导出所有 .ipa 和 .plist?我创建了“NewFolder”并尝试它不起作用。
  3. 如果我对存档路径、导出路径和 exportOptionsPlist 使用了错误的路径,请纠正我

terminal xcode xcodebuild plist ios

6
推荐指数
1
解决办法
4401
查看次数