Resources & Images


Skip app customization should be primarily done by directly editing the included Skip.env file, rather than changing the app’s settings in Xcode. Only properties that are set in the Skip.env file, such as PRODUCT_NAME, PRODUCT_BUNDLE_IDENTIFIER and MARKETING_VERSION, will carry through to both HelloSkip.xcconfig and AndroidManifest.xml. This is how a subset of the app’s metadata can be kept in sync between the iOS and Android versions, but it requires that you forgo using the Xcode Build Settings interface (which does not modify the .xcconfig file, but instead overrides the settings in the local .xcodeproj/ folder).


Place shared resources in the Sources/ModuleName/Resources/ folder. Skip will copy the files in this folder to your Android build and make them available to the standard Bundle loading APIs. For example, the following Swift loads the Sources/ModuleName/Resources/sample.dat file on both iOS and Android:

let resourceURL = Bundle.module.url(forResource: "sample", withExtension: "dat")
let resourceData = Data(contentsOf: resourceURL)


Skip supports iOS assets catalogs containing PNG, JPG, and PDF image files, as well as exported SF Symbols SVG files, as well as network images and bundled image files. The SkipUI module documentation details where to place shared assets catalogs, how to supply SF Symbols to your Android app, and how to load and display images in your SwiftUI.