Skip to content

iOS App Extensions - Release build error #5520

Open
@jessorlisa

Description

@jessorlisa

Environment

  • CLI: ├── nativescript@7.2.1
  • Cross-platform modules: @nativescript/core@7.3.0
  • Android Runtime: -
  • iOS Runtime: ├── @nativescript/ios@6.5.4 (JSC)
  • XCode Version: Xcode 12.4 (12D4e)
  • Plugin(s):
    ├── @nativescript/angular@11.2.0
    ├── @nativescript/webpack@4.1.0

Describe the bug
We set up a Share extension following the instructions here, it is working as intended and the development build is working fine as well.

{N}7 documentation: iOS App Extensions
(The GitHub version of the documentation page can be found here.)


But the release build fails with the error/warning message:

error: Provisioning profile "myApp" has app ID "com.myapp.mobile", which does not match the bundle ID "com.myapp.mobile.share". (in target 'share' from project 'myappcommobile')
warning: Provisioning profile "myApp" for "myappcommobile" contains entitlements that aren't in the entitlements file: com.apple.developer.associated-appclip-app-identifiers. To use these entitlements, add them to your entitlements file. Otherwise, remove unused entitlements from your provisioning profile. (in target 'myappcommobile' from project 'myappcommobile')

The relevant release build steps are:

(1) Prepare the provisioning profile of the main app (myApp):

mac-003:mobile user$ rm "/Users/user/Library/MobileDevice/Provisioning Profiles/"*
mac-003:mobile user$ uuid=`grep UUID -A1 -a myApp.mobileprovision | grep -io "[-A-F0-9]\{36\}"`
mac-003:mobile user$ cp myApp.mobileprovision "/Users/user/Library/MobileDevice/Provisioning Profiles/$uuid.mobileprovision"
mac-003:mobile user$ ns prepare ios --provision $uuid


Preparing project...

[...]

Project successfully prepared (ios)

(2) Prepare the provisioning profile of the share extension (myApp_Share):

mac-003:mobile user$ uuid2=`grep UUID -A1 -a myApp_Share.mobileprovision | grep -io "[-A-F0-9]\{36\}"`
mac-003:mobile user$ cp myApp_Share.mobileprovision "/Users/user/Library/MobileDevice/Provisioning Profiles/$uuid2.mobileprovision"
mac-003:mobile user$ ns prepare ios --provision $uuid2

Preparing project...

[...]

Project successfully prepared (ios)

(3) Run the release build

mac-003:mobile user$ ns build ios --clean --for-device --env.report --env.hiddenSourceMap --certificate keychain.p12 --certificatePassword myPassword --release --provision $uuid

Preparing project...

[...]

Building project...
Xcode build...
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
error: Provisioning profile "myApp" has app ID "com.myapp.mobile", which does not match the bundle ID "com.myapp.mobile.share". (in target 'share' from project 'myappcommobile')

[... removed unrelated warnings for readability ...]

** ARCHIVE FAILED **

Command xcodebuild failed with exit code 65

To Reproduce

  • Set up a Share extension as explained here.
  • Run a release build

Expected behavior
The release build succeeds the same the development build does.

Additional context
It seems the CLI does not recognize all profiles as eligible:

mac-003:mobile user$ ns prepare ios --provision
Searching for devices...
┌──────────────────────────────────────────┬────────────┬──────────────┬─────────┐
│ Provision Name / Provision UUID / App Id │ Team       │ Type / Due   │ Devices │
│                                          │            │              │         │
│ 'myApp'                                  │ myTeam     │ Distribution │         │
│ <uuid>                                   │ (<teamid>) │ 5 Mar 2022   │         │
│ <teamid>.com.myapp.mobile                │            │              │         │
└──────────────────────────────────────────┴────────────┴──────────────┴─────────┘

There are also 1 non-eligable provisioning profiles.

Please let me know if there is anything else you need to assist us on this. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions