1. Home
  2. Developers
  3. Player SDKs
  4. iOS Native Player SDK: moving from CocoaPods to Swift Package Manager

iOS Native Player SDK: moving from CocoaPods to Swift Package Manager


CocoaPods Trunk, the service that pod authors publish new versions to, stops accepting new pod versions on 2 December 2026, as the CocoaPods team announced. Version 8.64 of the Blue Billywig iOS Native Player SDK is the last version we publish to CocoaPods. From 8.65 on, new versions ship through Swift Package Manager (SPM) only.

1.0 | What changes for your app

  • Your app keeps building. Every version already published stays available through pod install.
  • 8.64 is the last CocoaPods version. An app that stays on CocoaPods gets no further SDK updates, including bug fixes and security fixes.
  • 8.65 and every later version are available through SPM only, from the same repository as today: https://github.com/bluebillywig/bbnativeplayerkit-cocoapod.
  • The Android SDK is not affected.

Do you use our Flutter or React Native plugin? You may see the build warning from section 2.0, because the plugin pulls in the iOS SDK through CocoaPods. The steps in this article are for apps that use the iOS SDK directly. Check the release notes of the plugin instead.

2.0 | The build warning in 8.63 and 8.64

From version 8.63, the CocoaPods version of the SDK prints this warning in Xcode at every build:

BlueBillywigNativePlayerKit-iOS: CocoaPods Trunk stops accepting new versions on 2 Dec 2026. 8.64 is the last version on CocoaPods. Newer versions ship via Swift Package Manager only. See https://support.bluebillywig.com/native-sdk/ios-sdk-cocoapods-to-swift-package-manager/

The warning only prints text. It does not stop the build and does not change what the SDK does. It disappears once you move to SPM.

2.1 | The “added 1 script phase” message

The warning comes from a build script that the SDK pod adds to your project. Because of that script, CocoaPods prints this message when it installs or updates the pod:

[!] BlueBillywigNativePlayerKit-iOS has added 1 script phase. Please inspect before executing a build. See `https://guides.cocoapods.org/syntax/podspec.html#script_phases` for more information.

CocoaPods prints this for every pod that adds a script, so you can check what it runs. In the Pods project, the BlueBillywigNativePlayerKit-iOS target usually has a build phase called [CP-User] Blue Billywig distribution notice. It runs a single echo command that prints the warning from section 2.0. It does not read or change any files.

3.0 | Move to Swift Package Manager

The SPM package contains the same SDK as the pod and needs iOS 14.0 or later. It also brings in the shared module, Google IMA, Google User Messaging Platform and Google Cast, so you do not add those yourself. Your import BBNativePlayerKit and import bbnativeshared lines stay the same.

3.1 | Remove the pod

  1. In your Podfile, find the Google Cast line. If it contains NoBluetooth or no-bluetooth, your app uses Google Cast without Bluetooth. You need this in section 3.2. Then remove the Google Cast line and the BlueBillywigNativePlayerKit-iOS line.
  2. If your Podfile also lists BlueBillywigNativeShared-iOS, GoogleAds-IMA-iOS-SDK, GoogleUserMessagingPlatform or a Google Cast pod, remove those lines too. The SPM package brings its own copies, and two copies of the same framework in one app cause duplicate symbol errors.
  3. Other pods can bring in one of these frameworks as well. Google-Mobile-Ads-SDK, for example, brings in GoogleUserMessagingPlatform. Move such a pod to SPM too, so SPM installs one copy for both.
  4. If other pods are left in your Podfile, run pod install. If no pods are left, run pod deintegrate instead. In that case, also delete the Podfile, the Podfile.lock, the Pods folder and the .xcworkspace, and open the .xcodeproj from then on.

3.2 | Add the package

  1. In Xcode, go to File > Add Package Dependencies.
  2. Enter https://github.com/bluebillywig/bbnativeplayerkit-cocoapod in the search field.
  3. Set Dependency Rule to Exact Version and enter 8.63.0 or a later version. A new SDK version can contain breaking changes even when only the middle number goes up, so the other rules can pull in changes you did not plan for.
  4. Click Add Package. Xcode lists the two products of the package. Pick one, based on the Google Cast line from section 3.1. Set Add to Target to your app target for that product, and to None for the other one.
Your Google Cast lineProduct to add
contains NoBluetooth or no-bluetoothBlueBillywigNativePlayerKit-iOS-NoBluetooth
any other Google Cast lineBlueBillywigNativePlayerKit-iOS

Never add both products. Each one contains its own copy of Google Cast.

If your app uses Google IMA or Google User Messaging Platform itself, add those to your app target as well. Open your app target’s General tab, click + under Frameworks, Libraries, and Embedded Content and add GoogleInteractiveMediaAds or GoogleUserMessagingPlatform. Both are already in the project through the SDK package, in the version the SDK needs.

3.3 | Google Cast and Bluetooth

The SDK needs Google Cast, so your app already uses one of the two Google Cast versions: with Bluetooth or without. The product from section 3.2 keeps the version you had, and your Info.plist stays as it is.

The BlueBillywigNativePlayerKit-iOS-NoBluetooth product exists from version 8.63. Older versions have only the product with Bluetooth. If your app uses Google Cast without Bluetooth, move to 8.63 or later.

3.4 | Check the result

Build the app and play a clip. If you use ads, check that an ad plays. If you use Chromecast, check that your Cast devices show up.

4.0 | Staying on CocoaPods

You can stay on CocoaPods with version 8.64. Pin the SDK line in your Podfile to 8.64 and leave your Google Cast line as it is:

pod 'BlueBillywigNativePlayerKit-iOS', '~> 8.64.0'

~> 8.64.0 also accepts a later 8.64 fix release, if we publish one. The SDK, Google IMA and Google Cast then stay at the versions 8.64 ships with. New features, bug fixes and security fixes reach your app only after you move to SPM, so we recommend moving.

5.0 | Questions

Contact support@bluebillywig.com if you need help with the move.

Was this article helpful?

Related Articles

Contact Support
Can't find the answer you're looking for?
Contact Support