diff --git a/app/build.gradle.kts b/app/build.gradle.kts index a40fca5..7f03cbd 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -22,7 +22,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion = Versions.compose + kotlinCompilerExtensionVersion = Versions.composeCompiler } buildTypes { @@ -68,6 +68,7 @@ dependencies { with(Deps.Compose) { + implementation(compiler) implementation(ui) implementation(uiGraphics) implementation(foundationLayout) diff --git a/app/src/main/java/com/surrus/peopleinspace/ui/MainActivity.kt b/app/src/main/java/com/surrus/peopleinspace/ui/MainActivity.kt index c21fd04..608a75e 100644 --- a/app/src/main/java/com/surrus/peopleinspace/ui/MainActivity.kt +++ b/app/src/main/java/com/surrus/peopleinspace/ui/MainActivity.kt @@ -99,7 +99,7 @@ fun MainLayout() { AnimatedNavHost(navController, startDestination = Screen.PersonList.title) { composable( route = Screen.PersonList.title, - exitTransition = { _, _ -> + exitTransition = { _, target -> slideOutHorizontally() + fadeOut(animationSpec = tween(1000)) }, diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts index f876828..d386e1b 100644 --- a/backend/build.gradle.kts +++ b/backend/build.gradle.kts @@ -16,7 +16,7 @@ dependencies { with(Deps.Ktor) { implementation(serverCore) implementation(serverNetty) - implementation(serialization) + //implementation(serialization) implementation(websockets) } diff --git a/build.gradle.kts b/build.gradle.kts index 2795f71..20d1c1d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,7 +20,7 @@ buildscript { classpath(shadow) classpath(kotlinter) classpath(gradleVersionsPlugin) - val kmpNativeCoroutinesVersion = if (kotlinVersion == "1.6.0") "0.9.0" else "0.8.0" + val kmpNativeCoroutinesVersion = if (kotlinVersion == "1.6.10") "0.10.0-new-mm" else "0.8.0" classpath("com.rickclephas.kmp:kmp-nativecoroutines-gradle-plugin:$kmpNativeCoroutinesVersion") } } diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index 063d780..813d57e 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -3,15 +3,16 @@ object Versions { const val androidCompileSdk = 31 const val androidTargetSdk = androidCompileSdk - const val kotlinCoroutines = "1.5.2-native-mt" + const val kotlinCoroutines = "1.6.0-RC3" const val koin = "3.1.4" - const val ktor = "1.6.5" - const val kotlinxSerialization = "1.3.0" + const val ktor = "2.0.0-eap-278" + const val kotlinxSerialization = "1.3.1" const val kotlinxHtmlJs = "0.7.3" - const val compose = "1.0.5" - const val wearCompose = "1.0.0-alpha10" - const val navCompose = "2.4.0-beta02" + const val compose = "1.1.0-rc01" + const val composeCompiler = "1.1.0-rc02" + const val wearCompose = "1.0.0-alpha13" + const val navCompose = "2.4.0-rc01" const val accompanist = "0.21.0-beta" const val junit = "4.12" @@ -81,6 +82,7 @@ object Deps { } object Compose { + const val compiler = "androidx.compose.compiler:compiler:${Versions.composeCompiler}" const val ui = "androidx.compose.ui:ui:${Versions.compose}" const val uiGraphics = "androidx.compose.ui:ui-graphics:${Versions.compose}" const val uiTooling = "androidx.compose.ui:ui-tooling:${Versions.compose}" @@ -107,7 +109,10 @@ object Deps { object Ktor { const val serverCore = "io.ktor:ktor-server-core:${Versions.ktor}" const val serverNetty = "io.ktor:ktor-server-netty:${Versions.ktor}" - const val serialization = "io.ktor:ktor-serialization:${Versions.ktor}" + //const val serialization = "io.ktor:ktor-serialization:${Versions.ktor}" + const val contentNegotiation = "io.ktor:ktor-client-content-negotiation:${Versions.ktor}" + const val json = "io.ktor:ktor-serialization-kotlinx-json:${Versions.ktor}" + const val websockets = "io.ktor:ktor-websockets:${Versions.ktor}" const val clientCore = "io.ktor:ktor-client-core:${Versions.ktor}" const val clientJson = "io.ktor:ktor-client-json:${Versions.ktor}" diff --git a/common/build.gradle.kts b/common/build.gradle.kts index c58e60c..a8e6632 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -82,7 +82,8 @@ kotlin { implementation(clientCore) implementation(clientJson) implementation(clientLogging) - implementation(clientSerialization) + implementation(contentNegotiation) + implementation(json) } with(Deps.Kotlinx) { diff --git a/common/common.podspec b/common/common.podspec index 2cf9a5c..33ec868 100644 --- a/common/common.podspec +++ b/common/common.podspec @@ -1,11 +1,11 @@ Pod::Spec.new do |spec| spec.name = 'common' spec.version = '1.0' - spec.homepage = 'https://github.com/joreilly/PeopleInSpace' + spec.homepage = '' spec.source = { :git => "Not Published", :tag => "Cocoapods/#{spec.name}/#{spec.version}" } spec.authors = '' spec.license = '' - spec.summary = 'PeopleInSpace' + spec.summary = '' spec.vendored_frameworks = "build/cocoapods/framework/common.framework" spec.libraries = "c++" @@ -33,13 +33,9 @@ Pod::Spec.new do |spec| set -ev REPO_ROOT="$PODS_TARGET_SRCROOT" "$REPO_ROOT/../gradlew" -p "$REPO_ROOT" $KOTLIN_PROJECT_PATH:syncFramework \ - -PkotlinVersion="1.6.0" \ -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME \ -Pkotlin.native.cocoapods.archs="$ARCHS" \ - -Pkotlin.native.cocoapods.configuration=$CONFIGURATION \ - -Pkotlin.native.cocoapods.cflags="$OTHER_CFLAGS" \ - -Pkotlin.native.cocoapods.paths.headers="$HEADER_SEARCH_PATHS" \ - -Pkotlin.native.cocoapods.paths.frameworks="$FRAMEWORK_SEARCH_PATHS" + -Pkotlin.native.cocoapods.configuration=$CONFIGURATION SCRIPT } ] diff --git a/common/src/androidMain/kotlin/com/surrus/common/repository/actual.kt b/common/src/androidMain/kotlin/com/surrus/common/repository/actual.kt index bd4b349..0465342 100644 --- a/common/src/androidMain/kotlin/com/surrus/common/repository/actual.kt +++ b/common/src/androidMain/kotlin/com/surrus/common/repository/actual.kt @@ -1,11 +1,13 @@ package com.surrus.common.repository -import co.touchlab.kermit.Logger import com.squareup.sqldelight.android.AndroidSqliteDriver import com.surrus.common.di.PeopleInSpaceDatabaseWrapper import com.surrus.peopleinspace.db.PeopleInSpaceDatabase +import io.ktor.client.engine.android.* import org.koin.dsl.module + + actual fun platformModule() = module { single { val driver = @@ -13,4 +15,5 @@ actual fun platformModule() = module { PeopleInSpaceDatabaseWrapper(PeopleInSpaceDatabase(driver)) } + single { Android.create() } } diff --git a/common/src/commonMain/kotlin/com/surrus/common/di/Koin.kt b/common/src/commonMain/kotlin/com/surrus/common/di/Koin.kt index da6d87a..e9cf583 100644 --- a/common/src/commonMain/kotlin/com/surrus/common/di/Koin.kt +++ b/common/src/commonMain/kotlin/com/surrus/common/di/Koin.kt @@ -5,9 +5,10 @@ import com.surrus.common.repository.PeopleInSpaceRepository import com.surrus.common.repository.PeopleInSpaceRepositoryInterface import com.surrus.common.repository.platformModule import io.ktor.client.* -import io.ktor.client.features.json.* -import io.ktor.client.features.json.serializer.* -import io.ktor.client.features.logging.* +import io.ktor.client.engine.* +import io.ktor.client.plugins.* +import io.ktor.client.plugins.logging.* +import io.ktor.serialization.kotlinx.json.* import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob @@ -27,7 +28,7 @@ fun initKoin() = initKoin(enableNetworkLogs = false) {} fun commonModule(enableNetworkLogs: Boolean) = module { single { createJson() } - single { createHttpClient(get(), enableNetworkLogs = enableNetworkLogs) } + single { createHttpClient(get(), get(), enableNetworkLogs = enableNetworkLogs) } single { CoroutineScope(Dispatchers.Default + SupervisorJob() ) } @@ -38,9 +39,10 @@ fun commonModule(enableNetworkLogs: Boolean) = module { fun createJson() = Json { isLenient = true; ignoreUnknownKeys = true } -fun createHttpClient(json: Json, enableNetworkLogs: Boolean) = HttpClient { - install(JsonFeature) { - serializer = KotlinxSerializer(json) + +fun createHttpClient(httpClientEngine: HttpClientEngine, json: Json, enableNetworkLogs: Boolean) = HttpClient(httpClientEngine) { + install(ContentNegotiation) { + json() } if (enableNetworkLogs) { install(Logging) { diff --git a/common/src/commonMain/kotlin/com/surrus/common/remote/PeopleInSpaceApi.kt b/common/src/commonMain/kotlin/com/surrus/common/remote/PeopleInSpaceApi.kt index a663216..4007150 100644 --- a/common/src/commonMain/kotlin/com/surrus/common/remote/PeopleInSpaceApi.kt +++ b/common/src/commonMain/kotlin/com/surrus/common/remote/PeopleInSpaceApi.kt @@ -1,6 +1,7 @@ package com.surrus.common.remote import io.ktor.client.* +import io.ktor.client.call.* import io.ktor.client.request.* import kotlinx.serialization.Serializable import org.koin.core.component.KoinComponent @@ -21,6 +22,6 @@ class PeopleInSpaceApi( private val client: HttpClient, var baseUrl: String = "https://people-in-space-proxy.ew.r.appspot.com", ) : KoinComponent { - suspend fun fetchPeople() = client.get("$baseUrl/astros.json") - suspend fun fetchISSPosition() = client.get("$baseUrl/iss-now.json") + suspend fun fetchPeople() = client.get("$baseUrl/astros.json").body() + suspend fun fetchISSPosition() = client.get("$baseUrl/iss-now.json").body() } diff --git a/common/src/iOSMain/kotlin/com/surrus/common/repository/actual.kt b/common/src/iOSMain/kotlin/com/surrus/common/repository/actual.kt index 2a47dd2..00a2ed4 100644 --- a/common/src/iOSMain/kotlin/com/surrus/common/repository/actual.kt +++ b/common/src/iOSMain/kotlin/com/surrus/common/repository/actual.kt @@ -3,11 +3,14 @@ package com.surrus.common.repository import com.squareup.sqldelight.drivers.native.NativeSqliteDriver import com.surrus.common.di.PeopleInSpaceDatabaseWrapper import com.surrus.peopleinspace.db.PeopleInSpaceDatabase +import io.ktor.client.engine.ios.* import org.koin.dsl.module + actual fun platformModule() = module { single { val driver = NativeSqliteDriver(PeopleInSpaceDatabase.Schema, "peopleinspace.db") PeopleInSpaceDatabaseWrapper(PeopleInSpaceDatabase(driver)) } + single { Ios.create() } } diff --git a/common/src/jsMain/kotlin/com/surrus/common/repository/actual.kt b/common/src/jsMain/kotlin/com/surrus/common/repository/actual.kt index 1c3b8f9..9290e1f 100644 --- a/common/src/jsMain/kotlin/com/surrus/common/repository/actual.kt +++ b/common/src/jsMain/kotlin/com/surrus/common/repository/actual.kt @@ -1,10 +1,12 @@ package com.surrus.common.repository import com.surrus.common.di.PeopleInSpaceDatabaseWrapper +import io.ktor.client.engine.js.* import org.koin.dsl.module actual fun platformModule() = module { single { PeopleInSpaceDatabaseWrapper(null) } + single { Js.create() } } diff --git a/common/src/jvmMain/kotlin/com/surrus/common/repository/actual.kt b/common/src/jvmMain/kotlin/com/surrus/common/repository/actual.kt index dc96fe0..fa482b0 100644 --- a/common/src/jvmMain/kotlin/com/surrus/common/repository/actual.kt +++ b/common/src/jvmMain/kotlin/com/surrus/common/repository/actual.kt @@ -3,6 +3,7 @@ package com.surrus.common.repository import com.squareup.sqldelight.sqlite.driver.JdbcSqliteDriver import com.surrus.common.di.PeopleInSpaceDatabaseWrapper import com.surrus.peopleinspace.db.PeopleInSpaceDatabase +import io.ktor.client.engine.java.* import org.koin.dsl.module actual fun platformModule() = module { @@ -11,4 +12,5 @@ actual fun platformModule() = module { .also { PeopleInSpaceDatabase.Schema.create(it) } PeopleInSpaceDatabaseWrapper(PeopleInSpaceDatabase(driver)) } + single { Java.create() } } diff --git a/common/src/macOSMain/kotlin/com/surrus/common/repository/actual.kt b/common/src/macOSMain/kotlin/com/surrus/common/repository/actual.kt index 2a47dd2..06d7271 100644 --- a/common/src/macOSMain/kotlin/com/surrus/common/repository/actual.kt +++ b/common/src/macOSMain/kotlin/com/surrus/common/repository/actual.kt @@ -3,6 +3,7 @@ package com.surrus.common.repository import com.squareup.sqldelight.drivers.native.NativeSqliteDriver import com.surrus.common.di.PeopleInSpaceDatabaseWrapper import com.surrus.peopleinspace.db.PeopleInSpaceDatabase +import io.ktor.client.engine.ios.* import org.koin.dsl.module actual fun platformModule() = module { @@ -10,4 +11,5 @@ actual fun platformModule() = module { val driver = NativeSqliteDriver(PeopleInSpaceDatabase.Schema, "peopleinspace.db") PeopleInSpaceDatabaseWrapper(PeopleInSpaceDatabase(driver)) } + single { Ios.create() } } diff --git a/common/src/watchMain/kotlin/com/surrus/common/repository/actual.kt b/common/src/watchMain/kotlin/com/surrus/common/repository/actual.kt index 2a47dd2..06d7271 100644 --- a/common/src/watchMain/kotlin/com/surrus/common/repository/actual.kt +++ b/common/src/watchMain/kotlin/com/surrus/common/repository/actual.kt @@ -3,6 +3,7 @@ package com.surrus.common.repository import com.squareup.sqldelight.drivers.native.NativeSqliteDriver import com.surrus.common.di.PeopleInSpaceDatabaseWrapper import com.surrus.peopleinspace.db.PeopleInSpaceDatabase +import io.ktor.client.engine.ios.* import org.koin.dsl.module actual fun platformModule() = module { @@ -10,4 +11,5 @@ actual fun platformModule() = module { val driver = NativeSqliteDriver(PeopleInSpaceDatabase.Schema, "peopleinspace.db") PeopleInSpaceDatabaseWrapper(PeopleInSpaceDatabase(driver)) } + single { Ios.create() } } diff --git a/compose-desktop/build.gradle.kts b/compose-desktop/build.gradle.kts index 4200b0c..dd4c5a0 100644 --- a/compose-desktop/build.gradle.kts +++ b/compose-desktop/build.gradle.kts @@ -3,7 +3,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { kotlin("jvm") - id("org.jetbrains.compose") version "1.0.0" + id("org.jetbrains.compose") version "1.0.1-rc2" application } diff --git a/compose-web/build.gradle.kts b/compose-web/build.gradle.kts index 6f4c3ab..2e1e632 100644 --- a/compose-web/build.gradle.kts +++ b/compose-web/build.gradle.kts @@ -1,6 +1,6 @@ plugins { kotlin("multiplatform") - id("org.jetbrains.compose") version "1.0.0" + id("org.jetbrains.compose") version "1.0.1-rc2" } version = "1.0" diff --git a/gradle.properties b/gradle.properties index 728a2ed..8dde12a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -24,7 +24,7 @@ kotlin.code.style=official xcodeproj=./ios/PeopleInSpaceSwiftUI # Kotlin/Native clients can override this through updating common.podspec -kotlinVersion=1.5.31 +kotlinVersion=1.6.10 -#kotlin.native.binary.memoryModel=experimental -#kotlin.native.binary.freezing=disabled +kotlin.native.binary.memoryModel=experimental +kotlin.native.binary.freezing=disabled diff --git a/ios/PeopleInSpaceSwiftUI/PeopleInSpaceSwiftUI.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist b/ios/PeopleInSpaceSwiftUI/PeopleInSpaceSwiftUI.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist index eafdf69..a6d1a11 100644 --- a/ios/PeopleInSpaceSwiftUI/PeopleInSpaceSwiftUI.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/ios/PeopleInSpaceSwiftUI/PeopleInSpaceSwiftUI.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,12 +7,12 @@ PeopleInSpaceSwiftUI.xcscheme_^#shared#^_ orderHint - 5 + 6 PeopleInSpaceWidgetExtension.xcscheme_^#shared#^_ orderHint - 3 + 5 diff --git a/ios/PeopleInSpaceSwiftUI/PeopleInSpaceSwiftUI/ViewModel.swift b/ios/PeopleInSpaceSwiftUI/PeopleInSpaceSwiftUI/ViewModel.swift index b109364..74c8d62 100644 --- a/ios/PeopleInSpaceSwiftUI/PeopleInSpaceSwiftUI/ViewModel.swift +++ b/ios/PeopleInSpaceSwiftUI/PeopleInSpaceSwiftUI/ViewModel.swift @@ -1,41 +1,48 @@ import Foundation import Combine import common -import KMPNativeCoroutinesCombine +import KMPNativeCoroutinesAsync +@MainActor class PeopleInSpaceViewModel: ObservableObject { @Published var people = [Assignment]() @Published var issPosition = IssPosition(latitude: 0, longitude: 0) - private var positionCancellable: AnyCancellable? - private var peopleCancellable: AnyCancellable? + private var fetchPeopleTask: Task<(), Never>? = nil + private var pollISSPositionTask: Task<(), Never>? = nil private let repository: PeopleInSpaceRepository init(repository: PeopleInSpaceRepository) { self.repository = repository - positionCancellable = createPublisher(for: repository.pollISSPositionNative()) - .receive(on: DispatchQueue.main) - .sink(receiveCompletion: { completion in - debugPrint(completion) - }, receiveValue: { [weak self] value in - self?.issPosition = value - }) + pollISSPositionTask = Task { + do { + let stream = asyncStream(for: repository.pollISSPositionNative()) + for try await data in stream { + self.issPosition = data + } + } catch { + print("Failed with error: \(error)") + } + } } func startObservingPeopleUpdates() { - peopleCancellable = createPublisher(for: repository.fetchPeopleAsFlowNative()) - .receive(on: DispatchQueue.main) - .sink(receiveCompletion: { completion in - debugPrint(completion) - }, receiveValue: { [weak self] value in - self?.people = value - }) + fetchPeopleTask = Task { + do { + let stream = asyncStream(for: repository.fetchPeopleAsFlowNative()) + for try await data in stream { + self.people = data + } + } catch { + print("Failed with error: \(error)") + } + } } func stopObservingPeopleUpdates() { - peopleCancellable?.cancel() + fetchPeopleTask?.cancel() } } diff --git a/ios/PeopleInSpaceSwiftUI/PeopleInSpaceWidget/PeopleInSpaceWidget.swift b/ios/PeopleInSpaceSwiftUI/PeopleInSpaceWidget/PeopleInSpaceWidget.swift index a333215..7efffc1 100644 --- a/ios/PeopleInSpaceSwiftUI/PeopleInSpaceWidget/PeopleInSpaceWidget.swift +++ b/ios/PeopleInSpaceSwiftUI/PeopleInSpaceWidget/PeopleInSpaceWidget.swift @@ -2,7 +2,7 @@ import WidgetKit import SwiftUI import Combine import common -import KMPNativeCoroutinesCombine +import KMPNativeCoroutinesAsync final class Provider: TimelineProvider { @@ -24,15 +24,15 @@ final class Provider: TimelineProvider { } func getTimeline(in context: Context, completion: @escaping (Timeline) -> ()) { - timelineCancellable = createFuture(for: repository.fetchPeopleNative()) - .map { data in - let entry = PeopleInSpaceListEntry(date: Date(), peopleList: data) - return Timeline(entries: [entry], policy: .atEnd) - } - .receive(on: DispatchQueue.main) - .sink(receiveCompletion: { completion in - debugPrint(completion) - }, receiveValue: completion) +// timelineCancellable = createFuture(for: repository.fetchPeopleNative()) +// .map { data in +// let entry = PeopleInSpaceListEntry(date: Date(), peopleList: data) +// return Timeline(entries: [entry], policy: .atEnd) +// } +// .receive(on: DispatchQueue.main) +// .sink(receiveCompletion: { completion in +// debugPrint(completion) +// }, receiveValue: completion) } } diff --git a/ios/PeopleInSpaceSwiftUI/Podfile b/ios/PeopleInSpaceSwiftUI/Podfile index ad85758..2f86cf5 100644 --- a/ios/PeopleInSpaceSwiftUI/Podfile +++ b/ios/PeopleInSpaceSwiftUI/Podfile @@ -1,10 +1,10 @@ target 'PeopleInSpaceSwiftUI' do pod 'common', :path => '../../common' - pod 'KMPNativeCoroutinesCombine', '0.9.0' + pod 'KMPNativeCoroutinesAsync', '0.10.0' end target 'PeopleInSpaceWidgetExtension' do pod 'common', :path => '../../common' - pod 'KMPNativeCoroutinesCombine', '0.9.0' + pod 'KMPNativeCoroutinesAsync', '0.10.0' end \ No newline at end of file diff --git a/ios/PeopleInSpaceSwiftUI/Podfile.lock b/ios/PeopleInSpaceSwiftUI/Podfile.lock index b15bbe0..671f884 100644 --- a/ios/PeopleInSpaceSwiftUI/Podfile.lock +++ b/ios/PeopleInSpaceSwiftUI/Podfile.lock @@ -1,16 +1,16 @@ PODS: - common (1.0) - - KMPNativeCoroutinesCombine (0.9.0): - - KMPNativeCoroutinesCore (= 0.9.0) - - KMPNativeCoroutinesCore (0.9.0) + - KMPNativeCoroutinesAsync (0.10.0): + - KMPNativeCoroutinesCore (= 0.10.0) + - KMPNativeCoroutinesCore (0.10.0) DEPENDENCIES: - common (from `../../common`) - - KMPNativeCoroutinesCombine (= 0.9.0) + - KMPNativeCoroutinesAsync (= 0.10.0) SPEC REPOS: trunk: - - KMPNativeCoroutinesCombine + - KMPNativeCoroutinesAsync - KMPNativeCoroutinesCore EXTERNAL SOURCES: @@ -18,10 +18,10 @@ EXTERNAL SOURCES: :path: "../../common" SPEC CHECKSUMS: - common: 7e8d176d3cfcbbb6a4901dbf0bd759685bf4dd86 - KMPNativeCoroutinesCombine: 3a3c39852cf9fcb764b97ac604bd1cfacdd720c7 - KMPNativeCoroutinesCore: a9abca92a371f0c1af62bfb06c94c943ad515114 + common: 6bdd4aad82fe8e27657799269c3615cf5e9cd389 + KMPNativeCoroutinesAsync: 66512d0bf4933d0b160416795284beb8ecf089b8 + KMPNativeCoroutinesCore: 2e2573a75f27178d4cbd7be385f0f0a54416a47a -PODFILE CHECKSUM: e35181d90508d66984e05816593afec34fcc1d9a +PODFILE CHECKSUM: c82371f217f8782254550b881ac2b3b5acdbe1bb -COCOAPODS: 1.9.3 +COCOAPODS: 1.11.2 diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-umbrella.h b/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-umbrella.h new file mode 120000 index 0000000..9dd5e3b --- /dev/null +++ b/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-umbrella.h @@ -0,0 +1 @@ +../../../Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-umbrella.h \ No newline at end of file diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap b/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap new file mode 120000 index 0000000..ecd300c --- /dev/null +++ b/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap @@ -0,0 +1 @@ +../../../Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap \ No newline at end of file diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-umbrella.h b/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-umbrella.h deleted file mode 120000 index 53d6dd5..0000000 --- a/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -../../../Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-umbrella.h \ No newline at end of file diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap b/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap deleted file mode 120000 index 72c76bc..0000000 --- a/ios/PeopleInSpaceSwiftUI/Pods/Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap +++ /dev/null @@ -1 +0,0 @@ -../../../Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap \ No newline at end of file diff --git a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync/AsyncFunction.swift b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync/AsyncFunction.swift new file mode 100644 index 0000000..36aa300 --- /dev/null +++ b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync/AsyncFunction.swift @@ -0,0 +1,69 @@ +// +// AsyncFunction.swift +// KMPNativeCoroutinesAsync +// +// Created by Rick Clephas on 13/06/2021. +// + +import KMPNativeCoroutinesCore + +/// Wraps the `NativeSuspend` in an async function. +/// - Parameter nativeSuspend: The native suspend function to await. +/// - Returns: The result from the `nativeSuspend`. +/// - Throws: Errors thrown by the `nativeSuspend`. +public func asyncFunction(for nativeSuspend: @escaping NativeSuspend) async throws -> Result { + let asyncFunctionActor = AsyncFunctionActor() + return try await withTaskCancellationHandler { + Task { await asyncFunctionActor.cancel() } + } operation: { + try await withUnsafeThrowingContinuation { continuation in + Task { + await asyncFunctionActor.setContinuation(continuation) + let nativeCancellable = nativeSuspend({ output, unit in + Task { await asyncFunctionActor.continueWith(result: output) } + return unit + }, { error, unit in + Task { await asyncFunctionActor.continueWith(error: error) } + return unit + }) + await asyncFunctionActor.setNativeCancellable(nativeCancellable) + } + } + } +} + +internal actor AsyncFunctionActor { + + private var isCancelled = false + private var nativeCancellable: NativeCancellable? = nil + + func setNativeCancellable(_ nativeCancellable: @escaping NativeCancellable) { + guard !isCancelled else { + _ = nativeCancellable() + return + } + self.nativeCancellable = nativeCancellable + } + + func cancel() { + isCancelled = true + _ = nativeCancellable?() + nativeCancellable = nil + } + + private var continuation: UnsafeContinuation? = nil + + func setContinuation(_ continuation: UnsafeContinuation) { + self.continuation = continuation + } + + func continueWith(result: Result) { + continuation?.resume(returning: result) + continuation = nil + } + + func continueWith(error: Error) { + continuation?.resume(throwing: error) + continuation = nil + } +} diff --git a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync/AsyncResult.swift b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync/AsyncResult.swift new file mode 100644 index 0000000..603a8f5 --- /dev/null +++ b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync/AsyncResult.swift @@ -0,0 +1,19 @@ +// +// AsyncResult.swift +// KMPNativeCoroutinesAsync +// +// Created by Rick Clephas on 28/06/2021. +// + +import KMPNativeCoroutinesCore + +/// Awaits the `NativeSuspend` and returns the result. +/// - Parameter nativeSuspend: The native suspend function to await. +/// - Returns: The `Result` from the `nativeSuspend`. +public func asyncResult(for nativeSuspend: @escaping NativeSuspend) async -> Result { + do { + return .success(try await asyncFunction(for: nativeSuspend)) + } catch { + return .failure(error) + } +} diff --git a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync/AsyncStream.swift b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync/AsyncStream.swift new file mode 100644 index 0000000..e89a892 --- /dev/null +++ b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync/AsyncStream.swift @@ -0,0 +1,54 @@ +// +// AsyncStream.swift +// AsyncStream +// +// Created by Rick Clephas on 15/07/2021. +// + +import KMPNativeCoroutinesCore + +/// Wraps the `NativeFlow` in an `AsyncThrowingStream`. +/// - Parameter nativeFlow: The native flow to collect. +/// - Returns: An stream that yields the collected values. +public func asyncStream(for nativeFlow: @escaping NativeFlow) -> AsyncThrowingStream { + let asyncStreamActor = AsyncStreamActor() + return AsyncThrowingStream { continuation in + continuation.onTermination = { @Sendable _ in + Task { await asyncStreamActor.cancel() } + } + Task { + let nativeCancellable = nativeFlow({ item, unit in + continuation.yield(item) + return unit + }, { error, unit in + if let error = error { + continuation.finish(throwing: error) + } else { + continuation.finish(throwing: nil) + } + return unit + }) + await asyncStreamActor.setNativeCancellable(nativeCancellable) + } + } +} + +internal actor AsyncStreamActor { + + private var isCancelled = false + private var nativeCancellable: NativeCancellable? = nil + + func setNativeCancellable(_ nativeCancellable: @escaping NativeCancellable) { + guard !isCancelled else { + _ = nativeCancellable() + return + } + self.nativeCancellable = nativeCancellable + } + + func cancel() { + isCancelled = true + _ = nativeCancellable?() + nativeCancellable = nil + } +} diff --git a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/LICENSE.txt b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/LICENSE.txt similarity index 100% rename from ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/LICENSE.txt rename to ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/LICENSE.txt diff --git a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/README.md b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/README.md similarity index 89% rename from ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/README.md rename to ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/README.md index 67b1e7c..209dff8 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/README.md +++ b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesAsync/README.md @@ -11,37 +11,37 @@ Kotlin suspend functions are exposed to Swift as functions with a completion han This allows you to easily use them from your Swift code, but it doesn't support cancellation. > While Swift 5.5 brings async functions to Swift, it doesn't solve this issue. -> For interoperability with ObjC all function with a completion handler can be called like an async function. +> For interoperability with ObjC all functions with a completion handler can be called like an async function. > This means starting with Swift 5.5 your Kotlin suspend functions will look like Swift async functions. > But that's just syntactic sugar, so there's still no cancellation support. Besides cancellation support, ObjC doesn't support generics on protocols. So all the `Flow` interfaces lose their generic value type which make them hard to use. -This library solves both of these limitations :smile: . +This library solves both of these limitations 😄. ## Compatibility -As of version `0.9.0` the library uses Kotlin version `1.6.0`. +As of version `0.10.0` the library uses Kotlin version `1.6.10`. Compatibility versions for older and early access Kotlin versions are also available: -|Version|Version suffix|Kotlin|Coroutines| -|---|---|:---:|:---:| -|_latest_|-new-mm|1.6.0|1.5.1-new-mm-dev2| -|**_latest_**|**_no suffix_**|**1.6.0**|**1.5.2-native-mt**| -|0.8.0|_no suffix_|1.5.30|1.5.2-native-mt| -|0.8.0|-kotlin-1.5.20|1.5.20|1.5.0-native-mt| +| Version | Version suffix | Kotlin | Coroutines | +|--------------|-----------------|:----------:|:-------------------:| +| _latest_ | -new-mm | 1.6.10 | 1.6.0-RC3 | +| **_latest_** | **_no suffix_** | **1.6.10** | **1.5.2-native-mt** | +| _latest_ | -kotlin-1.6.0 | 1.6.0 | 1.5.2-native-mt | +| 0.9.0 | -new-mm-3 | 1.6.0 | 1.6.0-RC2 | +| 0.8.0 | _no suffix_ | 1.5.30 | 1.5.2-native-mt | +| 0.8.0 | -kotlin-1.5.20 | 1.5.20 | 1.5.0-native-mt | You can choose from a couple of Swift implementations. Depending on the implementation you can support as low as iOS 9, macOS 10.9, tvOS 9 and watchOS 3: -|Implementation|Swift|iOS|macOS|tvOS|watchOS| -|---|:---:|:---:|:---:|:---:|:---:| -|RxSwift|5.0|9.0|10.9|9.0|3.0| -|Combine|5.0|13.0|10.15|13.0|6.0| -|Async :construction:|5.5|13.0|10.15|13.0|6.0| - -> :construction: : the Async implementation requires Xcode 13.2 which is currently in beta! +| Implementation | Swift | iOS | macOS | tvOS | watchOS | +|----------------|:-----:|:----:|:-----:|:----:|:-------:| +| Async | 5.5 | 13.0 | 10.15 | 13.0 | 6.0 | +| Combine | 5.0 | 13.0 | 10.15 | 13.0 | 6.0 | +| RxSwift | 5.0 | 9.0 | 10.9 | 9.0 | 3.0 | ## Installation @@ -62,23 +62,9 @@ plugins { } ``` -### Swift (CocoaPods) - -Now for Swift you can choose from a couple of implementations. -Add one or more of the following libraries to your `Podfile`: -```ruby -pod 'KMPNativeCoroutinesCombine' # Combine implementation -pod 'KMPNativeCoroutinesRxSwift' # RxSwift implementation -pod 'KMPNativeCoroutinesAsync' # Swift 5.5 Async/Await implementation -``` - ### Swift (Swift Package Manager) -All Swift implementations are also available via the Swift Package Manager. - -> **NOTE:** `KMPNativeCoroutinesAsync` requires Xcode 13.2 which is currently in beta. -> To add the async implementation you should add the `-swift-async-await` suffix to the version. - +All Swift implementations are also available via the Swift Package Manager. Just add it to your `Package.swift` file: ```swift dependencies: [ @@ -86,9 +72,19 @@ dependencies: [ ] ``` -Or add it in Xcode by going to `File` > `Add Packages...` and providing the URL: +Or add it in Xcode by going to `File` > `Add Packages...` and providing the URL: `https://github.com/rickclephas/KMP-NativeCoroutines.git`. +### Swift (CocoaPods) + +Now for Swift you can choose from a couple of implementations. +Add one or more of the following libraries to your `Podfile`: +```ruby +pod 'KMPNativeCoroutinesAsync' # Swift 5.5 Async/Await implementation +pod 'KMPNativeCoroutinesCombine' # Combine implementation +pod 'KMPNativeCoroutinesRxSwift' # RxSwift implementation +``` + ## Usage Using your Kotlin Coroutines code from Swift is almost as easy as calling the Kotlin code. @@ -96,7 +92,7 @@ Just use the wrapper functions in Swift to get Observables, Publishers, AsyncStr ### Kotlin -The plugin will automagically generate the necessary code for you! :crystal_ball: +The plugin will automagically generate the necessary code for you! 🔮 Your `Flow` properties/functions get a `Native` version: ```kotlin @@ -123,7 +119,6 @@ val timeNativeReplayCache The plugin also generates `Native` versions for all your suspend functions: ```kotlin - class RandomLettersGenerator { // Somewhere in your Kotlin code you define a suspend function suspend fun getRandomLetters(): String { @@ -178,6 +173,94 @@ val ignoredFlowProperty: Flow suspend fun ignoredSuspendFunction() { } ``` +### Swift 5.5 Async/Await + +The Async implementation provides some functions to get async Swift functions and `AsyncStream`s. + +Use the `asyncFunction(for:)` function to get an async function that can be awaited: +```swift +let handle = Task { + do { + let letters = try await asyncFunction(for: randomLettersGenerator.getRandomLettersNative()) + print("Got random letters: \(letters)") + } catch { + print("Failed with error: \(error)") + } +} + +// To cancel the suspend function just cancel the async task +handle.cancel() +``` + +or if you don't like these do-catches you can use the `asyncResult(for:)` function: +```swift +let result = await asyncResult(for: randomLettersGenerator.getRandomLettersNative()) +if case let .success(letters) = result { + print("Got random letters: \(letters)") +} +``` + +For `Flow`s there is the `asyncStream(for:)` function to get an `AsyncStream`: +```swift +let handle = Task { + do { + let stream = asyncStream(for: randomLettersGenerator.getRandomLettersFlowNative()) + for try await letters in stream { + print("Got random letters: \(letters)") + } + } catch { + print("Failed with error: \(error)") + } +} + +// To cancel the flow (collection) just cancel the async task +handle.cancel() +``` + +### Combine + +The Combine implementation provides a couple functions to get an `AnyPublisher` for your Coroutines code. + +For your `Flow`s use the `createPublisher(for:)` function: +```swift +// Create an AnyPublisher for your flow +let publisher = createPublisher(for: clock.timeNative) + +// Now use this publisher as you would any other +let cancellable = publisher.sink { completion in + print("Received completion: \(completion)") +} receiveValue: { value in + print("Received value: \(value)") +} + +// To cancel the flow (collection) just cancel the publisher +cancellable.cancel() +``` + +For the suspend functions you should use the `createFuture(for:)` function: +```swift +// Create a Future/AnyPublisher for the suspend function +let future = createFuture(for: randomLettersGenerator.getRandomLettersNative()) + +// Now use this future as you would any other +let cancellable = future.sink { completion in + print("Received completion: \(completion)") +} receiveValue: { value in + print("Received value: \(value)") +} + +// To cancel the suspend function just cancel the future +cancellable.cancel() +``` + +You can also use the `createPublisher(for:)` function for suspend functions that return a `Flow`: +```swift +let publisher = createPublisher(for: randomLettersGenerator.getRandomLettersFlowNative()) +``` + +**Note:** these functions create deferred `AnyPublisher`s. +Meaning every subscription will trigger the collection of the `Flow` or execution of the suspend function. + ### RxSwift The RxSwift implementation provides a couple functions to get an `Observable` or `Single` for your Coroutines code. @@ -227,93 +310,3 @@ let observable = createObservable(for: randomLettersGenerator.getRandomLettersFl **Note:** these functions create deferred `Observable`s and `Single`s. Meaning every subscription will trigger the collection of the `Flow` or execution of the suspend function. - -### Combine - -The Combine implementation provides a couple functions to get an `AnyPublisher` for your Coroutines code. - -For your `Flow`s use the `createPublisher(for:)` function: -```swift -// Create an AnyPublisher for your flow -let publisher = createPublisher(for: clock.timeNative) - -// Now use this publisher as you would any other -let cancellable = publisher.sink { completion in - print("Received completion: \(completion)") -} receiveValue: { value in - print("Received value: \(value)") -} - -// To cancel the flow (collection) just cancel the publisher -cancellable.cancel() -``` - -For the suspend functions you should use the `createFuture(for:)` function: -```swift -// Create a Future/AnyPublisher for the suspend function -let future = createFuture(for: randomLettersGenerator.getRandomLettersNative()) - -// Now use this future as you would any other -let cancellable = future.sink { completion in - print("Received completion: \(completion)") -} receiveValue: { value in - print("Received value: \(value)") -} - -// To cancel the suspend function just cancel the future -cancellable.cancel() -``` - -You can also use the `createPublisher(for:)` function for suspend functions that return a `Flow`: -```swift -let publisher = createPublisher(for: randomLettersGenerator.getRandomLettersFlowNative()) -``` - -**Note:** these functions create deferred `AnyPublisher`s. -Meaning every subscription will trigger the collection of the `Flow` or execution of the suspend function. - -### Swift 5.5 Async/Await - -> :construction: : the Async implementation requires Xcode 13.2 which is currently in beta! - -The Async implementation provides some functions to get async Swift functions and `AsyncStream`s. - -Use the `asyncFunction(for:)` function to get an async function that can be awaited: -```swift -let handle = Task { - do { - let letters = try await asyncFunction(for: randomLettersGenerator.getRandomLettersNative()) - print("Got random letters: \(letters)") - } catch { - print("Failed with error: \(error)") - } -} - -// To cancel the suspend function just cancel the async task -handle.cancel() -``` - -or if you don't like these do-catches you can use the `asyncResult(for:)` function: -```swift -let result = await asyncResult(for: randomLettersGenerator.getRandomLettersNative()) -if case let .success(letters) = result { - print("Got random letters: \(letters)") -} -``` - -For `Flow`s there is the `asyncStream(for:)` function to get an `AsyncStream`: -```swift -let handle = Task { - do { - let stream = asyncStream(for: randomLettersGenerator.getRandomLettersFlowNative()) - for try await letters in stream { - print("Got random letters: \(letters)") - } - } catch { - print("Failed with error: \(error)") - } -} - -// To cancel the flow (collection) just cancel the async task -handle.cancel() -``` \ No newline at end of file diff --git a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine/Future.swift b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine/Future.swift deleted file mode 100644 index 9adf231..0000000 --- a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine/Future.swift +++ /dev/null @@ -1,60 +0,0 @@ -// -// Future.swift -// KMPNativeCoroutinesCombine -// -// Created by Rick Clephas on 06/06/2021. -// - -import Combine -import KMPNativeCoroutinesCore - -/// Creates an `AnyPublisher` for the provided `NativeSuspend`. -/// - Parameter nativeSuspend: The native suspend function to await. -/// - Returns: A publisher that either finishes with a single value or fails with an error. -public func createFuture( - for nativeSuspend: @escaping NativeSuspend -) -> AnyPublisher { - return NativeSuspendFuture(nativeSuspend: nativeSuspend) - .eraseToAnyPublisher() -} - -internal struct NativeSuspendFuture: Publisher { - - typealias Output = Result - typealias Failure = Failure - - let nativeSuspend: NativeSuspend - - func receive(subscriber: S) where S : Subscriber, Failure == S.Failure, Result == S.Input { - let subscription = NativeSuspendSubscription(nativeSuspend: nativeSuspend, subscriber: subscriber) - subscriber.receive(subscription: subscription) - } -} - -internal class NativeSuspendSubscription: Subscription where S.Input == Result, S.Failure == Failure { - - private var nativeCancellable: NativeCancellable? = nil - private var subscriber: S? - - init(nativeSuspend: NativeSuspend, subscriber: S) { - self.subscriber = subscriber - nativeCancellable = nativeSuspend({ output, unit in - if let subscriber = self.subscriber { - _ = subscriber.receive(output) - subscriber.receive(completion: .finished) - } - return unit - }, { error, unit in - self.subscriber?.receive(completion: .failure(error)) - return unit - }) - } - - func request(_ demand: Subscribers.Demand) { } - - func cancel() { - subscriber = nil - _ = nativeCancellable?() - nativeCancellable = nil - } -} diff --git a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine/FuturePublisher.swift b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine/FuturePublisher.swift deleted file mode 100644 index 3d04f39..0000000 --- a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine/FuturePublisher.swift +++ /dev/null @@ -1,20 +0,0 @@ -// -// FuturePublisher.swift -// KMPNativeCoroutinesCombine -// -// Created by Rick Clephas on 28/06/2021. -// - -import Combine -import KMPNativeCoroutinesCore - -/// Creates an `AnyPublisher` for the provided `NativeSuspend` that returns a `NativeFlow`. -/// - Parameter nativeSuspend: The native suspend function to await. -/// - Returns: A publisher that publishes the collected values. -public func createPublisher( - for nativeSuspend: @escaping NativeSuspend, Failure, Unit> -) -> AnyPublisher { - return createFuture(for: nativeSuspend) - .flatMap { createPublisher(for: $0) } - .eraseToAnyPublisher() -} diff --git a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine/Publisher.swift b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine/Publisher.swift deleted file mode 100644 index d590f1b..0000000 --- a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine/Publisher.swift +++ /dev/null @@ -1,61 +0,0 @@ -// -// Publisher.swift -// KMPNativeCoroutinesCombine -// -// Created by Rick Clephas on 06/06/2021. -// - -import Combine -import KMPNativeCoroutinesCore - -/// Creates an `AnyPublisher` for the provided `NativeFlow`. -/// - Parameter nativeFlow: The native flow to collect. -/// - Returns: A publisher that publishes the collected values. -public func createPublisher( - for nativeFlow: @escaping NativeFlow -) -> AnyPublisher { - return NativeFlowPublisher(nativeFlow: nativeFlow) - .eraseToAnyPublisher() -} - -internal struct NativeFlowPublisher: Publisher { - - typealias Output = Output - typealias Failure = Failure - - let nativeFlow: NativeFlow - - func receive(subscriber: S) where S : Subscriber, Failure == S.Failure, Output == S.Input { - let subscription = NativeFlowSubscription(nativeFlow: nativeFlow, subscriber: subscriber) - subscriber.receive(subscription: subscription) - } -} - -internal class NativeFlowSubscription: Subscription where S.Input == Output, S.Failure == Failure { - - private var nativeCancellable: NativeCancellable? = nil - private var subscriber: S? - - init(nativeFlow: NativeFlow, subscriber: S) { - self.subscriber = subscriber - nativeCancellable = nativeFlow({ item, unit in - _ = self.subscriber?.receive(item) - return unit - }, { error, unit in - if let error = error { - self.subscriber?.receive(completion: .failure(error)) - } else { - self.subscriber?.receive(completion: .finished) - } - return unit - }) - } - - func request(_ demand: Subscribers.Demand) { } - - func cancel() { - subscriber = nil - _ = nativeCancellable?() - nativeCancellable = nil - } -} diff --git a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCore/README.md b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCore/README.md index 67b1e7c..209dff8 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCore/README.md +++ b/ios/PeopleInSpaceSwiftUI/Pods/KMPNativeCoroutinesCore/README.md @@ -11,37 +11,37 @@ Kotlin suspend functions are exposed to Swift as functions with a completion han This allows you to easily use them from your Swift code, but it doesn't support cancellation. > While Swift 5.5 brings async functions to Swift, it doesn't solve this issue. -> For interoperability with ObjC all function with a completion handler can be called like an async function. +> For interoperability with ObjC all functions with a completion handler can be called like an async function. > This means starting with Swift 5.5 your Kotlin suspend functions will look like Swift async functions. > But that's just syntactic sugar, so there's still no cancellation support. Besides cancellation support, ObjC doesn't support generics on protocols. So all the `Flow` interfaces lose their generic value type which make them hard to use. -This library solves both of these limitations :smile: . +This library solves both of these limitations 😄. ## Compatibility -As of version `0.9.0` the library uses Kotlin version `1.6.0`. +As of version `0.10.0` the library uses Kotlin version `1.6.10`. Compatibility versions for older and early access Kotlin versions are also available: -|Version|Version suffix|Kotlin|Coroutines| -|---|---|:---:|:---:| -|_latest_|-new-mm|1.6.0|1.5.1-new-mm-dev2| -|**_latest_**|**_no suffix_**|**1.6.0**|**1.5.2-native-mt**| -|0.8.0|_no suffix_|1.5.30|1.5.2-native-mt| -|0.8.0|-kotlin-1.5.20|1.5.20|1.5.0-native-mt| +| Version | Version suffix | Kotlin | Coroutines | +|--------------|-----------------|:----------:|:-------------------:| +| _latest_ | -new-mm | 1.6.10 | 1.6.0-RC3 | +| **_latest_** | **_no suffix_** | **1.6.10** | **1.5.2-native-mt** | +| _latest_ | -kotlin-1.6.0 | 1.6.0 | 1.5.2-native-mt | +| 0.9.0 | -new-mm-3 | 1.6.0 | 1.6.0-RC2 | +| 0.8.0 | _no suffix_ | 1.5.30 | 1.5.2-native-mt | +| 0.8.0 | -kotlin-1.5.20 | 1.5.20 | 1.5.0-native-mt | You can choose from a couple of Swift implementations. Depending on the implementation you can support as low as iOS 9, macOS 10.9, tvOS 9 and watchOS 3: -|Implementation|Swift|iOS|macOS|tvOS|watchOS| -|---|:---:|:---:|:---:|:---:|:---:| -|RxSwift|5.0|9.0|10.9|9.0|3.0| -|Combine|5.0|13.0|10.15|13.0|6.0| -|Async :construction:|5.5|13.0|10.15|13.0|6.0| - -> :construction: : the Async implementation requires Xcode 13.2 which is currently in beta! +| Implementation | Swift | iOS | macOS | tvOS | watchOS | +|----------------|:-----:|:----:|:-----:|:----:|:-------:| +| Async | 5.5 | 13.0 | 10.15 | 13.0 | 6.0 | +| Combine | 5.0 | 13.0 | 10.15 | 13.0 | 6.0 | +| RxSwift | 5.0 | 9.0 | 10.9 | 9.0 | 3.0 | ## Installation @@ -62,23 +62,9 @@ plugins { } ``` -### Swift (CocoaPods) - -Now for Swift you can choose from a couple of implementations. -Add one or more of the following libraries to your `Podfile`: -```ruby -pod 'KMPNativeCoroutinesCombine' # Combine implementation -pod 'KMPNativeCoroutinesRxSwift' # RxSwift implementation -pod 'KMPNativeCoroutinesAsync' # Swift 5.5 Async/Await implementation -``` - ### Swift (Swift Package Manager) -All Swift implementations are also available via the Swift Package Manager. - -> **NOTE:** `KMPNativeCoroutinesAsync` requires Xcode 13.2 which is currently in beta. -> To add the async implementation you should add the `-swift-async-await` suffix to the version. - +All Swift implementations are also available via the Swift Package Manager. Just add it to your `Package.swift` file: ```swift dependencies: [ @@ -86,9 +72,19 @@ dependencies: [ ] ``` -Or add it in Xcode by going to `File` > `Add Packages...` and providing the URL: +Or add it in Xcode by going to `File` > `Add Packages...` and providing the URL: `https://github.com/rickclephas/KMP-NativeCoroutines.git`. +### Swift (CocoaPods) + +Now for Swift you can choose from a couple of implementations. +Add one or more of the following libraries to your `Podfile`: +```ruby +pod 'KMPNativeCoroutinesAsync' # Swift 5.5 Async/Await implementation +pod 'KMPNativeCoroutinesCombine' # Combine implementation +pod 'KMPNativeCoroutinesRxSwift' # RxSwift implementation +``` + ## Usage Using your Kotlin Coroutines code from Swift is almost as easy as calling the Kotlin code. @@ -96,7 +92,7 @@ Just use the wrapper functions in Swift to get Observables, Publishers, AsyncStr ### Kotlin -The plugin will automagically generate the necessary code for you! :crystal_ball: +The plugin will automagically generate the necessary code for you! 🔮 Your `Flow` properties/functions get a `Native` version: ```kotlin @@ -123,7 +119,6 @@ val timeNativeReplayCache The plugin also generates `Native` versions for all your suspend functions: ```kotlin - class RandomLettersGenerator { // Somewhere in your Kotlin code you define a suspend function suspend fun getRandomLetters(): String { @@ -178,6 +173,94 @@ val ignoredFlowProperty: Flow suspend fun ignoredSuspendFunction() { } ``` +### Swift 5.5 Async/Await + +The Async implementation provides some functions to get async Swift functions and `AsyncStream`s. + +Use the `asyncFunction(for:)` function to get an async function that can be awaited: +```swift +let handle = Task { + do { + let letters = try await asyncFunction(for: randomLettersGenerator.getRandomLettersNative()) + print("Got random letters: \(letters)") + } catch { + print("Failed with error: \(error)") + } +} + +// To cancel the suspend function just cancel the async task +handle.cancel() +``` + +or if you don't like these do-catches you can use the `asyncResult(for:)` function: +```swift +let result = await asyncResult(for: randomLettersGenerator.getRandomLettersNative()) +if case let .success(letters) = result { + print("Got random letters: \(letters)") +} +``` + +For `Flow`s there is the `asyncStream(for:)` function to get an `AsyncStream`: +```swift +let handle = Task { + do { + let stream = asyncStream(for: randomLettersGenerator.getRandomLettersFlowNative()) + for try await letters in stream { + print("Got random letters: \(letters)") + } + } catch { + print("Failed with error: \(error)") + } +} + +// To cancel the flow (collection) just cancel the async task +handle.cancel() +``` + +### Combine + +The Combine implementation provides a couple functions to get an `AnyPublisher` for your Coroutines code. + +For your `Flow`s use the `createPublisher(for:)` function: +```swift +// Create an AnyPublisher for your flow +let publisher = createPublisher(for: clock.timeNative) + +// Now use this publisher as you would any other +let cancellable = publisher.sink { completion in + print("Received completion: \(completion)") +} receiveValue: { value in + print("Received value: \(value)") +} + +// To cancel the flow (collection) just cancel the publisher +cancellable.cancel() +``` + +For the suspend functions you should use the `createFuture(for:)` function: +```swift +// Create a Future/AnyPublisher for the suspend function +let future = createFuture(for: randomLettersGenerator.getRandomLettersNative()) + +// Now use this future as you would any other +let cancellable = future.sink { completion in + print("Received completion: \(completion)") +} receiveValue: { value in + print("Received value: \(value)") +} + +// To cancel the suspend function just cancel the future +cancellable.cancel() +``` + +You can also use the `createPublisher(for:)` function for suspend functions that return a `Flow`: +```swift +let publisher = createPublisher(for: randomLettersGenerator.getRandomLettersFlowNative()) +``` + +**Note:** these functions create deferred `AnyPublisher`s. +Meaning every subscription will trigger the collection of the `Flow` or execution of the suspend function. + ### RxSwift The RxSwift implementation provides a couple functions to get an `Observable` or `Single` for your Coroutines code. @@ -227,93 +310,3 @@ let observable = createObservable(for: randomLettersGenerator.getRandomLettersFl **Note:** these functions create deferred `Observable`s and `Single`s. Meaning every subscription will trigger the collection of the `Flow` or execution of the suspend function. - -### Combine - -The Combine implementation provides a couple functions to get an `AnyPublisher` for your Coroutines code. - -For your `Flow`s use the `createPublisher(for:)` function: -```swift -// Create an AnyPublisher for your flow -let publisher = createPublisher(for: clock.timeNative) - -// Now use this publisher as you would any other -let cancellable = publisher.sink { completion in - print("Received completion: \(completion)") -} receiveValue: { value in - print("Received value: \(value)") -} - -// To cancel the flow (collection) just cancel the publisher -cancellable.cancel() -``` - -For the suspend functions you should use the `createFuture(for:)` function: -```swift -// Create a Future/AnyPublisher for the suspend function -let future = createFuture(for: randomLettersGenerator.getRandomLettersNative()) - -// Now use this future as you would any other -let cancellable = future.sink { completion in - print("Received completion: \(completion)") -} receiveValue: { value in - print("Received value: \(value)") -} - -// To cancel the suspend function just cancel the future -cancellable.cancel() -``` - -You can also use the `createPublisher(for:)` function for suspend functions that return a `Flow`: -```swift -let publisher = createPublisher(for: randomLettersGenerator.getRandomLettersFlowNative()) -``` - -**Note:** these functions create deferred `AnyPublisher`s. -Meaning every subscription will trigger the collection of the `Flow` or execution of the suspend function. - -### Swift 5.5 Async/Await - -> :construction: : the Async implementation requires Xcode 13.2 which is currently in beta! - -The Async implementation provides some functions to get async Swift functions and `AsyncStream`s. - -Use the `asyncFunction(for:)` function to get an async function that can be awaited: -```swift -let handle = Task { - do { - let letters = try await asyncFunction(for: randomLettersGenerator.getRandomLettersNative()) - print("Got random letters: \(letters)") - } catch { - print("Failed with error: \(error)") - } -} - -// To cancel the suspend function just cancel the async task -handle.cancel() -``` - -or if you don't like these do-catches you can use the `asyncResult(for:)` function: -```swift -let result = await asyncResult(for: randomLettersGenerator.getRandomLettersNative()) -if case let .success(letters) = result { - print("Got random letters: \(letters)") -} -``` - -For `Flow`s there is the `asyncStream(for:)` function to get an `AsyncStream`: -```swift -let handle = Task { - do { - let stream = asyncStream(for: randomLettersGenerator.getRandomLettersFlowNative()) - for try await letters in stream { - print("Got random letters: \(letters)") - } - } catch { - print("Failed with error: \(error)") - } -} - -// To cancel the flow (collection) just cancel the async task -handle.cancel() -``` \ No newline at end of file diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Local Podspecs/common.podspec.json b/ios/PeopleInSpaceSwiftUI/Pods/Local Podspecs/common.podspec.json index fa711d3..0179668 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Local Podspecs/common.podspec.json +++ b/ios/PeopleInSpaceSwiftUI/Pods/Local Podspecs/common.podspec.json @@ -21,7 +21,7 @@ "name": "Build common", "execution_position": "before_compile", "shell_path": "/bin/sh", - "script": " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -PkotlinVersion=\"1.6.0\" -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=$CONFIGURATION -Pkotlin.native.cocoapods.cflags=\"$OTHER_CFLAGS\" -Pkotlin.native.cocoapods.paths.headers=\"$HEADER_SEARCH_PATHS\" -Pkotlin.native.cocoapods.paths.frameworks=\"$FRAMEWORK_SEARCH_PATHS\"\n" + "script": " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -PkotlinVersion=\"1.6.10\" -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=$CONFIGURATION -Pkotlin.native.cocoapods.cflags=\"$OTHER_CFLAGS\" -Pkotlin.native.cocoapods.paths.headers=\"$HEADER_SEARCH_PATHS\" -Pkotlin.native.cocoapods.paths.frameworks=\"$FRAMEWORK_SEARCH_PATHS\"\n" } ], "platforms": { diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Manifest.lock b/ios/PeopleInSpaceSwiftUI/Pods/Manifest.lock index b15bbe0..671f884 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Manifest.lock +++ b/ios/PeopleInSpaceSwiftUI/Pods/Manifest.lock @@ -1,16 +1,16 @@ PODS: - common (1.0) - - KMPNativeCoroutinesCombine (0.9.0): - - KMPNativeCoroutinesCore (= 0.9.0) - - KMPNativeCoroutinesCore (0.9.0) + - KMPNativeCoroutinesAsync (0.10.0): + - KMPNativeCoroutinesCore (= 0.10.0) + - KMPNativeCoroutinesCore (0.10.0) DEPENDENCIES: - common (from `../../common`) - - KMPNativeCoroutinesCombine (= 0.9.0) + - KMPNativeCoroutinesAsync (= 0.10.0) SPEC REPOS: trunk: - - KMPNativeCoroutinesCombine + - KMPNativeCoroutinesAsync - KMPNativeCoroutinesCore EXTERNAL SOURCES: @@ -18,10 +18,10 @@ EXTERNAL SOURCES: :path: "../../common" SPEC CHECKSUMS: - common: 7e8d176d3cfcbbb6a4901dbf0bd759685bf4dd86 - KMPNativeCoroutinesCombine: 3a3c39852cf9fcb764b97ac604bd1cfacdd720c7 - KMPNativeCoroutinesCore: a9abca92a371f0c1af62bfb06c94c943ad515114 + common: 6bdd4aad82fe8e27657799269c3615cf5e9cd389 + KMPNativeCoroutinesAsync: 66512d0bf4933d0b160416795284beb8ecf089b8 + KMPNativeCoroutinesCore: 2e2573a75f27178d4cbd7be385f0f0a54416a47a -PODFILE CHECKSUM: e35181d90508d66984e05816593afec34fcc1d9a +PODFILE CHECKSUM: c82371f217f8782254550b881ac2b3b5acdbe1bb -COCOAPODS: 1.9.3 +COCOAPODS: 1.11.2 diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Pods.xcodeproj/project.pbxproj b/ios/PeopleInSpaceSwiftUI/Pods/Pods.xcodeproj/project.pbxproj index b8c6e33..74e394e 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Pods.xcodeproj/project.pbxproj +++ b/ios/PeopleInSpaceSwiftUI/Pods/Pods.xcodeproj/project.pbxproj @@ -9,9 +9,9 @@ /* Begin PBXAggregateTarget section */ 8217FBB9D1218C346C0781D0B8F2BBE8 /* common */ = { isa = PBXAggregateTarget; - buildConfigurationList = A97A16D91F283D931DA2309A62BC3EC8 /* Build configuration list for PBXAggregateTarget "common" */; + buildConfigurationList = 759E2DCC614B156B3AE710A2243FFC35 /* Build configuration list for PBXAggregateTarget "common" */; buildPhases = ( - C43A969A987189903C09DE6500DD8764 /* [CP-User] Build common */, + 7E1F49D6D5B5AD5D810466E76CD1C2EB /* [CP-User] Build common */, ); dependencies = ( ); @@ -20,143 +20,143 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 3736EF6166F11F146BF0224EF85DCD33 /* Publisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73149DE97EFF466A1568E5444D7CD0D8 /* Publisher.swift */; }; - 4D058353F02CB5ADCD8D002099B1DF7A /* KMPNativeCoroutinesCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A0C62779E9F25B9D466FEC7CC23B1D67 /* KMPNativeCoroutinesCore-dummy.m */; }; - 4DC8F1E3DC92D51E273BCEBF689FBE81 /* NativeFlow.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE05ED93C5134B9D56393B182882436A /* NativeFlow.swift */; }; - 58F06B833C645497722BEA216FA947EE /* Pods-PeopleInSpaceSwiftUI-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F22D1097D8C3921FDA902C0CAA4D044A /* Pods-PeopleInSpaceSwiftUI-dummy.m */; }; - 67CD9BF971445F04D19C8A3F0E694D03 /* NativeSuspend.swift in Sources */ = {isa = PBXBuildFile; fileRef = 611593A13CAA4F1FA1570FF3916625D0 /* NativeSuspend.swift */; }; - 7E6C22677B35403CD19CD97CF5C9C55B /* NativeCancellable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75183D40F3E75DC5F1D0B0B070D5B04F /* NativeCancellable.swift */; }; - 81017431C9331986689A0A08AFA75E2B /* FuturePublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = F860A0723C9C947E65E02533615A6529 /* FuturePublisher.swift */; }; - 81EB6E2321F2E694979FA3364D6BE133 /* Pods-PeopleInSpaceWidgetExtension-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DABD1E2880CD4D5444351F9C673AA9B /* Pods-PeopleInSpaceWidgetExtension-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8AD216478639C6A89F4A5681F0167FC2 /* NativeCallback.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44756A68E369D299A81D14A655157263 /* NativeCallback.swift */; }; - 8D0E6098B01698214F7E7A70D560E61E /* Pods-PeopleInSpaceWidgetExtension-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 19A46FAB5AFEB9988DA6D51626B47D04 /* Pods-PeopleInSpaceWidgetExtension-dummy.m */; }; - AD6E8E9276C772339C578AF8B668AA82 /* KMPNativeCoroutinesCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B276657920D376EF3A9EBCE35D0D8F1E /* KMPNativeCoroutinesCore-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BA5CB03EB636E2CAB97BF33EC29BE249 /* KMPNativeCoroutinesCombine-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 56730A2BB8C6B21DC3C1DE2D1D464E68 /* KMPNativeCoroutinesCombine-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D31C379CD5982D9CCA4E000BD689E8C7 /* Pods-PeopleInSpaceSwiftUI-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FE2117618A8AE7D9B16AF6C7501ED9CA /* Pods-PeopleInSpaceSwiftUI-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D449674759C5FEEC3D6CC8EB235862CA /* KMPNativeCoroutinesCombine-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 36CC12E1AB4CF26105A57551B45F158C /* KMPNativeCoroutinesCombine-dummy.m */; }; - F665CC033BA40B1DD8175B0419E51CAF /* Future.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ACDC0A0AEEA49523A259A9D243C3EF5 /* Future.swift */; }; + 151D983118A61DA58A6EE0BE5DF0A6FC /* NativeCallback.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3736CCAE531106B24BF896B4BAFE91A6 /* NativeCallback.swift */; }; + 1FA426B9BAD763BF419988493D0C9674 /* KMPNativeCoroutinesAsync-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0808FC749BDC333ECB0CBBCC6AEF9C31 /* KMPNativeCoroutinesAsync-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 21148768FB51672933F062711A68F4C6 /* NativeSuspend.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD32D879CE7C7908891395C95554C183 /* NativeSuspend.swift */; }; + 302FEA1E0DEEE6C6773880C64EA35530 /* NativeCancellable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26209B75A6DCB5B933C29FAF13C952D8 /* NativeCancellable.swift */; }; + 513DC683615B8AA39F13962096D3A181 /* AsyncResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA4C548D9ECAC97B922000C033D986E7 /* AsyncResult.swift */; }; + 5FAF325080DCFE4A9BED49346C36513F /* Pods-PeopleInSpaceSwiftUI-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F22D1097D8C3921FDA902C0CAA4D044A /* Pods-PeopleInSpaceSwiftUI-dummy.m */; }; + 71A73C674C689B86308EB9FC79BDCBB5 /* KMPNativeCoroutinesAsync-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2153AB5840A8A16456EA57B1E9322943 /* KMPNativeCoroutinesAsync-dummy.m */; }; + 8EFF3FAB7469A1BC39D309CF21FB09FE /* NativeFlow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53887243C188630B31E6AFF5E8B1F9DF /* NativeFlow.swift */; }; + ADBC7397FA7B70EF70C9ED917BCD954F /* AsyncStream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 514A9E9922960CC92674D991833334B5 /* AsyncStream.swift */; }; + AF60A0468AC137EC9BC06BD42AA486D0 /* AsyncFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB8602FDD79D54A527C1C71BA5B96143 /* AsyncFunction.swift */; }; + B4F6ABA1E413FE126CF07AA2613C9D1E /* Pods-PeopleInSpaceWidgetExtension-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 19A46FAB5AFEB9988DA6D51626B47D04 /* Pods-PeopleInSpaceWidgetExtension-dummy.m */; }; + C4C573A1CBE18ED8FD80A0986FF7A781 /* Pods-PeopleInSpaceSwiftUI-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FE2117618A8AE7D9B16AF6C7501ED9CA /* Pods-PeopleInSpaceSwiftUI-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CF73F0E255330422D2DF9F13C29AB5D9 /* KMPNativeCoroutinesCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B8BABB8576340DAE590635B5E5B379B0 /* KMPNativeCoroutinesCore-dummy.m */; }; + D3D4835B1191371CE735583F41E5831C /* Pods-PeopleInSpaceWidgetExtension-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DABD1E2880CD4D5444351F9C673AA9B /* Pods-PeopleInSpaceWidgetExtension-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EFE6DBBB0DDF4F9A6431783FC83AEBF8 /* KMPNativeCoroutinesCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BF752D8A3C32D99BC39B1CA9EB0C0148 /* KMPNativeCoroutinesCore-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 193B7FA3078BD48D32C05D496CC74A08 /* PBXContainerItemProxy */ = { + 2C77B455AC54948CA89F9BAC95C2D6F2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F91BAFE2F1386309176711630BA5305A; + remoteInfo = KMPNativeCoroutinesAsync; + }; + 4BDCCB0D72ECAA07212B68407BF1C09F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F91BAFE2F1386309176711630BA5305A; + remoteInfo = KMPNativeCoroutinesAsync; + }; + 4F1BE889A913E1DA0F9FC3E5F27C8BF5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 8217FBB9D1218C346C0781D0B8F2BBE8; remoteInfo = common; }; - 6965C93671A62DCFEF44CB0144B8A0A5 /* PBXContainerItemProxy */ = { + 832D62E1EF460825E99B18C7194DC621 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = FFFB6783B79B68DA14E36A00A348B0B3; remoteInfo = KMPNativeCoroutinesCore; }; - 7C30026E7F3101415AB69D12432A1516 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = FFFB6783B79B68DA14E36A00A348B0B3; - remoteInfo = KMPNativeCoroutinesCore; - }; - 98AB041CF26BAB865FCFAD4235D4C366 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3F9FD9D97D14F53EE028871E5A26555A; - remoteInfo = KMPNativeCoroutinesCombine; - }; - A0A09942BB536170555BACB2BE6D6FD1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = FFFB6783B79B68DA14E36A00A348B0B3; - remoteInfo = KMPNativeCoroutinesCore; - }; - B691DE52A9008C602417284FD8E810E7 /* PBXContainerItemProxy */ = { + BAA31A21839CAF1DAECC716692A4B481 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 8217FBB9D1218C346C0781D0B8F2BBE8; remoteInfo = common; }; - DADA12C40AE618774EA0DB5EFFFCA3BF /* PBXContainerItemProxy */ = { + F859417ECEFF81385341D1109E83A185 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3F9FD9D97D14F53EE028871E5A26555A; - remoteInfo = KMPNativeCoroutinesCombine; + remoteGlobalIDString = FFFB6783B79B68DA14E36A00A348B0B3; + remoteInfo = KMPNativeCoroutinesCore; + }; + FE87B8317E6D5F8C60AB0239A11DCDF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = FFFB6783B79B68DA14E36A00A348B0B3; + remoteInfo = KMPNativeCoroutinesCore; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00E9CDC40C89F2C4236A1FCF1C2C333D /* KMPNativeCoroutinesCombine.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KMPNativeCoroutinesCombine.debug.xcconfig; sourceTree = ""; }; 03ABD80B4570B33C416BB075A826012E /* Pods-PeopleInSpaceWidgetExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PeopleInSpaceWidgetExtension.release.xcconfig"; sourceTree = ""; }; + 0808FC749BDC333ECB0CBBCC6AEF9C31 /* KMPNativeCoroutinesAsync-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KMPNativeCoroutinesAsync-umbrella.h"; sourceTree = ""; }; + 125FC0570563A9702EC3849621E5A9C4 /* KMPNativeCoroutinesCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = KMPNativeCoroutinesCore.modulemap; sourceTree = ""; }; + 17F266290B7506A697CE1CF9BCE3039F /* KMPNativeCoroutinesCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KMPNativeCoroutinesCore.release.xcconfig; sourceTree = ""; }; 19A46FAB5AFEB9988DA6D51626B47D04 /* Pods-PeopleInSpaceWidgetExtension-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PeopleInSpaceWidgetExtension-dummy.m"; sourceTree = ""; }; - 1BC4A026DBC6C2982B828355463B2569 /* libKMPNativeCoroutinesCombine.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libKMPNativeCoroutinesCombine.a; path = libKMPNativeCoroutinesCombine.a; sourceTree = BUILT_PRODUCTS_DIR; }; 1E085D022350C41CCADCC76B8A247B8B /* common.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = common.framework; path = build/cocoapods/framework/common.framework; sourceTree = ""; }; - 23785D2EF87CC7217936C2A2C05400F6 /* KMPNativeCoroutinesCombine.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = KMPNativeCoroutinesCombine.modulemap; sourceTree = ""; }; - 2ACDC0A0AEEA49523A259A9D243C3EF5 /* Future.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Future.swift; path = KMPNativeCoroutinesCombine/Future.swift; sourceTree = ""; }; - 2CB824F75C95F744CD060A677ADEF508 /* KMPNativeCoroutinesCombine.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KMPNativeCoroutinesCombine.release.xcconfig; sourceTree = ""; }; - 36CC12E1AB4CF26105A57551B45F158C /* KMPNativeCoroutinesCombine-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "KMPNativeCoroutinesCombine-dummy.m"; sourceTree = ""; }; - 441594932398928E8B523A7C8A149DDE /* KMPNativeCoroutinesCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KMPNativeCoroutinesCore.debug.xcconfig; sourceTree = ""; }; - 44756A68E369D299A81D14A655157263 /* NativeCallback.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeCallback.swift; path = KMPNativeCoroutinesCore/NativeCallback.swift; sourceTree = ""; }; + 1F8EE423D7E90CF093777441E4F44D7E /* KMPNativeCoroutinesCore-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KMPNativeCoroutinesCore-prefix.pch"; sourceTree = ""; }; + 2153AB5840A8A16456EA57B1E9322943 /* KMPNativeCoroutinesAsync-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "KMPNativeCoroutinesAsync-dummy.m"; sourceTree = ""; }; + 26209B75A6DCB5B933C29FAF13C952D8 /* NativeCancellable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeCancellable.swift; path = KMPNativeCoroutinesCore/NativeCancellable.swift; sourceTree = ""; }; + 3736CCAE531106B24BF896B4BAFE91A6 /* NativeCallback.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeCallback.swift; path = KMPNativeCoroutinesCore/NativeCallback.swift; sourceTree = ""; }; + 3F5A120F3C321FC17BC578E62AAD8AD2 /* KMPNativeCoroutinesAsync.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = KMPNativeCoroutinesAsync.modulemap; sourceTree = ""; }; 4DABD1E2880CD4D5444351F9C673AA9B /* Pods-PeopleInSpaceWidgetExtension-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-PeopleInSpaceWidgetExtension-umbrella.h"; sourceTree = ""; }; - 56081C4E77068795768A5CF0E879AE38 /* KMPNativeCoroutinesCombine-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KMPNativeCoroutinesCombine-prefix.pch"; sourceTree = ""; }; - 56730A2BB8C6B21DC3C1DE2D1D464E68 /* KMPNativeCoroutinesCombine-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KMPNativeCoroutinesCombine-umbrella.h"; sourceTree = ""; }; - 611593A13CAA4F1FA1570FF3916625D0 /* NativeSuspend.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeSuspend.swift; path = KMPNativeCoroutinesCore/NativeSuspend.swift; sourceTree = ""; }; - 702E8C690C894B05B2B335B3222E38BE /* KMPNativeCoroutinesCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KMPNativeCoroutinesCore.release.xcconfig; sourceTree = ""; }; - 73149DE97EFF466A1568E5444D7CD0D8 /* Publisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Publisher.swift; path = KMPNativeCoroutinesCombine/Publisher.swift; sourceTree = ""; }; + 514A9E9922960CC92674D991833334B5 /* AsyncStream.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncStream.swift; path = KMPNativeCoroutinesAsync/AsyncStream.swift; sourceTree = ""; }; + 53887243C188630B31E6AFF5E8B1F9DF /* NativeFlow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeFlow.swift; path = KMPNativeCoroutinesCore/NativeFlow.swift; sourceTree = ""; }; + 5A9D361B995883F3B7EFAE316F931DD5 /* KMPNativeCoroutinesAsync.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KMPNativeCoroutinesAsync.release.xcconfig; sourceTree = ""; }; + 6762C061FBB0900BF3141ACAC1B45127 /* KMPNativeCoroutinesAsync-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KMPNativeCoroutinesAsync-prefix.pch"; sourceTree = ""; }; 73B9017727FED396FC43C6E02E60AB36 /* Pods-PeopleInSpaceWidgetExtension.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-PeopleInSpaceWidgetExtension.modulemap"; sourceTree = ""; }; - 75183D40F3E75DC5F1D0B0B070D5B04F /* NativeCancellable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeCancellable.swift; path = KMPNativeCoroutinesCore/NativeCancellable.swift; sourceTree = ""; }; - 790045D56FE561653A5D91BA767FC4D9 /* libPods-PeopleInSpaceWidgetExtension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-PeopleInSpaceWidgetExtension.a"; path = "libPods-PeopleInSpaceWidgetExtension.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 8467F04D2D129DA89380F1ED04CEF090 /* KMPNativeCoroutinesCore-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KMPNativeCoroutinesCore-prefix.pch"; sourceTree = ""; }; + 790045D56FE561653A5D91BA767FC4D9 /* Pods-PeopleInSpaceWidgetExtension */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "Pods-PeopleInSpaceWidgetExtension"; path = "libPods-PeopleInSpaceWidgetExtension.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 84E38C06B7E70548314BD3307AC8B54F /* Pods-PeopleInSpaceWidgetExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PeopleInSpaceWidgetExtension.debug.xcconfig"; sourceTree = ""; }; 855BD26843CA0F3761D8D4C02C967F16 /* Pods-PeopleInSpaceSwiftUI.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PeopleInSpaceSwiftUI.debug.xcconfig"; sourceTree = ""; }; - 8D634CE839CA3AEAE96C88A75AD0CBEB /* libPods-PeopleInSpaceSwiftUI.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-PeopleInSpaceSwiftUI.a"; path = "libPods-PeopleInSpaceSwiftUI.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 871A9D54A6CD20F402C51D2E5B0D59C4 /* KMPNativeCoroutinesCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KMPNativeCoroutinesCore.debug.xcconfig; sourceTree = ""; }; + 8D634CE839CA3AEAE96C88A75AD0CBEB /* Pods-PeopleInSpaceSwiftUI */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "Pods-PeopleInSpaceSwiftUI"; path = "libPods-PeopleInSpaceSwiftUI.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 8D8D8F0133EB83F8C005095A037FE4DB /* common.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = common.debug.xcconfig; sourceTree = ""; }; 8FAC5073EBF0B0757DC6961EF2173740 /* common.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = common.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 935FFB47BC518C20191CB08A3C39EBD9 /* KMPNativeCoroutinesCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = KMPNativeCoroutinesCore.modulemap; sourceTree = ""; }; 95E5FD3EF1B071AF0087C55D0F82E198 /* Pods-PeopleInSpaceSwiftUI.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PeopleInSpaceSwiftUI.release.xcconfig"; sourceTree = ""; }; 98B2BE4391C5DDDD74A06D67ABE27B30 /* Pods-PeopleInSpaceSwiftUI.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-PeopleInSpaceSwiftUI.modulemap"; sourceTree = ""; }; + 99758BB4F75B345E3E3FCFCFE0F6E2FE /* KMPNativeCoroutinesAsync.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KMPNativeCoroutinesAsync.debug.xcconfig; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - A0C62779E9F25B9D466FEC7CC23B1D67 /* KMPNativeCoroutinesCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "KMPNativeCoroutinesCore-dummy.m"; sourceTree = ""; }; A819694755B2A711C5AA4CBE9A112FF9 /* Pods-PeopleInSpaceWidgetExtension-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-PeopleInSpaceWidgetExtension-acknowledgements.markdown"; sourceTree = ""; }; - B276657920D376EF3A9EBCE35D0D8F1E /* KMPNativeCoroutinesCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KMPNativeCoroutinesCore-umbrella.h"; sourceTree = ""; }; + AA4C548D9ECAC97B922000C033D986E7 /* AsyncResult.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncResult.swift; path = KMPNativeCoroutinesAsync/AsyncResult.swift; sourceTree = ""; }; + AB8602FDD79D54A527C1C71BA5B96143 /* AsyncFunction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncFunction.swift; path = KMPNativeCoroutinesAsync/AsyncFunction.swift; sourceTree = ""; }; + B8BABB8576340DAE590635B5E5B379B0 /* KMPNativeCoroutinesCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "KMPNativeCoroutinesCore-dummy.m"; sourceTree = ""; }; B9D11E83408F5B88CAB55DB7140090FB /* Pods-PeopleInSpaceSwiftUI-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-PeopleInSpaceSwiftUI-acknowledgements.markdown"; sourceTree = ""; }; - BE05ED93C5134B9D56393B182882436A /* NativeFlow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeFlow.swift; path = KMPNativeCoroutinesCore/NativeFlow.swift; sourceTree = ""; }; - E32954243B605448566BC0C0B0BCF70D /* libKMPNativeCoroutinesCore.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libKMPNativeCoroutinesCore.a; path = libKMPNativeCoroutinesCore.a; sourceTree = BUILT_PRODUCTS_DIR; }; + BF752D8A3C32D99BC39B1CA9EB0C0148 /* KMPNativeCoroutinesCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KMPNativeCoroutinesCore-umbrella.h"; sourceTree = ""; }; + CBB360F2822905300C310CBA06D6A093 /* KMPNativeCoroutinesAsync */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = KMPNativeCoroutinesAsync; path = libKMPNativeCoroutinesAsync.a; sourceTree = BUILT_PRODUCTS_DIR; }; + DD32D879CE7C7908891395C95554C183 /* NativeSuspend.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeSuspend.swift; path = KMPNativeCoroutinesCore/NativeSuspend.swift; sourceTree = ""; }; + E32954243B605448566BC0C0B0BCF70D /* KMPNativeCoroutinesCore */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = KMPNativeCoroutinesCore; path = libKMPNativeCoroutinesCore.a; sourceTree = BUILT_PRODUCTS_DIR; }; ED9B1863CB7D57CA81E63DCD91B73E8D /* common.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = common.release.xcconfig; sourceTree = ""; }; F22D1097D8C3921FDA902C0CAA4D044A /* Pods-PeopleInSpaceSwiftUI-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PeopleInSpaceSwiftUI-dummy.m"; sourceTree = ""; }; F3C4D3BD1E1A7C9F52CE1A95733780CC /* Pods-PeopleInSpaceWidgetExtension-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PeopleInSpaceWidgetExtension-acknowledgements.plist"; sourceTree = ""; }; - F860A0723C9C947E65E02533615A6529 /* FuturePublisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FuturePublisher.swift; path = KMPNativeCoroutinesCombine/FuturePublisher.swift; sourceTree = ""; }; FE2117618A8AE7D9B16AF6C7501ED9CA /* Pods-PeopleInSpaceSwiftUI-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-PeopleInSpaceSwiftUI-umbrella.h"; sourceTree = ""; }; FF7F8C9B63578F122070B252E557A173 /* Pods-PeopleInSpaceSwiftUI-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PeopleInSpaceSwiftUI-acknowledgements.plist"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 12831D3E0F5CBE248E05854D8206566B /* Frameworks */ = { + 03483BE5C8BB0AEF7A58021D1DBA0217 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 9267A726B52622ED0E999F5C5BEDC1B1 /* Frameworks */ = { + 260593D626AF9C78EC8BBAD4DD38018E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - D5DFFEB7DDC0F34DCAF73C3BB7479965 /* Frameworks */ = { + B4211E636E9CFAB78425D5ACF1719D83 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - F6A23041D604F1E204DEC95A52D6A66E /* Frameworks */ = { + FC4D799D5A55EA743CBEEC2170438042 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -174,41 +174,6 @@ name = Pod; sourceTree = ""; }; - 3771862DC0EABC5A0E74A521F0266C03 /* KMPNativeCoroutinesCombine */ = { - isa = PBXGroup; - children = ( - 2ACDC0A0AEEA49523A259A9D243C3EF5 /* Future.swift */, - F860A0723C9C947E65E02533615A6529 /* FuturePublisher.swift */, - 73149DE97EFF466A1568E5444D7CD0D8 /* Publisher.swift */, - 5FDACE6DF4ACC2F870346DC9CCB58B8A /* Support Files */, - ); - name = KMPNativeCoroutinesCombine; - path = KMPNativeCoroutinesCombine; - sourceTree = ""; - }; - 42C631582119F1E69C50DA48CD0F397F /* Pods */ = { - isa = PBXGroup; - children = ( - 3771862DC0EABC5A0E74A521F0266C03 /* KMPNativeCoroutinesCombine */, - 79C13BC4ACA87457CAE6DDBD85FA1B5D /* KMPNativeCoroutinesCore */, - ); - name = Pods; - sourceTree = ""; - }; - 5FDACE6DF4ACC2F870346DC9CCB58B8A /* Support Files */ = { - isa = PBXGroup; - children = ( - 23785D2EF87CC7217936C2A2C05400F6 /* KMPNativeCoroutinesCombine.modulemap */, - 36CC12E1AB4CF26105A57551B45F158C /* KMPNativeCoroutinesCombine-dummy.m */, - 56081C4E77068795768A5CF0E879AE38 /* KMPNativeCoroutinesCombine-prefix.pch */, - 56730A2BB8C6B21DC3C1DE2D1D464E68 /* KMPNativeCoroutinesCombine-umbrella.h */, - 00E9CDC40C89F2C4236A1FCF1C2C333D /* KMPNativeCoroutinesCombine.debug.xcconfig */, - 2CB824F75C95F744CD060A677ADEF508 /* KMPNativeCoroutinesCombine.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/KMPNativeCoroutinesCombine"; - sourceTree = ""; - }; 6AE2A84CB3C3B01012CF33AF21992012 /* Pods-PeopleInSpaceSwiftUI */ = { isa = PBXGroup; children = ( @@ -224,17 +189,41 @@ path = "Target Support Files/Pods-PeopleInSpaceSwiftUI"; sourceTree = ""; }; - 79C13BC4ACA87457CAE6DDBD85FA1B5D /* KMPNativeCoroutinesCore */ = { + 6C04216FC82684889F456A62DA262538 /* Products */ = { isa = PBXGroup; children = ( - 44756A68E369D299A81D14A655157263 /* NativeCallback.swift */, - 75183D40F3E75DC5F1D0B0B070D5B04F /* NativeCancellable.swift */, - BE05ED93C5134B9D56393B182882436A /* NativeFlow.swift */, - 611593A13CAA4F1FA1570FF3916625D0 /* NativeSuspend.swift */, - CC43999398E46B9480F21D63C0373047 /* Support Files */, + CBB360F2822905300C310CBA06D6A093 /* KMPNativeCoroutinesAsync */, + E32954243B605448566BC0C0B0BCF70D /* KMPNativeCoroutinesCore */, + 8D634CE839CA3AEAE96C88A75AD0CBEB /* Pods-PeopleInSpaceSwiftUI */, + 790045D56FE561653A5D91BA767FC4D9 /* Pods-PeopleInSpaceWidgetExtension */, ); - name = KMPNativeCoroutinesCore; - path = KMPNativeCoroutinesCore; + name = Products; + sourceTree = ""; + }; + 76248734E14D5AF3D5A8AE4990DA14CA /* Support Files */ = { + isa = PBXGroup; + children = ( + 125FC0570563A9702EC3849621E5A9C4 /* KMPNativeCoroutinesCore.modulemap */, + B8BABB8576340DAE590635B5E5B379B0 /* KMPNativeCoroutinesCore-dummy.m */, + 1F8EE423D7E90CF093777441E4F44D7E /* KMPNativeCoroutinesCore-prefix.pch */, + BF752D8A3C32D99BC39B1CA9EB0C0148 /* KMPNativeCoroutinesCore-umbrella.h */, + 871A9D54A6CD20F402C51D2E5B0D59C4 /* KMPNativeCoroutinesCore.debug.xcconfig */, + 17F266290B7506A697CE1CF9BCE3039F /* KMPNativeCoroutinesCore.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/KMPNativeCoroutinesCore"; + sourceTree = ""; + }; + 790BE78C1C37BF57978E7DC30371A5A7 /* KMPNativeCoroutinesAsync */ = { + isa = PBXGroup; + children = ( + AB8602FDD79D54A527C1C71BA5B96143 /* AsyncFunction.swift */, + AA4C548D9ECAC97B922000C033D986E7 /* AsyncResult.swift */, + 514A9E9922960CC92674D991833334B5 /* AsyncStream.swift */, + 86739FB50DC7280BDC901CDE1329F343 /* Support Files */, + ); + name = KMPNativeCoroutinesAsync; + path = KMPNativeCoroutinesAsync; sourceTree = ""; }; 7F2F8A12B6B975C52A0071EAC079976B /* Support Files */ = { @@ -247,6 +236,20 @@ path = "../ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/common"; sourceTree = ""; }; + 86739FB50DC7280BDC901CDE1329F343 /* Support Files */ = { + isa = PBXGroup; + children = ( + 3F5A120F3C321FC17BC578E62AAD8AD2 /* KMPNativeCoroutinesAsync.modulemap */, + 2153AB5840A8A16456EA57B1E9322943 /* KMPNativeCoroutinesAsync-dummy.m */, + 6762C061FBB0900BF3141ACAC1B45127 /* KMPNativeCoroutinesAsync-prefix.pch */, + 0808FC749BDC333ECB0CBBCC6AEF9C31 /* KMPNativeCoroutinesAsync-umbrella.h */, + 99758BB4F75B345E3E3FCFCFE0F6E2FE /* KMPNativeCoroutinesAsync.debug.xcconfig */, + 5A9D361B995883F3B7EFAE316F931DD5 /* KMPNativeCoroutinesAsync.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/KMPNativeCoroutinesAsync"; + sourceTree = ""; + }; 95443C47755672E8030320D594ABC7EB /* Frameworks */ = { isa = PBXGroup; children = ( @@ -281,17 +284,6 @@ path = ../../../common; sourceTree = ""; }; - BD78EEF811C21F2DB3D4827E9211E01B /* Products */ = { - isa = PBXGroup; - children = ( - 1BC4A026DBC6C2982B828355463B2569 /* libKMPNativeCoroutinesCombine.a */, - E32954243B605448566BC0C0B0BCF70D /* libKMPNativeCoroutinesCore.a */, - 8D634CE839CA3AEAE96C88A75AD0CBEB /* libPods-PeopleInSpaceSwiftUI.a */, - 790045D56FE561653A5D91BA767FC4D9 /* libPods-PeopleInSpaceWidgetExtension.a */, - ); - name = Products; - sourceTree = ""; - }; C6ED6D7C2FAFFD95603CF686FCBA9DEA /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -301,28 +293,14 @@ name = "Targets Support Files"; sourceTree = ""; }; - CC43999398E46B9480F21D63C0373047 /* Support Files */ = { - isa = PBXGroup; - children = ( - 935FFB47BC518C20191CB08A3C39EBD9 /* KMPNativeCoroutinesCore.modulemap */, - A0C62779E9F25B9D466FEC7CC23B1D67 /* KMPNativeCoroutinesCore-dummy.m */, - 8467F04D2D129DA89380F1ED04CEF090 /* KMPNativeCoroutinesCore-prefix.pch */, - B276657920D376EF3A9EBCE35D0D8F1E /* KMPNativeCoroutinesCore-umbrella.h */, - 441594932398928E8B523A7C8A149DDE /* KMPNativeCoroutinesCore.debug.xcconfig */, - 702E8C690C894B05B2B335B3222E38BE /* KMPNativeCoroutinesCore.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/KMPNativeCoroutinesCore"; - sourceTree = ""; - }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, E363132CB4A8517D710D319A73DD8CB9 /* Development Pods */, D89477F20FB1DE18A04690586D7808C4 /* Frameworks */, - 42C631582119F1E69C50DA48CD0F397F /* Pods */, - BD78EEF811C21F2DB3D4827E9211E01B /* Products */, + F396F8E52A45B39311E8247396FEDDBE /* Pods */, + 6C04216FC82684889F456A62DA262538 /* Products */, C6ED6D7C2FAFFD95603CF686FCBA9DEA /* Targets Support Files */, ); sourceTree = ""; @@ -334,6 +312,19 @@ name = Frameworks; sourceTree = ""; }; + DAA39BDA20831F3D15543097BEC28F58 /* KMPNativeCoroutinesCore */ = { + isa = PBXGroup; + children = ( + 3736CCAE531106B24BF896B4BAFE91A6 /* NativeCallback.swift */, + 26209B75A6DCB5B933C29FAF13C952D8 /* NativeCancellable.swift */, + 53887243C188630B31E6AFF5E8B1F9DF /* NativeFlow.swift */, + DD32D879CE7C7908891395C95554C183 /* NativeSuspend.swift */, + 76248734E14D5AF3D5A8AE4990DA14CA /* Support Files */, + ); + name = KMPNativeCoroutinesCore; + path = KMPNativeCoroutinesCore; + sourceTree = ""; + }; E363132CB4A8517D710D319A73DD8CB9 /* Development Pods */ = { isa = PBXGroup; children = ( @@ -342,111 +333,120 @@ name = "Development Pods"; sourceTree = ""; }; + F396F8E52A45B39311E8247396FEDDBE /* Pods */ = { + isa = PBXGroup; + children = ( + 790BE78C1C37BF57978E7DC30371A5A7 /* KMPNativeCoroutinesAsync */, + DAA39BDA20831F3D15543097BEC28F58 /* KMPNativeCoroutinesCore */, + ); + name = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 6702E485EC741C126F325FED7AD7CD89 /* Headers */ = { + 0ACD6CC877412C7F69F0E7C3C120FFDB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 81EB6E2321F2E694979FA3364D6BE133 /* Pods-PeopleInSpaceWidgetExtension-umbrella.h in Headers */, + 1FA426B9BAD763BF419988493D0C9674 /* KMPNativeCoroutinesAsync-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8D98F7FBA7911C76B4490172AD63D3E5 /* Headers */ = { + 2B7390949726915E97557785F2F27129 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BA5CB03EB636E2CAB97BF33EC29BE249 /* KMPNativeCoroutinesCombine-umbrella.h in Headers */, + D3D4835B1191371CE735583F41E5831C /* Pods-PeopleInSpaceWidgetExtension-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A5C42FB831D61ADDCB043280682ABB77 /* Headers */ = { + BFE81D7E77AC553E67F05BDD619A80A1 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D31C379CD5982D9CCA4E000BD689E8C7 /* Pods-PeopleInSpaceSwiftUI-umbrella.h in Headers */, + EFE6DBBB0DDF4F9A6431783FC83AEBF8 /* KMPNativeCoroutinesCore-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - F45FED5EF8C697E2C7261D7234E7876B /* Headers */ = { + DC4B453CB6F77033B7B42804EFA23901 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - AD6E8E9276C772339C578AF8B668AA82 /* KMPNativeCoroutinesCore-umbrella.h in Headers */, + C4C573A1CBE18ED8FD80A0986FF7A781 /* Pods-PeopleInSpaceSwiftUI-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3F9FD9D97D14F53EE028871E5A26555A /* KMPNativeCoroutinesCombine */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2ED9FB6D099CCE4F4978F62F7663ED7C /* Build configuration list for PBXNativeTarget "KMPNativeCoroutinesCombine" */; - buildPhases = ( - 8D98F7FBA7911C76B4490172AD63D3E5 /* Headers */, - 9CEA02A290EF1B802DB096A30846A9F5 /* Sources */, - 9267A726B52622ED0E999F5C5BEDC1B1 /* Frameworks */, - 5F73E2D3BBEE7795EBFEEB65642B871D /* Copy generated compatibility header */, - ); - buildRules = ( - ); - dependencies = ( - DE102CF6445EDDB7EAA484EE0352D047 /* PBXTargetDependency */, - ); - name = KMPNativeCoroutinesCombine; - productName = KMPNativeCoroutinesCombine; - productReference = 1BC4A026DBC6C2982B828355463B2569 /* libKMPNativeCoroutinesCombine.a */; - productType = "com.apple.product-type.library.static"; - }; 6694FA49269F5170E337048A97626853 /* Pods-PeopleInSpaceSwiftUI */ = { isa = PBXNativeTarget; - buildConfigurationList = B4EFCC83A26B39DF056ECFDB988E5151 /* Build configuration list for PBXNativeTarget "Pods-PeopleInSpaceSwiftUI" */; + buildConfigurationList = D72F5C08D8A3D620D37A0618409B0AC9 /* Build configuration list for PBXNativeTarget "Pods-PeopleInSpaceSwiftUI" */; buildPhases = ( - A5C42FB831D61ADDCB043280682ABB77 /* Headers */, - 2D4C560576B743C547432C1E84A5D87E /* Sources */, - 12831D3E0F5CBE248E05854D8206566B /* Frameworks */, + DC4B453CB6F77033B7B42804EFA23901 /* Headers */, + 9A57725296AAFA1D326999BA148FAACC /* Sources */, + FC4D799D5A55EA743CBEEC2170438042 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 7F3FD7C7BC88DD89CB6A3719BCEC0C1E /* PBXTargetDependency */, - 5E683DB869D53C02DE85126D808EF85F /* PBXTargetDependency */, - CBADA60464CD0D8D2485C8C95CA22744 /* PBXTargetDependency */, + C6DE2242A4446A9A39E419D828DDEC11 /* PBXTargetDependency */, + 2EFDFF1262CCEF402B8BABEF975081C3 /* PBXTargetDependency */, + 1FD2E974836CE6AEF8F43FEAEF8899CB /* PBXTargetDependency */, ); name = "Pods-PeopleInSpaceSwiftUI"; productName = "Pods-PeopleInSpaceSwiftUI"; - productReference = 8D634CE839CA3AEAE96C88A75AD0CBEB /* libPods-PeopleInSpaceSwiftUI.a */; + productReference = 8D634CE839CA3AEAE96C88A75AD0CBEB /* Pods-PeopleInSpaceSwiftUI */; productType = "com.apple.product-type.library.static"; }; F25DDC72885F79F2B087DC73478C2F5A /* Pods-PeopleInSpaceWidgetExtension */ = { isa = PBXNativeTarget; - buildConfigurationList = 195A972A82CDFDD5A7A78C5047A021CC /* Build configuration list for PBXNativeTarget "Pods-PeopleInSpaceWidgetExtension" */; + buildConfigurationList = D385193185E1EF261CF0B00D7B7CCAA7 /* Build configuration list for PBXNativeTarget "Pods-PeopleInSpaceWidgetExtension" */; buildPhases = ( - 6702E485EC741C126F325FED7AD7CD89 /* Headers */, - 0BBDD43275FE50AC2E2B420D469BA8E5 /* Sources */, - D5DFFEB7DDC0F34DCAF73C3BB7479965 /* Frameworks */, + 2B7390949726915E97557785F2F27129 /* Headers */, + 95FF374096A58EBD61C3E54A07DE8EB4 /* Sources */, + 03483BE5C8BB0AEF7A58021D1DBA0217 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 2CB7C08B0E03DB01329CE8861FAD8D43 /* PBXTargetDependency */, - 0274D28F78FEB48399DBBA98F154DDD0 /* PBXTargetDependency */, - 2837C5A3286EA7A268EF6D6163002A0F /* PBXTargetDependency */, + 341821267EF8A48CA2C88ABD61FC7768 /* PBXTargetDependency */, + 9DDE8704C605C27965993B7665323625 /* PBXTargetDependency */, + 8A3E3061D05ABB193D9B59012B7B593B /* PBXTargetDependency */, ); name = "Pods-PeopleInSpaceWidgetExtension"; productName = "Pods-PeopleInSpaceWidgetExtension"; - productReference = 790045D56FE561653A5D91BA767FC4D9 /* libPods-PeopleInSpaceWidgetExtension.a */; + productReference = 790045D56FE561653A5D91BA767FC4D9 /* Pods-PeopleInSpaceWidgetExtension */; + productType = "com.apple.product-type.library.static"; + }; + F91BAFE2F1386309176711630BA5305A /* KMPNativeCoroutinesAsync */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3B63F33F2F5EBE97410138A80D11B0E0 /* Build configuration list for PBXNativeTarget "KMPNativeCoroutinesAsync" */; + buildPhases = ( + 0ACD6CC877412C7F69F0E7C3C120FFDB /* Headers */, + 5EF1DD2343CC73761652C1ABD1D116F5 /* Sources */, + B4211E636E9CFAB78425D5ACF1719D83 /* Frameworks */, + F87512CEFDF666B84D412E821F347EA1 /* Copy generated compatibility header */, + ); + buildRules = ( + ); + dependencies = ( + 9F084FCD7DBD9358E6F5F18202F60F68 /* PBXTargetDependency */, + ); + name = KMPNativeCoroutinesAsync; + productName = KMPNativeCoroutinesAsync; + productReference = CBB360F2822905300C310CBA06D6A093 /* KMPNativeCoroutinesAsync */; productType = "com.apple.product-type.library.static"; }; FFFB6783B79B68DA14E36A00A348B0B3 /* KMPNativeCoroutinesCore */ = { isa = PBXNativeTarget; - buildConfigurationList = 2B4D7B0804DDDDD535EBCDB2916D5BCB /* Build configuration list for PBXNativeTarget "KMPNativeCoroutinesCore" */; + buildConfigurationList = 97A9E8DF07DFF8B8437C767FEE0D76F3 /* Build configuration list for PBXNativeTarget "KMPNativeCoroutinesCore" */; buildPhases = ( - F45FED5EF8C697E2C7261D7234E7876B /* Headers */, - 18779BCA9D1123CA855810C0AAE5A6D0 /* Sources */, - F6A23041D604F1E204DEC95A52D6A66E /* Frameworks */, - 7E593ECA3A8E68EB509565C728C28237 /* Copy generated compatibility header */, + BFE81D7E77AC553E67F05BDD619A80A1 /* Headers */, + 44ADF0D8AFE46BFC888CBF2BDC15E01A /* Sources */, + 260593D626AF9C78EC8BBAD4DD38018E /* Frameworks */, + D0502055E8ADB6F4B05733A8038B5C55 /* Copy generated compatibility header */, ); buildRules = ( ); @@ -454,7 +454,7 @@ ); name = KMPNativeCoroutinesCore; productName = KMPNativeCoroutinesCore; - productReference = E32954243B605448566BC0C0B0BCF70D /* libKMPNativeCoroutinesCore.a */; + productReference = E32954243B605448566BC0C0B0BCF70D /* KMPNativeCoroutinesCore */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -471,16 +471,16 @@ developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + en, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = BD78EEF811C21F2DB3D4827E9211E01B /* Products */; + productRefGroup = 6C04216FC82684889F456A62DA262538 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 8217FBB9D1218C346C0781D0B8F2BBE8 /* common */, - 3F9FD9D97D14F53EE028871E5A26555A /* KMPNativeCoroutinesCombine */, + F91BAFE2F1386309176711630BA5305A /* KMPNativeCoroutinesAsync */, FFFB6783B79B68DA14E36A00A348B0B3 /* KMPNativeCoroutinesCore */, 6694FA49269F5170E337048A97626853 /* Pods-PeopleInSpaceSwiftUI */, F25DDC72885F79F2B087DC73478C2F5A /* Pods-PeopleInSpaceWidgetExtension */, @@ -489,31 +489,17 @@ /* End PBXProject section */ /* Begin PBXShellScriptBuildPhase section */ - 5F73E2D3BBEE7795EBFEEB65642B871D /* Copy generated compatibility header */ = { + 7E1F49D6D5B5AD5D810466E76CD1C2EB /* [CP-User] Build common */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap", - "${PODS_ROOT}/Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/KMPNativeCoroutinesCombine-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); + name = "[CP-User] Build common"; runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -PkotlinVersion=\"1.6.10\" -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=$CONFIGURATION -Pkotlin.native.cocoapods.cflags=\"$OTHER_CFLAGS\" -Pkotlin.native.cocoapods.paths.headers=\"$HEADER_SEARCH_PATHS\" -Pkotlin.native.cocoapods.paths.frameworks=\"$FRAMEWORK_SEARCH_PATHS\"\n"; }; - 7E593ECA3A8E68EB509565C728C28237 /* Copy generated compatibility header */ = { + D0502055E8ADB6F4B05733A8038B5C55 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -537,197 +523,121 @@ shellPath = /bin/sh; shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; }; - C43A969A987189903C09DE6500DD8764 /* [CP-User] Build common */ = { + F87512CEFDF666B84D412E821F347EA1 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - name = "[CP-User] Build common"; + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap", + "${PODS_ROOT}/Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/KMPNativeCoroutinesAsync-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -PkotlinVersion=\"1.6.0\" -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=$CONFIGURATION -Pkotlin.native.cocoapods.cflags=\"$OTHER_CFLAGS\" -Pkotlin.native.cocoapods.paths.headers=\"$HEADER_SEARCH_PATHS\" -Pkotlin.native.cocoapods.paths.frameworks=\"$FRAMEWORK_SEARCH_PATHS\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 0BBDD43275FE50AC2E2B420D469BA8E5 /* Sources */ = { + 44ADF0D8AFE46BFC888CBF2BDC15E01A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8D0E6098B01698214F7E7A70D560E61E /* Pods-PeopleInSpaceWidgetExtension-dummy.m in Sources */, + CF73F0E255330422D2DF9F13C29AB5D9 /* KMPNativeCoroutinesCore-dummy.m in Sources */, + 151D983118A61DA58A6EE0BE5DF0A6FC /* NativeCallback.swift in Sources */, + 302FEA1E0DEEE6C6773880C64EA35530 /* NativeCancellable.swift in Sources */, + 8EFF3FAB7469A1BC39D309CF21FB09FE /* NativeFlow.swift in Sources */, + 21148768FB51672933F062711A68F4C6 /* NativeSuspend.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 18779BCA9D1123CA855810C0AAE5A6D0 /* Sources */ = { + 5EF1DD2343CC73761652C1ABD1D116F5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4D058353F02CB5ADCD8D002099B1DF7A /* KMPNativeCoroutinesCore-dummy.m in Sources */, - 8AD216478639C6A89F4A5681F0167FC2 /* NativeCallback.swift in Sources */, - 7E6C22677B35403CD19CD97CF5C9C55B /* NativeCancellable.swift in Sources */, - 4DC8F1E3DC92D51E273BCEBF689FBE81 /* NativeFlow.swift in Sources */, - 67CD9BF971445F04D19C8A3F0E694D03 /* NativeSuspend.swift in Sources */, + AF60A0468AC137EC9BC06BD42AA486D0 /* AsyncFunction.swift in Sources */, + 513DC683615B8AA39F13962096D3A181 /* AsyncResult.swift in Sources */, + ADBC7397FA7B70EF70C9ED917BCD954F /* AsyncStream.swift in Sources */, + 71A73C674C689B86308EB9FC79BDCBB5 /* KMPNativeCoroutinesAsync-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2D4C560576B743C547432C1E84A5D87E /* Sources */ = { + 95FF374096A58EBD61C3E54A07DE8EB4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 58F06B833C645497722BEA216FA947EE /* Pods-PeopleInSpaceSwiftUI-dummy.m in Sources */, + B4F6ABA1E413FE126CF07AA2613C9D1E /* Pods-PeopleInSpaceWidgetExtension-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CEA02A290EF1B802DB096A30846A9F5 /* Sources */ = { + 9A57725296AAFA1D326999BA148FAACC /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F665CC033BA40B1DD8175B0419E51CAF /* Future.swift in Sources */, - 81017431C9331986689A0A08AFA75E2B /* FuturePublisher.swift in Sources */, - D449674759C5FEEC3D6CC8EB235862CA /* KMPNativeCoroutinesCombine-dummy.m in Sources */, - 3736EF6166F11F146BF0224EF85DCD33 /* Publisher.swift in Sources */, + 5FAF325080DCFE4A9BED49346C36513F /* Pods-PeopleInSpaceSwiftUI-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0274D28F78FEB48399DBBA98F154DDD0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = KMPNativeCoroutinesCore; - target = FFFB6783B79B68DA14E36A00A348B0B3 /* KMPNativeCoroutinesCore */; - targetProxy = 6965C93671A62DCFEF44CB0144B8A0A5 /* PBXContainerItemProxy */; - }; - 2837C5A3286EA7A268EF6D6163002A0F /* PBXTargetDependency */ = { + 1FD2E974836CE6AEF8F43FEAEF8899CB /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = common; target = 8217FBB9D1218C346C0781D0B8F2BBE8 /* common */; - targetProxy = B691DE52A9008C602417284FD8E810E7 /* PBXContainerItemProxy */; + targetProxy = 4F1BE889A913E1DA0F9FC3E5F27C8BF5 /* PBXContainerItemProxy */; }; - 2CB7C08B0E03DB01329CE8861FAD8D43 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = KMPNativeCoroutinesCombine; - target = 3F9FD9D97D14F53EE028871E5A26555A /* KMPNativeCoroutinesCombine */; - targetProxy = DADA12C40AE618774EA0DB5EFFFCA3BF /* PBXContainerItemProxy */; - }; - 5E683DB869D53C02DE85126D808EF85F /* PBXTargetDependency */ = { + 2EFDFF1262CCEF402B8BABEF975081C3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = KMPNativeCoroutinesCore; target = FFFB6783B79B68DA14E36A00A348B0B3 /* KMPNativeCoroutinesCore */; - targetProxy = 7C30026E7F3101415AB69D12432A1516 /* PBXContainerItemProxy */; + targetProxy = 832D62E1EF460825E99B18C7194DC621 /* PBXContainerItemProxy */; }; - 7F3FD7C7BC88DD89CB6A3719BCEC0C1E /* PBXTargetDependency */ = { + 341821267EF8A48CA2C88ABD61FC7768 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = KMPNativeCoroutinesCombine; - target = 3F9FD9D97D14F53EE028871E5A26555A /* KMPNativeCoroutinesCombine */; - targetProxy = 98AB041CF26BAB865FCFAD4235D4C366 /* PBXContainerItemProxy */; + name = KMPNativeCoroutinesAsync; + target = F91BAFE2F1386309176711630BA5305A /* KMPNativeCoroutinesAsync */; + targetProxy = 2C77B455AC54948CA89F9BAC95C2D6F2 /* PBXContainerItemProxy */; }; - CBADA60464CD0D8D2485C8C95CA22744 /* PBXTargetDependency */ = { + 8A3E3061D05ABB193D9B59012B7B593B /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = common; target = 8217FBB9D1218C346C0781D0B8F2BBE8 /* common */; - targetProxy = 193B7FA3078BD48D32C05D496CC74A08 /* PBXContainerItemProxy */; + targetProxy = BAA31A21839CAF1DAECC716692A4B481 /* PBXContainerItemProxy */; }; - DE102CF6445EDDB7EAA484EE0352D047 /* PBXTargetDependency */ = { + 9DDE8704C605C27965993B7665323625 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = KMPNativeCoroutinesCore; target = FFFB6783B79B68DA14E36A00A348B0B3 /* KMPNativeCoroutinesCore */; - targetProxy = A0A09942BB536170555BACB2BE6D6FD1 /* PBXContainerItemProxy */; + targetProxy = F859417ECEFF81385341D1109E83A185 /* PBXContainerItemProxy */; + }; + 9F084FCD7DBD9358E6F5F18202F60F68 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = KMPNativeCoroutinesCore; + target = FFFB6783B79B68DA14E36A00A348B0B3 /* KMPNativeCoroutinesCore */; + targetProxy = FE87B8317E6D5F8C60AB0239A11DCDF1 /* PBXContainerItemProxy */; + }; + C6DE2242A4446A9A39E419D828DDEC11 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = KMPNativeCoroutinesAsync; + target = F91BAFE2F1386309176711630BA5305A /* KMPNativeCoroutinesAsync */; + targetProxy = 4BDCCB0D72ECAA07212B68407BF1C09F /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 101857C7BC4BA6EE3B3C68BBF5BAB344 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 702E8C690C894B05B2B335B3222E38BE /* KMPNativeCoroutinesCore.release.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = KMPNativeCoroutinesCore; - PRODUCT_NAME = KMPNativeCoroutinesCore; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 2928BCA9AF74E00EDF089ECC8AF05B11 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 00E9CDC40C89F2C4236A1FCF1C2C333D /* KMPNativeCoroutinesCombine.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MODULEMAP_FILE = Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = KMPNativeCoroutinesCombine; - PRODUCT_NAME = KMPNativeCoroutinesCombine; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 2ED0004DAE29243F1259FD0E1FBC9265 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 03ABD80B4570B33C416BB075A826012E /* Pods-PeopleInSpaceWidgetExtension.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 5DAF118A74804EF6CAEB32B14A8AFB3A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8D8D8F0133EB83F8C005095A037FE4DB /* common.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 7B3C56A5412B73F8F77576C2CF9919A8 /* Debug */ = { + 3A19E56B2480A40C1F2F2817A84C2E19 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 84E38C06B7E70548314BD3307AC8B54F /* Pods-PeopleInSpaceWidgetExtension.debug.xcconfig */; buildSettings = { @@ -749,161 +659,11 @@ }; name = Debug; }; - 9B62A678FDE2F3C4EB6B6738482FD1C5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = ED9B1863CB7D57CA81E63DCD91B73E8D /* common.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - A664AF842E53C6C8B24F244CAFB8AD58 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 441594932398928E8B523A7C8A149DDE /* KMPNativeCoroutinesCore.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = KMPNativeCoroutinesCore; - PRODUCT_NAME = KMPNativeCoroutinesCore; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - AAAA4A9E73AE16547E8A0EC776EBFDF1 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 855BD26843CA0F3761D8D4C02C967F16 /* Pods-PeopleInSpaceSwiftUI.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - EAD0866E91F91D1A1842C8BEE2BF43A4 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; - F349E68C7E5D99408310875D8C88594F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2CB824F75C95F744CD060A677ADEF508 /* KMPNativeCoroutinesCombine.release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MODULEMAP_FILE = Headers/Public/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = KMPNativeCoroutinesCombine; - PRODUCT_NAME = KMPNativeCoroutinesCombine; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - FBC00D549F0F93309F421C94639D1F1B /* Debug */ = { + 4BC7450F9457737EE3E637BA155B56F7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -965,7 +725,224 @@ }; name = Debug; }; - FD2F27B33FBF204FD62294E7F1318CD1 /* Release */ = { + 4F7A44B7E2843DFF5A4B87CFA95FFB3B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5A9D361B995883F3B7EFAE316F931DD5 /* KMPNativeCoroutinesAsync.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MODULEMAP_FILE = Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = KMPNativeCoroutinesAsync; + PRODUCT_NAME = KMPNativeCoroutinesAsync; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.5; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 8509F25BC56B79606F99DEB4AF2ABCC2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 99758BB4F75B345E3E3FCFCFE0F6E2FE /* KMPNativeCoroutinesAsync.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MODULEMAP_FILE = Headers/Public/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = KMPNativeCoroutinesAsync; + PRODUCT_NAME = KMPNativeCoroutinesAsync; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.5; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 87EED434A2A63B1C5715591CCF267C86 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 855BD26843CA0F3761D8D4C02C967F16 /* Pods-PeopleInSpaceSwiftUI.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 8B5A46FF8D3C1289CDEE3BAFACABCD2A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + 95D48B1A19461952FBB9A4E6A55BB10E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = ED9B1863CB7D57CA81E63DCD91B73E8D /* common.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_OBJC_WEAK = NO; + IPHONEOS_DEPLOYMENT_TARGET = 4.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + C137F52CF9CC706AA4E6CD5C23879CEA /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 871A9D54A6CD20F402C51D2E5B0D59C4 /* KMPNativeCoroutinesCore.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = KMPNativeCoroutinesCore; + PRODUCT_NAME = KMPNativeCoroutinesCore; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + C2C16DB6125285513592A0F2EF060F4B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 03ABD80B4570B33C416BB075A826012E /* Pods-PeopleInSpaceWidgetExtension.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + E9D85CC80F3A96756ECF17AD0DDFFE6A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8D8D8F0133EB83F8C005095A037FE4DB /* common.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_OBJC_WEAK = NO; + IPHONEOS_DEPLOYMENT_TARGET = 4.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + EB5173ADC0AE60A579F2D8752E7733A3 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 95E5FD3EF1B071AF0087C55D0F82E198 /* Pods-PeopleInSpaceSwiftUI.release.xcconfig */; buildSettings = { @@ -988,32 +965,39 @@ }; name = Release; }; + EC6E083B79F74EDF84702A9F19DC4BAC /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 17F266290B7506A697CE1CF9BCE3039F /* KMPNativeCoroutinesCore.release.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = KMPNativeCoroutinesCore; + PRODUCT_NAME = KMPNativeCoroutinesCore; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 195A972A82CDFDD5A7A78C5047A021CC /* Build configuration list for PBXNativeTarget "Pods-PeopleInSpaceWidgetExtension" */ = { + 3B63F33F2F5EBE97410138A80D11B0E0 /* Build configuration list for PBXNativeTarget "KMPNativeCoroutinesAsync" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7B3C56A5412B73F8F77576C2CF9919A8 /* Debug */, - 2ED0004DAE29243F1259FD0E1FBC9265 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2B4D7B0804DDDDD535EBCDB2916D5BCB /* Build configuration list for PBXNativeTarget "KMPNativeCoroutinesCore" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A664AF842E53C6C8B24F244CAFB8AD58 /* Debug */, - 101857C7BC4BA6EE3B3C68BBF5BAB344 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2ED9FB6D099CCE4F4978F62F7663ED7C /* Build configuration list for PBXNativeTarget "KMPNativeCoroutinesCombine" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2928BCA9AF74E00EDF089ECC8AF05B11 /* Debug */, - F349E68C7E5D99408310875D8C88594F /* Release */, + 8509F25BC56B79606F99DEB4AF2ABCC2 /* Debug */, + 4F7A44B7E2843DFF5A4B87CFA95FFB3B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1021,26 +1005,44 @@ 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - FBC00D549F0F93309F421C94639D1F1B /* Debug */, - EAD0866E91F91D1A1842C8BEE2BF43A4 /* Release */, + 4BC7450F9457737EE3E637BA155B56F7 /* Debug */, + 8B5A46FF8D3C1289CDEE3BAFACABCD2A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A97A16D91F283D931DA2309A62BC3EC8 /* Build configuration list for PBXAggregateTarget "common" */ = { + 759E2DCC614B156B3AE710A2243FFC35 /* Build configuration list for PBXAggregateTarget "common" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5DAF118A74804EF6CAEB32B14A8AFB3A /* Debug */, - 9B62A678FDE2F3C4EB6B6738482FD1C5 /* Release */, + E9D85CC80F3A96756ECF17AD0DDFFE6A /* Debug */, + 95D48B1A19461952FBB9A4E6A55BB10E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B4EFCC83A26B39DF056ECFDB988E5151 /* Build configuration list for PBXNativeTarget "Pods-PeopleInSpaceSwiftUI" */ = { + 97A9E8DF07DFF8B8437C767FEE0D76F3 /* Build configuration list for PBXNativeTarget "KMPNativeCoroutinesCore" */ = { isa = XCConfigurationList; buildConfigurations = ( - AAAA4A9E73AE16547E8A0EC776EBFDF1 /* Debug */, - FD2F27B33FBF204FD62294E7F1318CD1 /* Release */, + C137F52CF9CC706AA4E6CD5C23879CEA /* Debug */, + EC6E083B79F74EDF84702A9F19DC4BAC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D385193185E1EF261CF0B00D7B7CCAA7 /* Build configuration list for PBXNativeTarget "Pods-PeopleInSpaceWidgetExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3A19E56B2480A40C1F2F2817A84C2E19 /* Debug */, + C2C16DB6125285513592A0F2EF060F4B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D72F5C08D8A3D620D37A0618409B0AC9 /* Build configuration list for PBXNativeTarget "Pods-PeopleInSpaceSwiftUI" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 87EED434A2A63B1C5715591CCF267C86 /* Debug */, + EB5173ADC0AE60A579F2D8752E7733A3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Pods.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist b/ios/PeopleInSpaceSwiftUI/Pods/Pods.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist index 8f74a12..d4c781d 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Pods.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/ios/PeopleInSpaceSwiftUI/Pods/Pods.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,18 +4,13 @@ SchemeUserState - KMPNativeCoroutinesCombine.xcscheme + KMPNativeCoroutinesAsync.xcscheme isShown orderHint 1 - KMPNativeCoroutinesCombine.xcscheme_^#shared#^_ - - orderHint - 2 - KMPNativeCoroutinesCore.xcscheme isShown @@ -23,17 +18,12 @@ orderHint 2 - KMPNativeCoroutinesCore.xcscheme_^#shared#^_ - - orderHint - 4 - Pods-PeopleInSpaceSwiftUI.xcscheme isShown orderHint - 1 + 3 Pods-PeopleInSpaceWidgetExtension.xcscheme @@ -42,11 +32,6 @@ orderHint 4 - Pods-PeopleInSpaceWidgetExtension.xcscheme_^#shared#^_ - - orderHint - 6 - common.xcscheme isShown diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-dummy.m b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-dummy.m new file mode 100644 index 0000000..40b4f86 --- /dev/null +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_KMPNativeCoroutinesAsync : NSObject +@end +@implementation PodsDummy_KMPNativeCoroutinesAsync +@end diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-prefix.pch b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-prefix.pch similarity index 100% rename from ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-prefix.pch rename to ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-prefix.pch diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-umbrella.h b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-umbrella.h similarity index 57% rename from ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-umbrella.h rename to ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-umbrella.h index 4b0a5df..73e10b3 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-umbrella.h +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync-umbrella.h @@ -11,6 +11,6 @@ #endif -FOUNDATION_EXPORT double KMPNativeCoroutinesCombineVersionNumber; -FOUNDATION_EXPORT const unsigned char KMPNativeCoroutinesCombineVersionString[]; +FOUNDATION_EXPORT double KMPNativeCoroutinesAsyncVersionNumber; +FOUNDATION_EXPORT const unsigned char KMPNativeCoroutinesAsyncVersionString[]; diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.debug.xcconfig b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.debug.xcconfig similarity index 80% rename from ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.debug.xcconfig rename to ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.debug.xcconfig index 38bd456..bc99a61 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.debug.xcconfig +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.debug.xcconfig @@ -1,12 +1,14 @@ APPLICATION_EXTENSION_API_ONLY = YES -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/KMPNativeCoroutinesCombine +PODS_TARGET_SRCROOT = ${PODS_ROOT}/KMPNativeCoroutinesAsync +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap new file mode 100644 index 0000000..343c2a2 --- /dev/null +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap @@ -0,0 +1,6 @@ +module KMPNativeCoroutinesAsync { + umbrella header "KMPNativeCoroutinesAsync-umbrella.h" + + export * + module * { export * } +} diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.release.xcconfig b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.release.xcconfig similarity index 80% rename from ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.release.xcconfig rename to ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.release.xcconfig index 38bd456..bc99a61 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.release.xcconfig +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.release.xcconfig @@ -1,12 +1,14 @@ APPLICATION_EXTENSION_API_ONLY = YES -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/KMPNativeCoroutinesCombine +PODS_TARGET_SRCROOT = ${PODS_ROOT}/KMPNativeCoroutinesAsync +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-dummy.m b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-dummy.m deleted file mode 100644 index 4de773d..0000000 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_KMPNativeCoroutinesCombine : NSObject -@end -@implementation PodsDummy_KMPNativeCoroutinesCombine -@end diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap deleted file mode 100644 index 3fbd2c3..0000000 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module KMPNativeCoroutinesCombine { - umbrella header "KMPNativeCoroutinesCombine-umbrella.h" - - export * - module * { export * } -} diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.debug.xcconfig b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.debug.xcconfig index b17e14e..5035ca2 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.debug.xcconfig +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.debug.xcconfig @@ -1,4 +1,5 @@ APPLICATION_EXTENSION_API_ONLY = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" @@ -6,6 +7,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/KMPNativeCoroutinesCore +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.release.xcconfig b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.release.xcconfig index b17e14e..5035ca2 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.release.xcconfig +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.release.xcconfig @@ -1,4 +1,5 @@ APPLICATION_EXTENSION_API_ONLY = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" @@ -6,6 +7,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/KMPNativeCoroutinesCore +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI-acknowledgements.markdown b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI-acknowledgements.markdown index 7cc0c32..a9a9c02 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI-acknowledgements.markdown +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI-acknowledgements.markdown @@ -1,7 +1,7 @@ # Acknowledgements This application makes use of the following third party libraries: -## KMPNativeCoroutinesCombine +## KMPNativeCoroutinesAsync MIT License diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI-acknowledgements.plist b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI-acknowledgements.plist index 3027ec7..ce1c93b 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI-acknowledgements.plist +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI-acknowledgements.plist @@ -39,7 +39,7 @@ SOFTWARE. License MIT Title - KMPNativeCoroutinesCombine + KMPNativeCoroutinesAsync Type PSGroupSpecifier diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI.debug.xcconfig b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI.debug.xcconfig index b7bc663..7f35f36 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI.debug.xcconfig +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI.debug.xcconfig @@ -1,13 +1,15 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../../common/build/cocoapods/framework" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" -OTHER_LDFLAGS = $(inherited) -ObjC -l"KMPNativeCoroutinesCombine" -l"KMPNativeCoroutinesCore" -l"c++" -framework "Combine" -framework "common" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" /usr/lib/swift +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" +OTHER_LDFLAGS = $(inherited) -ObjC -l"KMPNativeCoroutinesAsync" -l"KMPNativeCoroutinesCore" -l"c++" -framework "common" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI.release.xcconfig b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI.release.xcconfig index b7bc663..7f35f36 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI.release.xcconfig +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceSwiftUI/Pods-PeopleInSpaceSwiftUI.release.xcconfig @@ -1,13 +1,15 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../../common/build/cocoapods/framework" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" -OTHER_LDFLAGS = $(inherited) -ObjC -l"KMPNativeCoroutinesCombine" -l"KMPNativeCoroutinesCore" -l"c++" -framework "Combine" -framework "common" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" /usr/lib/swift +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" +OTHER_LDFLAGS = $(inherited) -ObjC -l"KMPNativeCoroutinesAsync" -l"KMPNativeCoroutinesCore" -l"c++" -framework "common" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension-acknowledgements.markdown b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension-acknowledgements.markdown index 7cc0c32..a9a9c02 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension-acknowledgements.markdown +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension-acknowledgements.markdown @@ -1,7 +1,7 @@ # Acknowledgements This application makes use of the following third party libraries: -## KMPNativeCoroutinesCombine +## KMPNativeCoroutinesAsync MIT License diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension-acknowledgements.plist b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension-acknowledgements.plist index 3027ec7..ce1c93b 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension-acknowledgements.plist +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension-acknowledgements.plist @@ -39,7 +39,7 @@ SOFTWARE. License MIT Title - KMPNativeCoroutinesCombine + KMPNativeCoroutinesAsync Type PSGroupSpecifier diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension.debug.xcconfig b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension.debug.xcconfig index 8136130..cffc38e 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension.debug.xcconfig +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension.debug.xcconfig @@ -1,12 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../../common/build/cocoapods/framework" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" -OTHER_LDFLAGS = $(inherited) -ObjC -l"KMPNativeCoroutinesCombine" -l"KMPNativeCoroutinesCore" -l"c++" -framework "Combine" -framework "common" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" /usr/lib/swift +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" +OTHER_LDFLAGS = $(inherited) -ObjC -l"KMPNativeCoroutinesAsync" -l"KMPNativeCoroutinesCore" -l"c++" -framework "common" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension.release.xcconfig b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension.release.xcconfig index 8136130..cffc38e 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension.release.xcconfig +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/Pods-PeopleInSpaceWidgetExtension/Pods-PeopleInSpaceWidgetExtension.release.xcconfig @@ -1,12 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../../common/build/cocoapods/framework" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" -OTHER_LDFLAGS = $(inherited) -ObjC -l"KMPNativeCoroutinesCombine" -l"KMPNativeCoroutinesCore" -l"c++" -framework "Combine" -framework "common" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine/KMPNativeCoroutinesCombine.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" /usr/lib/swift +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" +OTHER_LDFLAGS = $(inherited) -ObjC -l"KMPNativeCoroutinesAsync" -l"KMPNativeCoroutinesCore" -l"c++" -framework "common" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync/KMPNativeCoroutinesAsync.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore/KMPNativeCoroutinesCore.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCombine" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesAsync" "${PODS_CONFIGURATION_BUILD_DIR}/KMPNativeCoroutinesCore" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/common/common.debug.xcconfig b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/common/common.debug.xcconfig index 7495307..47cc981 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/common/common.debug.xcconfig +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/common/common.debug.xcconfig @@ -1,4 +1,5 @@ APPLICATION_EXTENSION_API_ONLY = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/common FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../../common/build/cocoapods/framework" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 @@ -7,6 +8,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../../common +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} PRODUCT_MODULE_NAME = common SKIP_INSTALL = YES diff --git a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/common/common.release.xcconfig b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/common/common.release.xcconfig index 7495307..47cc981 100644 --- a/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/common/common.release.xcconfig +++ b/ios/PeopleInSpaceSwiftUI/Pods/Target Support Files/common/common.release.xcconfig @@ -1,4 +1,5 @@ APPLICATION_EXTENSION_API_ONLY = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/common FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../../common/build/cocoapods/framework" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 @@ -7,6 +8,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../../common +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} PRODUCT_MODULE_NAME = common SKIP_INSTALL = YES diff --git a/macOS/PeopleInSpace/PeopleInSpace.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist b/macOS/PeopleInSpace/PeopleInSpace.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist index e807bb4..f7215e7 100644 --- a/macOS/PeopleInSpace/PeopleInSpace.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/macOS/PeopleInSpace/PeopleInSpace.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ PeopleInSpace.xcscheme_^#shared#^_ orderHint - 2 + 0 SuppressBuildableAutocreation diff --git a/macOS/PeopleInSpace/Pods/Pods.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist b/macOS/PeopleInSpace/Pods/Pods.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist index 6aa8efa..04771d0 100644 --- a/macOS/PeopleInSpace/Pods/Pods.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/macOS/PeopleInSpace/Pods/Pods.xcodeproj/xcuserdata/joreilly.xcuserdatad/xcschemes/xcschememanagement.plist @@ -9,20 +9,34 @@ isShown + KMPNativeCoroutinesCombine.xcscheme_^#shared#^_ + + orderHint + 4 + KMPNativeCoroutinesCore.xcscheme isShown + KMPNativeCoroutinesCore.xcscheme_^#shared#^_ + + orderHint + 3 + Pods-PeopleInSpace.xcscheme isShown + orderHint + 2 common.xcscheme isShown + orderHint + 1 SuppressBuildableAutocreation diff --git a/settings.gradle.kts b/settings.gradle.kts index 2734517..9af0721 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -11,5 +11,5 @@ rootProject.name = "PeopleInSpace" include(":app", ":common", ":compose-desktop") include(":web") include(":compose-web") -include(":backend") +//include(":backend") include(":wearApp") diff --git a/wearApp/build.gradle.kts b/wearApp/build.gradle.kts index fd967f5..3fcfa36 100644 --- a/wearApp/build.gradle.kts +++ b/wearApp/build.gradle.kts @@ -18,7 +18,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion = Versions.compose + kotlinCompilerExtensionVersion = Versions.composeCompiler } kotlinOptions { @@ -53,6 +53,7 @@ dependencies { } with(Deps.Compose) { + implementation(compiler) implementation(wearFoundation) implementation(wearMaterial) implementation(wearNavigation)