I’m trying to create a framework that keeps some common code I use around in my projects.
I found online tutorials and managed to create a framework but I still have one problem related to resources (xibs, images, etc).
Let’s say I have a MainViewController.xib which has a UIImageView using a test.png. All these are in my framework package.
When I use the framework in another project, I add it to the “Copy Bundle Resources” build phase. The problem is that the xib is only accessible using a path like dummy.framework/Resources/MainViewController.xib and the UIImageView inside can’t load test.png.
It seems that the UIImageView will try to load the png from the root of the bundle, and not from the relative folder where the xib is also stored.
Has anybody managed to create a framework with code and resources and use it in another project?
Short answer: you can’t.
When you compile the app, the bundle is generated with the resources of the “main” project, ignoring the resources in linked frameworks. This includes images, xib’s, plist’s, etc. (anything that isn’t a source file)
What you need to do is add those resources to your main project so that they are available for use inside your application, not the happiest way around it but it’ll work.