[swift-users] [Swift Package Manager] Use of Info-plist; use for apps

Zach Waldowski zach at waldowski.me
Tue Aug 22 08:29:01 CDT 2017

I haven’t yet had the pleasure of investigating what’s available in
3.2/4.0’s swiftpm, but I did once hack this together in the 3.x
toolchain using a dummy module:

-- InfoPlist
---- Dummy.c
---- include/
------ InfoPlist.h

__attribute__((used, section("__TEXT,__info_plist")))
static const char __darwin_info_plist[] = "<##escaped XML string##>";

static inline void includeInfoPlist(void) {

partial main.swift:
import InfoPlist


I sure do hope there’s a better way to do this now, but just throwing it
out there for posterity.

  Zachary Waldowski
  zach at waldowski.me[mailto:zach at waldowski.me]

On Tue, Aug 22, 2017, at 03:30 AM, Quinn The Eskimo! via swift-users
> On 22 Aug 2017, at 06:13, Daryle Walker via swift-users
> <swift-users at swift.org> wrote:
> > I recall there’s a way to make a command-line tool in macOS have an “Info.plist” file, which is compiled/linked in the executable’s data segment.
> Correct.  Xcode has explicit support for this, namely the “Create
> Info.plist Section in Binary” build setting
> (`CREATE_INFOPLIST_SECTION_IN_BINARY`).  This uses the file from the
> standard “Info.plist File” (`INFOPLIST_FILE`) build setting.
> > Is there a way to do this through “swift build”?
> The above is implemented in terms of the `-sectcreate __TEXT __info_plist
> /path/to/file` linker option, which you can read about in
> <x-man-page://1/ld>.  If you create a dummy Xcode command line tool
> project, you can look at the build transcript to see how it works.
> I kinda presume that SPM has a way to pass in custom linker options but I
> don’t have direct experience with that.
> Share and Enjoy
> --
> Quinn "The Eskimo!"                    <http://www.apple.com/developer/>
> Apple Developer Relations, Developer Technical Support, Core OS/Hardware
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

More information about the swift-users mailing list