Skip to content

# How-to guides

How-to guides are recipes that take the user through steps in key subjects. They are more advanced than tutorials and assume a lot more about what the user already knows than tutorials do, and unlike documents in the tutorial they can stand alone.

## Obtaining a Code Signing identity

- Android - One way to sign your app where the Google Play Store maintains the authoritative key for your app.
- macOS - How to generate a macOS code signing identity, which is required to distribute your application.
- Windows - Obtaining a codes signing certificate from a Certificate Authority and installing it in a Windows certificate store.

## Building different types of apps

- Building your app in CI with GitHub Action - This GitHub Actions workflow provides the basic framework necessary to test, build, and package a Briefcase project in CI for Windows, Linux, macOS, iOS, and Android.
- Building your Console app with Briefcase - The key differences when creating a console application using Briefcase, as opposed to a GUI-based app.
- Packaging external apps - Learn how Briefcase can be used to package an application that has been constructed using another tool.

## Debugging apps

- Debugging apps with PDB - How to debug an app using Python's built-in `pdb` debugger.
- Debugging apps with Visual Studio Code - How to debug an app using the debugger built into Visual Studio Code.

## Testing apps

- Testing Linux Apps with Docker - Configure your system to use Docker to build apps for Linux distributions other than the distribution you're currently using.

## Publishing your app

- Android - Distribute a BeeWare app on the Google Play Store.
- iOS - Publish an iOS app to the Apple App Store.
- macOS - Publish a macOS app to the Apple App Store.

## Contributing to Briefcase

- Contributing to Briefcase - The many ways you can contribute to Briefcase, including what you can do and how to do it.

## Internal How-to guides

- How to cut a Briefcase release - The procedure for cutting a new release of Briefcase.

## Upgrading from previous versions

- Upgrading from Briefcase v0.2 - The changes to configuration and processes needed to upgrade from v0.2 to v0.3.