[Qbs] building for iOS

Jake Petroules Jake.Petroules at qt.io
Tue Nov 28 10:20:40 CET 2017

The notice "The creation of custom frameworks is not supported in iOS" is ancient history. This article was written long before iOS 8 was released and Apple forgot to update it. You should file a radar so they can be made aware of, and fix it.

Frameworks don't have shallow structure on iOS but as a Qbs developer you should not concern yourself with this; Qbs will take care of creating the proper structure for you.

Just use:

DynamicLibrary {
    Depends { name: "bundle" }
    bundle.isBundle: true
    files: ...

In BundleModule.qbs you can also see a bunch of properties after a comment "all paths are relative to the directory containing the bundle"; you can use these to determine the path to install files into. There will be better recommendations in the documentation in the future as to how to create macOS and iOS frameworks.

> On Nov 28, 2017, at 1:09 AM, Журавлев Сергей <Zhuravlev at rutoken.ru> wrote:
>> bundle.isShallow controls whether the bundle is a normal layout (like on macOS) or a "shallow" (flat) layout like on iOS. It's read only because >there is virtually no reason why you'd want to change this.
>> What is the use case?
> Does framework bundle have "shallow" structure on iOS? The only information from Apple about framework bundle structure I found says that "The creation of custom frameworks is not supported in iOS". The only suggested framework bundle structure is "non-shallow". https://developer.apple.com/go/?id=bundle-structure 
> _
> Sergey

Jake Petroules - jake.petroules at qt.io
The Qt Company - Silicon Valley
Qbs build tool evangelist - qbs.io

More information about the Qbs mailing list