Skip to content

iOS App Extension Support #3427

@shannah

Description

@shannah

App extensions are like separate apps embedded within the main app bundle on iOS. They have their own App ID and need their own provisioning profile and entitlements. I plan to add support for adding app extensions by using the the following process:

In maven build:

  1. When performing iOS build, it will look for directories of the form ios/app_extensions/*. These directories are app extension projects that have already been created in Xcode.
    1.1. For each of these appextension projects, it zips them with the extension ".ios.appext", and includes them in the bundle that is sent to the build server.
  2. Also, when performing iOS build, it will look for provisioning profiles in the common/iosCerts directory, and it will include these in the bundle that is sent to the build server.

On build server

  1. Any files with ios.appext it finds in the bundle, it will extract and add to the main project as an app extension.
  2. Any provisioning profiles it finds in the bundle, it will add to the project's keychain so that they can be referenced during build.
  3. It provides necessary wiring so that the project will build with the app extensions.

In Maven "Generate Xcode Project" build target

It will perform same steps as build server to inject the share extension into the project. It may not do anything with provisioning profiles, and rather let Xcode take care of this, like it does with the main project.

In Certificate wizard

If the user chooses to generate provisioning profile, then it will look in the ios/app_extensions/ directory to find any app extensions that need provisioning profiles, and it will generate profiles for them also, and save them in the common/iosCerts directory.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions