---
description: Tutorials, guides, and updates for Capacitor development. Live Updates, plugins, Ionic, and cross-platform app development.
title: Blog – Capacitor Tutorials, Guides, and Updates - Capawesome
image: https://capawesome.io/docs/assets/images/social/blog/page/3/index.png
---

[ Skip to content](#blog) 

[ 🔐 Introducing the **Capacitor Vault** plugin — store secrets behind biometrics or a device passcode.](/blog/announcing-the-capacitor-vault-plugin/) 

* [  Formbricks ](/docs/plugins/formbricks/)
* [  Geocoder ](/docs/plugins/geocoder/)
* [  Google Sign-In ](/docs/plugins/google-sign-in/)
* [  Grafana Faro ](/docs/plugins/grafana-faro/)
* [  libSQL ](/docs/plugins/libsql/)
* [  Live Update ](/docs/plugins/live-update/)
* [  Managed Configurations ](/docs/plugins/managed-configurations/)
* [  Media Session ](/docs/plugins/media-session/)
* [  ML Kit ](/docs/plugins/mlkit/)
* [  Navigation Bar ](/docs/plugins/navigation-bar/)
* [  NFC ](/docs/plugins/nfc/)
* [  OAuth ](/docs/plugins/oauth/)
* [  Pedometer ](/docs/plugins/pedometer/)
* [  Photo Editor ](/docs/plugins/photo-editor/)
* [  PostHog ](/docs/plugins/posthog/)
* [  Printer ](/docs/plugins/printer/)
* [  Purchases ](/docs/plugins/purchases/)
* [  RealtimeKit ](/docs/plugins/realtimekit/)
* [  Screen Orientation ](/docs/plugins/screen-orientation/)
* [  Screenshot ](/docs/plugins/screenshot/)
* [  Secure Preferences ](/docs/plugins/secure-preferences/)
* [  Speech Recognition ](/docs/plugins/speech-recognition/)
* [  Speech Synthesis ](/docs/plugins/speech-synthesis/)
* [  Share Target ](/docs/plugins/share-target/)
* [  Square Mobile Payments ](/docs/plugins/square-mobile-payments/)
* [  SQLite ](/docs/plugins/sqlite/)
* [  Superwall ](/docs/plugins/superwall/)
* [  Torch ](/docs/plugins/torch/)
* [  Vault ](/docs/plugins/vault/)
* [  Wifi ](/docs/plugins/wifi/)
* [  Zip ](/docs/plugins/zip/)
* [  Cloud ](/docs/cloud/)
* [  Live Updates ](/docs/cloud/live-updates/)
* Advanced
* Integrations
* [  Native Builds ](/docs/cloud/native-builds/)
* [  Configuration ](/docs/cloud/native-builds/configuration/)
* [  Environments ](/docs/cloud/native-builds/environments/)
* Guides
* [  Sample Projects ](/docs/cloud/native-builds/sample-projects/)
* [  Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [  Automations ](/docs/cloud/automations/)
* [  Assist ](/docs/cloud/assist/)
* Account
* Organizations
* [  Organization and User Management ](/docs/cloud/organizations/memberships/)
* [  Single Sign-On (SSO) ](/docs/cloud/organizations/sso/)
* [  Teams ](/docs/cloud/organizations/teams/)
* [  Two-Factor Authentication ](/docs/cloud/organizations/two-factor-authentication/)
* [  Integrations ](/docs/cloud/integrations/)
* [  License Keys ](/docs/cloud/license-keys/)
* [  Webhooks ](/docs/cloud/webhooks/)
* [  Pricing ](https://capawesome.io/pricing/)
* [  FAQ ](/docs/cloud/faq/)
* [  Support ](/docs/cloud/support/)
* [  Contributing ](/docs/contributing/)
* [  LLMs ](/docs/llms/)
* [  Insiders ](/docs/insiders/)
* [  License ](https://capawesome.io/legal/eula/)
* [  Support ](/docs/insiders/support/)
* [  FAQ ](/docs/insiders/faq/)
* [  Blog ](/blog/)
* Categories

## [How to Migrate a Capacitor App to Swift Package Manager](/blog/how-to-migrate-a-capacitor-app-to-spm/)

Capacitor 8 made Swift Package Manager (SPM) the default dependency manager for new iOS projects, and CocoaPods is officially in maintenance mode. If you maintain an existing Capacitor app on CocoaPods, migrating to SPM is the path forward. This post walks you through what changes on the iOS side and three ways to perform the migration.

## [Apple's New Xcode 26 Requirement for Capacitor Apps](/blog/xcode-26-requirement-for-capacitor-apps/)

Yesterday, April 28, 2026, Apple's new SDK requirement went into effect. Every app submitted to App Store Connect now has to be built with Xcode 26 and the iOS 26 SDK (or the matching SDKs for iPadOS, tvOS, visionOS, and watchOS). If you're shipping a Capacitor app, here's what changed — and why most Capawesome Cloud customers don't need to lift a finger.

## [How to Wrap an Angular App with Capacitor and Firebase](/blog/how-to-wrap-an-angular-app-with-capacitor-and-firebase/)

If you already have an Angular web app, you can wrap it into a native iOS and Android app without rewriting your entire codebase. In this guide, we use a real demo app called **Trip Expenses** to walk through the full process with Capacitor, Ionic, Firebase, and a handful of native plugins.

## [How to Build and Deploy iOS Apps Without Owning a Mac](/blog/how-to-build-and-deploy-ios-apps-without-a-mac/)

If you're building a Capacitor app on Windows or Linux, you've probably hit the same wall every cross-platform developer eventually runs into: shipping to the App Store requires macOS. Xcode, `codesign`, and the iOS simulator all live exclusively on Apple hardware, and Apple isn't planning to change that any time soon. The good news is that you don't actually need a Mac on your desk to build, sign, and ship an iOS app.

## [Capawesome CLI 4.7.0 Release](/blog/capawesome-cli-4-7-0-release/)

Version 4.7.0 of the [Capawesome CLI](/docs/cloud/cli/) is now available. Building on the [4.5.0 release](/blog/capawesome-cli-4-5-0-release/), this update brings a unified command for creating live updates, new app management commands for linking repositories and transferring apps, ad hoc environment variables for builds, and source map detection to keep your production bundles clean.

## [The Right Way to Update Your Capacitor App Remotely](/blog/the-right-way-to-update-your-capacitor-app-remotely/)

One of the most common questions we get is: "What's the difference between using Live Updates and `server.url` in Capacitor?" Many developers use the `server.url` configuration option to load their app's web content from a remote server in production — even though it was never designed for that. In this post, we'll break down what each approach does, how they compare, and why Live Updates are the better choice for production apps.

## [How to Migrate a Capacitor Plugin to Swift Package Manager](/blog/how-to-migrate-a-capacitor-plugin-to-spm/)

Capacitor 8 made Swift Package Manager (SPM) the default dependency manager for iOS. If you maintain a Capacitor plugin that still relies on CocoaPods and Objective-C bridge files, your plugin won't work out of the box in SPM-based projects. This post walks you through what needs to change and three ways to get it done.

## [Capawesome March 2026 Update](/blog/2026-march-update/)

The Capawesome March update is here! This update includes new features and improvements for [Capawesome Cloud](/docs/cloud/) and our [Plugins](/docs/plugins/). Let's take a look at the most important changes.

## [How to Distribute iOS and Android Apps to Testers](/blog/how-to-distribute-ios-and-android-apps-to-testers/)

Getting a test build onto a tester's phone should be simple — but if you've ever dealt with TestFlight review delays, Firebase profile installations, or setting up OTA manifest files by hand, you know it's anything but. In this guide, we'll walk through how to distribute iOS and Android builds to testers and stakeholders with just a link or QR code, no app store submission required.

## [iOS Certificates and Provisioning Profiles Explained](/blog/ios-certificates-and-provisioning-profiles-explained/)

If you've ever hit a cryptic code signing error in Xcode and spent hours trying to figure out what went wrong, you're not alone. iOS code signing is one of the most confusing parts of iOS development, especially for developers coming from web or Android backgrounds. The good news is that once you understand the pieces and how they fit together, it all starts to make sense.

In this guide, you'll learn what certificates and provisioning profiles are, how they work together, and which combinations you need for each type of build.

 Back to top 