Skip to content

Commit

Permalink
Support Xcode 15 b5
Browse files Browse the repository at this point in the history
  • Loading branch information
tattn committed Jul 30, 2023
1 parent 1b96989 commit 7187b38
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 21 deletions.
41 changes: 21 additions & 20 deletions app/xcode/Sources/VCamTracking/FacialMocapReceiver.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public final class FacialMocapReceiver: ObservableObject {
enum ReceiverResult {
case success
case cancel
case error(Error)
case error(any Error)
}

public init() {}
Expand Down Expand Up @@ -113,24 +113,25 @@ extension FacialMocapReceiver {
}
listener.newConnectionHandler = { [weak self] connection in
self?.connection = connection
connection.stateUpdateHandler = { state in
Task { @MainActor in
switch state {
case .setup, .preparing: ()
case .waiting(let error):
if case .posix(let posixError) = error, posixError == .ECONNREFUSED {
try? await Task.sleep(nanoseconds: NSEC_PER_SEC * 2)
try? await self?.startServer(port: port, avatar: avatar, completion: completion)
}
case .ready:
self?.connectionStatus = .connected
connection.receiveData(with: avatar)
case .cancelled:
self?.stopAsync()
case .failed:
try? await self?.startServer(port: port, avatar: avatar, completion: completion)
@unknown default: ()
}
connection.stateUpdateHandler = { [weak self] state in
Task { @MainActor [weak self] in
guard let self else { return }
switch state {
case .setup, .preparing: ()
case .waiting(let error):
if case .posix(let posixError) = error, posixError == .ECONNREFUSED {
try? await Task.sleep(nanoseconds: NSEC_PER_SEC * 2)
try? await self.startServer(port: port, avatar: avatar, completion: completion)
}
case .ready:
self.connectionStatus = .connected
connection.receiveData(with: avatar)
case .cancelled:
self.stopAsync()
case .failed:
try? await self.startServer(port: port, avatar: avatar, completion: completion)
@unknown default: ()
}
}
}

Expand Down Expand Up @@ -176,7 +177,7 @@ extension FacialMocapReceiver {
connection.start(queue: Self.queue)
}

private func sendStartToken(connection: NWConnection, completion: @escaping (Error?) -> Void) {
private func sendStartToken(connection: NWConnection, completion: @escaping ((any Error)?) -> Void) {
let token = "iFacialMocap_sahuasouryya9218sauhuiayeta91555dy3719|sendDataVersion=v2".data(using: .utf8)
connection.send(content: token, completion: .contentProcessed { error in
completion(error)
Expand Down
2 changes: 1 addition & 1 deletion app/xcode/Sources/VCamTracking/VCamMotionReceiver.swift
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public final class VCamMotionReceiver {
listener.newConnectionHandler = { [weak self] connection in
self?.connection = connection
connection.stateUpdateHandler = { [weak self] state in
Task { @MainActor in
Task { @MainActor [weak self] in
switch state {
case .setup, .preparing, .waiting, .cancelled, .failed: ()
case .ready:
Expand Down
2 changes: 2 additions & 0 deletions app/xcode/Sources/VCamUI/Shortcut/VCamShortcutRunner.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@

import Foundation
import VCamEntity
import VCamLogger

public struct VCamShortcutRunner {
public static let shared = VCamShortcutRunner()

@MainActor public func run(_ shortcut: VCamShortcut) async {
Logger.log("")
for action in shortcut.configurations.map({ $0.action() }) {
do {
try await action(context: .init(shortcut: shortcut))
Expand Down

0 comments on commit 7187b38

Please sign in to comment.