# cocoapods

CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects that resolves dependencies and creates Xcode workspaces.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## CocoaPods Deprecation Notice for OpenTelemetry Swift

DevFeed: [CocoaPods Deprecation Notice for OpenTelemetry Swift](<https://devfeed.tech/articles/cocoapods-deprecation-notice-for-opentelemetry-swift-32581.md>)

Original publisher: [Read original article](<https://opentelemetry.io/blog/2026/otel-swift-cocoapods-deprecation/>)

Author: OpenTelemetry Authors; Docs CC BY

Published: 2026-07-20T14:05:37Z

Content type: release

Language: en

Sources: [Blog on OpenTelemetry](<https://devfeed.tech/sources/blog-on-opentelemetry.md>)

Topics: [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>), [Maintainers](<https://devfeed.tech/topics/maintainers.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [migration](<https://devfeed.tech/tags/migration.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [release](<https://devfeed.tech/tags/release.md>), [releases](<https://devfeed.tech/tags/releases.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>)

### AI overview

OpenTelemetry Swift maintainers plan to deprecate CocoaPods support for the opentelemetry-swift and opentelemetry-swift-core pods as CocoaPods moves into maintenance mode. Swift Package Manager is the recommended installation method, and existing CocoaPods users are encouraged to plan migration.

### Source excerpt

As it was announced via CocoaPods Support Plan and via CocoaPods Spec Repository, CocoaPods is transitioning their project to maintenance mode, and cocoapods trunk is going to be read-only in a few months. The OpenTelemetry Swift maintainers are planning to deprecate CocoaPods support for all the pods published under opentelemetry-swift and opentelemetry-swift-core. Swift Package Manager (SPM) is now the recommended and preferred installation method for all new integrations. We encourage existing CocoaPods users to begin planning a migration to SPM.

## Migrating a Flutter Application from CocoaPods to Swift Package Manager

DevFeed: [Migrating a Flutter Application from CocoaPods to Swift Package Manager](<https://devfeed.tech/articles/flutter-spm-24864.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/yandex/articles/1054308/>)

Author: iamgirya (Яндекс)

Published: 2026-07-13T07:01:51Z

Content type: tutorial

Language: ru

Sources: [Яндекс - Как мы делаем Яндекс / Статьи](<https://devfeed.tech/sources/source.md>)

Topics: [Flutter](<https://devfeed.tech/topics/flutter.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Dart](<https://devfeed.tech/topics/dart.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [dart](<https://devfeed.tech/tags/dart.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [macos](<https://devfeed.tech/tags/macos.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>), [swiftpm](<https://devfeed.tech/tags/swiftpm.md>)

### AI overview

A practical guide to migrating Flutter applications from CocoaPods to Swift Package Manager. It covers dependency-graph analysis, plugin migration, dependency resolution, incremental migration, duplicate transitive dependencies, and successful iOS or macOS builds, including scripts for analysis and plugin conversion.

### Source excerpt

Flutter активно движется в сторону Swift Package Manager (SPM) и, как и весь Swift-мир, постепенно отказывается от CocoaPods. Сам Flutter описывает миграцию в два шага: включить флаг flutter config --enable-swift-package-manager и запустить сборку. Если после этого приложение собирается и в консоли появляется предложение deintegrate CocoaPods -- вы счастливчик. Если нет, добро пожаловать под кат. Привет! Меня зовут Даниил Гиренко, я Flutter-разработчик в Яндекс Про. Проект по переводу нашего супераппа с CocoaPods на Swift Package Manager оказался одним из самых сложных и долгих в моей карьере программиста. Весь мой пережитый ужас опыт я решил выразить в этой статье, чтобы решившиеся на миграцию разработчики (или агенты) понимали, какие подводные камни их ждут. Буду рад, если ваш проект займёт недели, а не месяцы, как у меня. В этой статье -- полноценный гайд по миграции любого Flutter-приложения. Разберём граф зависимостей, научимся мигрировать плагины, зарезолвим зависимости и доберёмся до успешного билда. Внутри есть готовые скрипты для анализа и автоматического перевода плагинов, множественные нюансы миграции и рассказы о моих костылях. Читать далее

## Testing a Gradle Plugin that interacts with Git

DevFeed: [Testing a Gradle Plugin that interacts with Git](<https://devfeed.tech/articles/testing-a-gradle-plugin-that-interacts-with-git-25587.md>)

Original publisher: [Read original article](<https://www.marcogomiero.com/posts/2025/test-gradle-plugin-git/>)

Author: Marco Gomiero

Published: 2025-05-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Posts on Marco Gomiero](<https://devfeed.tech/sources/posts-on-marco-gomiero.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Git](<https://devfeed.tech/topics/git.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [git](<https://devfeed.tech/tags/git.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This tutorial explains how to test a Gradle plugin that publishes Kotlin Multiplatform frameworks through Git-based CocoaPods repositories. It uses Gradle TestKit and local Git bare repositories to automate testing without relying on manual verification or actual remote repositories.

### Source excerpt

Some time ago, I built KMP Framework Bundler, a Gradle plugin for Kotlin Multiplatform projects that generates an XCFramework for Apple targets or a FatFramework for iOS targets and manages the publishing process to a CocoaPods repository. (Note: the plugin is currently in maintenance mode; using KMMBridge might be a better option.) After building the Framework, the plugin handles the publishing process by interacting with a Git-based CocoaPods repository. It copies the Framework into the repository, updates the podspec file with the latest version, commits the changes, and pushes them.

## Fastlane in Kotlin Multiplatform projects - Gustavo Fão Valvassori

DevFeed: [Fastlane in Kotlin Multiplatform projects - Gustavo Fão Valvassori](<https://devfeed.tech/articles/fastlane-in-kotlin-multiplatform-projects-gustavo-fao-valvassori-38203.md>)

Original publisher: [Read original article](<https://touchlab.co/fastlane-kmp>)

Published: 2025-03-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Android Library](<https://devfeed.tech/topics/android-library.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [rubygems](<https://devfeed.tech/topics/rubygems.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [android-library](<https://devfeed.tech/tags/android-library.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [community](<https://devfeed.tech/tags/community.md>), [fastlane](<https://devfeed.tech/tags/fastlane.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [rubygems](<https://devfeed.tech/tags/rubygems.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

A tutorial on using Fastlane to automate build, testing, and deployment tasks in Kotlin Multiplatform projects. It explains differences between Android and iOS setups, including projects using CocoaPods, Xcode Build Phases, or KMMBridge, and introduces Fastfile lanes and command-line execution.

### Source excerpt

Fastlane is a great tool for automating your mobile app tasks. In this post, we will show how to use Fastlane in a Kotlin Multiplatform project.

## KMMBridge 1.2.1 Released - Kevin Schildhorn

DevFeed: [KMMBridge 1.2.1 Released - Kevin Schildhorn](<https://devfeed.tech/articles/kmmbridge-1-2-1-released-kevin-schildhorn-38241.md>)

Original publisher: [Read original article](<https://touchlab.co/kmmbridge-1.2.1>)

Published: 2025-02-04T00:00:00Z

Content type: release

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [releases](<https://devfeed.tech/topics/releases.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [gradle-plugin](<https://devfeed.tech/topics/gradle-plugin.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kmmbridge](<https://devfeed.tech/tags/kmmbridge.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [release](<https://devfeed.tech/tags/release.md>), [spm](<https://devfeed.tech/tags/spm.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

KMMBridge 1.2.1 adds support for publishing Kotlin Multiplatform framework binaries as GitHub Releases for CocoaPods integration. It also improves CocoaPods build error logging.

### Source excerpt

KMMBridge is a Gradle plugin that publishes Kotlin Multiplatform Xcode Framework dependencies for Swift Package Manager and CocoaPods. The 1.2.1 release fixes issues around publishing packages using CocoaPods.

## KMMBridge 1.1.0 Released - Kevin Galligan

DevFeed: [KMMBridge 1.1.0 Released - Kevin Galligan](<https://devfeed.tech/articles/kmmbridge-1-1-0-released-kevin-galligan-38240.md>)

Original publisher: [Read original article](<https://touchlab.co/kmmbridge-1.1>)

Published: 2024-12-05T00:00:00Z

Content type: release

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [gradle-plugin](<https://devfeed.tech/topics/gradle-plugin.md>), [Maintainability](<https://devfeed.tech/topics/maintainability.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [.NET 11](<https://devfeed.tech/topics/net-11.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kmmbridge](<https://devfeed.tech/tags/kmmbridge.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [releases](<https://devfeed.tech/tags/releases.md>), [spm](<https://devfeed.tech/tags/spm.md>), [swift-package](<https://devfeed.tech/tags/swift-package.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

KMMBridge 1.1.0 is a significant internal refactoring of the Gradle plugin used to publish Kotlin Multiplatform Xcode Framework binaries through Swift Package Manager and CocoaPods. The release improves maintainability and adds Gradle configuration cache support where possible, while introducing separate modules for GitHub features and potentially requiring plugin ID changes for GitHub publishing.

### Source excerpt

KMMBridge is a Gradle plugin that publishes Kotlin Multiplatform Xcode Framework dependencies for Swift Package Manager and CocoaPods. The 1.1.0 release is a significant internal refactoring to support ongoing improvements and maintainability.

## Choosing Local Linking or Dependency Managers for Kotlin Multiplatform iOS Frameworks

DevFeed: [Choosing Local Linking or Dependency Managers for Kotlin Multiplatform iOS Frameworks](<https://devfeed.tech/articles/local-or-remote-how-you-add-your-kmp-framework-matters-kevin-schildhorn-38225.md>)

Original publisher: [Read original article](<https://touchlab.co/ios-framework-local-or-remote>)

Published: 2024-06-26T00:00:00Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [spm](<https://devfeed.tech/tags/spm.md>)

### AI overview

This article compares direct local linking with Swift Package Manager and CocoaPods for Kotlin Multiplatform frameworks in iOS projects. It recommends direct linking for local KMP development when possible, while noting that CocoaPods can make sense when it is already used for the app's dependencies and dependency managers are generally suited to published binaries.

### Source excerpt

Do you actually need to use SPM or Cocoapods to include KMP? You don't, and it might not be the right answer

## KMP Team Workflows with KMMBridge - Kevin Galligan

DevFeed: [KMP Team Workflows with KMMBridge - Kevin Galligan](<https://devfeed.tech/articles/kmp-team-workflows-with-kmmbridge-kevin-galligan-38244.md>)

Original publisher: [Read original article](<https://touchlab.co/kmmbridge-team-workflows>)

Published: 2023-10-06T10:00:28Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [kotlin-multiplatform-libraries](<https://devfeed.tech/topics/kotlin-multiplatform-libraries.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Template](<https://devfeed.tech/topics/template.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [binaries](<https://devfeed.tech/tags/binaries.md>), [build](<https://devfeed.tech/tags/build.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [project](<https://devfeed.tech/tags/project.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This article explains how KMMBridge supports Kotlin Multiplatform team workflows by assembling and publishing Xcode Framework binaries for distribution through Swift Package Manager, CocoaPods, or private repositories. It also introduces a Quick Start template for publishing Android and iOS binaries.

### Source excerpt

Team workflows with Kotlin Multiplatform vary in structure. KMMBridge is a tool that allows you to publish Xcode Framework binaries from Kotlin that can be distributed, for your team internally, or to outside developers.

## When Should I Use KMMBridge? - Russell Wolf

DevFeed: [When Should I Use KMMBridge? - Russell Wolf](<https://devfeed.tech/articles/when-should-i-use-kmmbridge-russell-wolf-38348.md>)

Original publisher: [Read original article](<https://touchlab.co/when-should-i-use-kmmbridge>)

Published: 2023-01-10T08:00:00Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [kmmbridge](<https://devfeed.tech/tags/kmmbridge.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-multiplatform-mobile](<https://devfeed.tech/tags/kotlin-multiplatform-mobile.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>)

### AI overview

This article explains when teams should use KMMBridge rather than KaMPKit for Kotlin Multiplatform projects. It focuses on teams with existing iOS applications, separate repositories, or developers who do not need to work directly with Kotlin, and describes consuming published Kotlin binaries through CocoaPods or Swift Package Manager.

### Source excerpt

Here is how to determine when to use KMMBridge vs KaMPKit for your multiplatform projects, depending on your team's needs.

## Samples of Using KMMBridge - Michael Friend

DevFeed: [Samples of Using KMMBridge - Michael Friend](<https://devfeed.tech/articles/samples-of-using-kmmbridge-michael-friend-38312.md>)

Original publisher: [Read original article](<https://touchlab.co/samples-of-using-kmmbridge>)

Published: 2022-11-29T16:25:42Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [gradle-plugin](<https://devfeed.tech/topics/gradle-plugin.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [code-sharing](<https://devfeed.tech/tags/code-sharing.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kmm](<https://devfeed.tech/tags/kmm.md>), [kmmbridge](<https://devfeed.tech/tags/kmmbridge.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [spm](<https://devfeed.tech/tags/spm.md>), [swift-package](<https://devfeed.tech/tags/swift-package.md>)

### AI overview

This sample project demonstrates how to add Kotlin Multiplatform code to existing Android and iOS apps using KMMBridge. It describes a setup split across four repositories, with SDK distribution through CocoaPods and Swift Package Manager.

### Source excerpt

As you explore how KMM can help your mobile dev team, we've put together more KMMBridge sample to help you evaluate this best-in-class tool.

## The Evolution of Kotlin Multiplatform Mobile - 2022 Edition - Russell Wolf

DevFeed: [The Evolution of Kotlin Multiplatform Mobile - 2022 Edition - Russell Wolf](<https://devfeed.tech/articles/the-evolution-of-kotlin-multiplatform-mobile-2022-edition-russell-wolf-38328.md>)

Original publisher: [Read original article](<https://touchlab.co/the-evolution-of-kotlin-multiplatform-mobile>)

Published: 2022-10-31T18:13:15Z

Content type: opinion

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [kotlin multiplatform mobile](<https://devfeed.tech/topics/kotlin-multiplatform-mobile.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [kotlin-native](<https://devfeed.tech/topics/kotlin-native.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [Library](<https://devfeed.tech/topics/library.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [swift-package](<https://devfeed.tech/topics/swift-package.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-multiplatform-mobile](<https://devfeed.tech/tags/kotlin-multiplatform-mobile.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>)

### AI overview

This retrospective traces Kotlin Multiplatform Mobile from its early experimental stage, when Kotlin/Native memory management, Gradle configuration, and Xcode integration were difficult, to a more mature state with improved memory management, iOS integration through CocoaPods and Swift Package Manager, and better Kotlin-to-Swift interoperability. It also describes growth in the KMM library ecosystem, from about five published libraries in 2018 to more than 1,000 relevant artifacts on Maven Central.

### Source excerpt

Kotlin Multiplatform has come a long way in the last few years. As someone who was there when the KMP community first formed, I've seen the ecosystem grow from a few developers trying things out experimentally to a growing number of teams using it in their production apps. With the Kotlin Multiplatform Mobile Beta freshly announced, it's a neat moment to look back on how far everything has come. How It Started In the early days, KMP wasn't very easy for new users.

## Quick Start with KMMBridge - 1 hour tutorial - Kevin Galligan

DevFeed: [Quick Start with KMMBridge - 1 hour tutorial - Kevin Galligan](<https://devfeed.tech/articles/quick-start-with-kmmbridge-1-hour-tutorial-kevin-galligan-38310.md>)

Original publisher: [Read original article](<https://touchlab.co/quick-start-with-kmmbridge-1-hour-tutorial>)

Published: 2022-10-24T23:13:36Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Development](<https://devfeed.tech/topics/development.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [built-by-touchlab](<https://devfeed.tech/tags/built-by-touchlab.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [kmm](<https://devfeed.tech/tags/kmm.md>), [kmmbridge](<https://devfeed.tech/tags/kmmbridge.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [quick-start](<https://devfeed.tech/tags/quick-start.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A tutorial for using Touchlab's KMMBridge Gradle tool to build and publish an Xcode Framework from Kotlin for integration into an Xcode project without compiling Kotlin locally. It focuses on basic Kotlin Multiplatform integration for teams using GitHub, CocoaPods or Swift Package Manager, and GitHub Actions.

### Source excerpt

Staying true to our goal of making it easier for teams to get the benefits of Kotlin Multiplatform more quickly, this tutorial will help many of you get a basic integration working in about an hour or less. The tooling available for KMM and KMP has been mostly focused around local dev, but as adoption continues to increase, tooling for teams needs to mature as well.

## Building an XCFramework on Kotlin Multiplatform from Kotlin 1.5.30

DevFeed: [Building an XCFramework on Kotlin Multiplatform from Kotlin 1.5.30](<https://devfeed.tech/articles/building-an-xcframework-on-kotlin-multiplatform-from-kotlin-1-5-30-25559.md>)

Original publisher: [Read original article](<https://www.marcogomiero.com/posts/2021/kmp-xcframework-official-support/>)

Author: Marco Gomiero

Published: 2021-08-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Posts on Marco Gomiero](<https://devfeed.tech/sources/posts-on-marco-gomiero.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [building](<https://devfeed.tech/tags/building.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [macos](<https://devfeed.tech/tags/macos.md>), [release](<https://devfeed.tech/tags/release.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>)

### AI overview

A tutorial on using the official XCFramework support introduced in Kotlin 1.5.30 for Kotlin Multiplatform projects. It explains how to replace custom Gradle tasks, build debug and release XCFramework variants, and distribute them through options such as CocoaPods or Swift Package Manager.

### Source excerpt

A few days ago, Kotlin 1.5.30 has been released. One of the features contained in the release is the official support for XCFrameworks on Kotlin Multiplatform. XCFramework is a binary that can contain multiple platform-specific variants (even for iOS and macOS at the same time). It has been introduced by Apple during the WWDC 2019 as a replacement for FatFrameworks. Before Kotlin 1.5.30, an XCFramework could be created only by running the xcrun command that will pack the frameworks for every different required platform into an XCFramework.

## Testing a Shared KMM Repo Locally

DevFeed: [Testing a Shared KMM Repo Locally](<https://devfeed.tech/articles/testing-a-shared-kmm-repo-locally-25526.md>)

Original publisher: [Read original article](<https://aleckazakova.com/posts/local-kmm/>)

Author: Author

Published: 2021-05-04T01:37:14Z

Content type: tutorial

Language: en

Sources: [Posts on AlecStrong](<https://devfeed.tech/sources/posts-on-alecstrong.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kmm](<https://devfeed.tech/tags/kmm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-multiplatform-mobile](<https://devfeed.tech/tags/kotlin-multiplatform-mobile.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A tutorial on developing Kotlin Multiplatform Mobile code locally when shared code is maintained in a separate repository. It describes using Gradle composite builds for Android and CocoaPods local development for iOS instead of published artifacts.

### Source excerpt

There's a lot of different ways of organizing your Kotlin Multiplatform Mobile codebase, Ben Asher and I gave an overview of some of those at KotlinConf 2019, where I described a setup where the shared code lives in your iOS and Android codebase and is copied between them. The pro of this was an easy local development setup, but there are a lot of cons. We moved away from this style to a separate (third) repository for the multiplatform code last year.

## SQLCipher and KMM

DevFeed: [SQLCipher and KMM](<https://devfeed.tech/articles/sqlcipher-and-kmm-25953.md>)

Original publisher: [Read original article](<https://medium.com/@kpgalligan/sqlcipher-and-kmm-58d96ea8095d?source=rss-c2f810aa7890------2>)

Author: Kevin Galligan

Published: 2020-09-23T15:17:52Z

Content type: tutorial

Language: en

Sources: [Stories by Kevin Galligan on Medium](<https://devfeed.tech/sources/stories-by-kevin-galligan-on-medium.md>)

Topics: [Encryption](<https://devfeed.tech/topics/encryption.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

A follow-up tutorial explains how to configure SQLDelight with SQLCipher for Kotlin Multiplatform, focusing on the iOS implementation. It covers forcing a fixed SQLiter version, configuring the native driver, disabling SQLite linking, and adding the SQLCipher dependency through CocoaPods.

### Source excerpt

Here's a quick little followup to Sam's post: Multiplatform Encryption with SQLDelight and SQLCipher. Recently for a client we needed to implement this with Kotlin 1.4.0, and ran into a couple issues. I'm only going to describe how to get the iOS side working as Android is pretty straightforward (although Android is in the sample and video). Here's KaMPKit updated to use SQLCipher touchlab-lab/KaMPKitSQLCipher The cipher key is hardcoded in code. Do *not* do that in your app. You need to get your key from a more secure source. Here's a video showing edits on KaMP Kit: https://medium.com/media/e66f6e9738b614e0f6e2040ef887c0c1/href SQLiter ran into an issue setting the key for SQLCipher. That apparently used to work, but stopped at some point. There was a PR to fix that, but that was not merged in before 0.7.0 was released. 0.7.0 is used in the current version of SQLDelight, so you'll need to force this fixed version. sourceSets["iosMain"].dependencies { implementation("co.touchlab:sqliter:0.7.1") { version { strictly("0.7.1") } } //etc... } We also had an issue with our custom cocoapods fork, so if by chance you're using that, you'll need to use the latest, which is version 0.12. To configure your SQLDelight driver for native, you need to supply a custom DatabaseConfiguration for SQLiter. val schema = YourDb.Schema //SQLDelight Schema val configuration = DatabaseConfiguration( name = "YourDbName", version = schema.version, create = { connection -> wrapConnection(connection) { schema.create(it) } }, upgrade = { connection, oldVersion, newVersion -> wrapConnection(connection) { schema.migrate(it, oldVersion, newVersion ) } } ,key = yourCipherKey ) val driver = NativeSqliteDriver(configuration) To get this all to work in iOS, as discussed in Sam's post, disable sqlite linking: sqldelight { database("YourDb") { packageName = "co.touchlab.yourapp.db" linkSqlite = false } } Then add the SQLCipher dependency (if using cocoapods) cocoapods[ext] { summary = "Shared code for Y

## Creating a simple Kotlin Multiplatform project based on moko-template

DevFeed: [Creating a simple Kotlin Multiplatform project based on moko-template](<https://devfeed.tech/articles/creating-a-simple-kotlin-multiplatform-project-based-on-moko-template-24581.md>)

Original publisher: [Read original article](<https://medium.com/icerock/creating-a-simple-kotlin-multiplatform-project-based-on-moko-template-2dd87d020bbd?source=rss-2f461fccc401------2>)

Author: IceRock Development

Published: 2019-11-08T19:52:31Z

Content type: tutorial

Language: en

Sources: [Stories by IceRock Development on Medium](<https://devfeed.tech/sources/stories-by-icerock-development-on-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Template](<https://devfeed.tech/topics/template.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Binance](<https://devfeed.tech/topics/binance.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [api](<https://devfeed.tech/tags/api.md>), [build](<https://devfeed.tech/tags/build.md>), [building](<https://devfeed.tech/tags/building.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [files](<https://devfeed.tech/tags/files.md>), [github](<https://devfeed.tech/tags/github.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [project](<https://devfeed.tech/tags/project.md>), [repository](<https://devfeed.tech/tags/repository.md>), [the-result](<https://devfeed.tech/tags/the-result.md>)

### AI overview

A tutorial for creating a simple Kotlin Multiplatform application for Android and iOS from the moko-template. It covers the required tools, the template's shared library and modules, cloning the generated repository, testing builds, and setting application identifiers, names, and icons. The example application uses the GIPHY API to display GIF files with native Android and iOS interfaces.

### Source excerpt

1. Intro In this lesson we will cover developing small application for iOS and Android using Kotlin Multiplatform based on moko-template. Tools We will need: Android Studio 3.4.0+ (do not use 3.5.1 version, cause there is a bug is breaking MPP project); Xcode 10.3+; Xcode Command Line Tools (xcode-select --install); CocoaPods (sudo gem install cocoapods); JDK -- требуется для запуска gradle из Xcode build phase. The Result As the result of GiphyApp lessons you will get an application to view gif files using GIPHY API. UI of this application will be completely native, player of gif files will make using native libraries glide for Android and SwiftyGif for iOS. 2. Create the project based on moko-template For creation we will use project template from moko-template. The project template already has preconfigured builds of iOS and Andoroid application with shared library and you will save the time to integrate shared library to iOS project on iOS platform, to configure Kotlin Multiplatform modules and dependencies (using mobile-multiplatform-gradle-plugin you can make configuraion is simplier). The project template has a sample of several features as well as. Use this template To use this template you have to go on GitHub репозиторий шаблона moko-template and press a green button Use this template. As the result, you create a new repository according to the last commit of master branch of moko-template project. After succefull creation you should clone this rep: git clone <git url of repo>. 3. Test build To be sure that start state is correct, will run the both applications. To do this: on Android: open root repository directory in Android Studio, wait while Gradle Sync will finish, and run android-app as regular application. on iOS: install project's CocoaPods (in directory ios-app run a command pod install, and after this open ios-app/ios-app.xcworkspace in Xcode and press Run for running application. Building of Kotlin/Native can take a time (it will start automatica

## How to start use Kotlin Multiplatform for mobile development

DevFeed: [How to start use Kotlin Multiplatform for mobile development](<https://devfeed.tech/articles/how-to-start-use-kotlin-multiplatform-for-mobile-development-24584.md>)

Original publisher: [Read original article](<https://medium.com/icerock/how-to-start-use-kotlin-multiplatform-for-mobile-development-1d3022742178?source=rss-2f461fccc401------2>)

Author: IceRock Development

Published: 2019-11-01T15:40:22Z

Content type: tutorial

Language: en

Sources: [Stories by IceRock Development on Medium](<https://devfeed.tech/sources/stories-by-icerock-development-on-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [development](<https://devfeed.tech/tags/development.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [install](<https://devfeed.tech/tags/install.md>), [ios](<https://devfeed.tech/tags/ios.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [swift](<https://devfeed.tech/tags/swift.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A tutorial for converting standard Android and iOS projects into a Kotlin Multiplatform project with a shared library. It covers project setup, required development tools, Gradle module creation, mobile target configuration, and writing common Kotlin code.

### Source excerpt

1. Set up Kotlin Multiplatform Project We are going to turn two standard projects (Android and iOS) into a multiplatform project with a shared library on Kotlin Multiplatform. We will need: Android Studio 3.4.0+ (do not use 3.5.1 version, cause there is a bug is breaking MPP project); Xcode 10.3+; Xcode Command Line Tools (xcode-select --install); CocoaPods (sudo gem install cocoapods). To start, we'll need an Android project created from an Android Studio template and an iOS project created from an Xcode template. Put both projects in the same directory: ├── android-app │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ ├── androidTest │ │ └── java │ │ └── com │ │ └── icerockdev │ │ └── android_app │ │ └── ExampleInstrumentedTest.kt │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ └── icerockdev │ │ │ └── android_app │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ ├── layout │ │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── icerockdev │ └── android_app │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── ios-app │ ├── ios-app │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json