NativeScript / NativeScript/nativescript-cli

[Tracking] iOS App Extensions

Open
#4,472 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

os: ios
Dominant language
JavaScript
Stars
1.1k
Forks
204
Avg merge
1d 9h
Merged PRs (30d)
8

Description

Overview

iOS App Extensions feature enables adding extension via NativeScript plugins or with adding extensions folder inside App_Resources/iOS/.

The extension should be created and developed inside Xcode. Once the user is happy with the result, the folder containing the extension should be copied inside App_Resources/iOS/extensions. The an extension.json should be added. This file describes the SDK frameworks used in the extension and the assetcatalogCompilerAppiconName. For example:

{
    "frameworks": ["NotificationCenter.framework"],
    "assetcatalogCompilerAppiconName": "AppIconExtension"
}  

In the example above you should have an .xcassets catalog with AppIconExtension.appiconset inside the extension folder.

Each folder inside App_Resources/iOS/extensions is considered a separate extension and the folder name is considered the extension name.

Known issues
  • The extensions inside NativeScript application support only Automatic code signing. Any provision configuration inside App_Resources/iOS/build.xcconfig will be ignored. And the application build will most probably fail.
  • Currently including multiple extensions using the same SDK framework is not supported.
  • Local frameworks (not SDK ones) will not be included in the build of the extension

Discussion

Please, don't report problems here. Instead, open a new issue and link it to this one.
Let's use this discussion for suggestions and improvement ideas. We would love to hear from you!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the Overview and Known issues sections of this tracking issue. It does not name implementation files, tests, or a single scoped change; use the listed extension behavior and unresolved signing, framework, and multi-extension limitations to define a concrete follow-up issue. Done would require a separately scoped improvement with explicit validation.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, javascript
Domain
cli, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.