Swift standard libraries copy phase ignores "Other Code-Signing Flags"

Originator:jalkut
Number:rdar://21891588 Date Originated:19-Jul-2015 10:56 AM
Status:Open Resolved:
Product:Developer Tools Product Version:6.4
Classification:Serious Bug Reproducible:Always
 
Summary:
When Xcode copies the standard Swift libraries into an app bundle, it signs the libraries with the pertinent code signing identity, typically either a Mac App Store or a Developer ID identity.

However, it neglects to apply the "Other Code-Signing Flags" options defined in the project or target by the OTHER_CODE_SIGN_FLAGS build setting.

This is problematic because some projects may have good reason to impose specific code signing flags on all signed libraries that are bundled with an app.

A practical example of a workflow that this breaks is for Developer ID signed apps that are built with code signing flags that specify "--timestamp=none" to disable the timestamp server dependency. I define this option specifically for Debug builds so that I can have a faster build and so that I can build and run my projects even when offline:

http://indiestack.com/2014/01/timestamp-disservice/

Since the Swift libraries phase ignores the OTHER_CODE_SIGN_FLAGS, there is apparently no way to build a Developer-ID signed Swift app unless you are both online and the timestamp server is responding reliably.

Steps to Reproduce:


Expected Results:


Actual Results:


Version:
Xcode 6.4 or 7.x


Notes:


Configuration:


Attachments:

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!