NativeScript / NativeScript/nativescript-cli

iOS Archive does not respect release flag

Open
#2,999 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

I've spent hours debugging a problem with an IPA and ends ups that the CLI does not respect the --release flag when it does archiving. I have the following in my build.xconfig:

DEVELOPMENT_TEAM = 9832T735TV;

CODE_SIGN_ENTITLEMENTS = <My App>/Resources/app.entitlements;
CODE_SIGN_IDENTITY[config=Debug] = iPhone Developer;
CODE_SIGN_IDENTITY[config=Release] = iPhone Distribution;

PROVISIONING_PROFILE[config=Debug] = a5ec2d86-9bfb-48e4-b8c0-a75c39a0a5bd;
PROVISIONING_PROFILE[config=Release] = a03834fd-afb5-4bda-a789-c6bda4550ec0;

ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;

When I run tns build ios --for-device --release and I inspect the contents of the platforms/ios/build/device/<myapp>.app the embedded.mobileprovision is the correct one (the Release one above). But if I extract the IPA file's Payload and inspect the embeeded.mobileprovision there it is the wrong one (the Debug one above). If I go to platforms/ios/archive and open the archive in XCode and export for AdHoc (for example) the correct provisioning profile is being used.

Expected behavior
The CLI should use the same provision profile when archiving as the one used to build the .app file.

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 with the tns build ios --for-device --release archive flow and compare the provisioning profile selected in platforms/ios/build/device/<myapp>.app with the one embedded in the extracted IPA. Then inspect the related contents under platforms/ios/archive; done means the archive uses the same Release profile as the built app.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, javascript
Domain
cli, mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.