Fixes $(PRODUCT_BUNDLE_IDENTIFIER) not being resolved for a product archive#494
Fixes $(PRODUCT_BUNDLE_IDENTIFIER) not being resolved for a product archive#494
Conversation
dpogue
left a comment
There was a problem hiding this comment.
🙌 Thanks for tracking this down and resolving it Shazron!
|
Note that this does not resolve all types of variables in the CFBundleIdentifier, just the simple case of the value being one variable |
|
Bah linting errors, will fix |
|
Thanks @shazron. The ios-deploy successfully works! with following command However I had still following manual changes.
in project.pbxproj file) |
Codecov Report
@@ Coverage Diff @@
## master #494 +/- ##
==========================================
- Coverage 75.56% 74.75% -0.82%
==========================================
Files 11 11
Lines 1801 1822 +21
==========================================
+ Hits 1361 1362 +1
- Misses 440 460 +20
Continue to review full report at Codecov.
|
|
Yeah I should add that Changing from automatic signing to manual signing still needs to be user interactive for now. I'll leave this PR open in case I figure how to do it from code (using node-xcode). Two things need to be changed, that setting you mentioned (see screenshot), and CODE_SIGN_STYLE=Manual (from Automatic). |
This should work... # line 209
if (buildOpts.provisioningProfile && bundleIdentifier) {
exportOptions.provisioningProfiles = { [ bundleIdentifier ]: String(buildOpts.provisioningProfile) };
exportOptions.signingStyle = 'manual';
+ events.emit('verbose', 'Set CODE_SIGN_STYLE to Manual.');
+ project.xcode.updateBuildProperty('CODE_SIGN_STYLE', 'Manual');
+ project.xcode.addTargetAttribute('ProvisioningStyle', 'Manual');
+
+ fs.writeFileSync(locations.pbxproj, project.xcode.writeSync(), 'utf-8');
} |
|
Been playing with this and updating the Xcode project, but I still haven't managed to get a working build using automatic signing. It's just making a build with no embedded.mobileprovision. As part of #489 I moved most of the build.json properties that had been going into buildExtras.xcconfig into the xcodeproj (for consistency with Xcode-generated projects). |
|
Thanks @dpogue! I'll add those settings and test |
- If a provisioning profile is set, set CODE_SIGN_STYLE build setting to 'Manual' - If a provisioning profile is set, set ProvisioningStyle target attribute to 'Manual' - if provisioning profile is NOT set AND 'automaticProvisioning' build option is set to TRUE, reverse the manual settings from above to 'Automatic'
|
@dpogue I had to move your code upwards one in the promise chain, before the build runs. If the |
…rchive (apache#494) * Fix shelljs error in not removing symlinks during run command * Changed build settings in Xcode project for a manual build - If a provisioning profile is set, set CODE_SIGN_STYLE build setting to 'Manual' - If a provisioning profile is set, set ProvisioningStyle target attribute to 'Manual' - if provisioning profile is NOT set AND 'automaticProvisioning' build option is set to TRUE, reverse the manual settings from above to 'Automatic'

Platforms affected
iOS
What does this PR do?
Fixes #407 (not sure if it does it for everything yet)
What testing has been done on this change?
Manual