-
Notifications
You must be signed in to change notification settings - Fork 986
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes $(PRODUCT_BUNDLE_IDENTIFIER) not being resolved for a product archive #494
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙌 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