Question

(Edit: I was able to bundle the framework but it still would not take the changed installation directory. So, below, the question has changed to "linked and bundled framework image not found")

The Mac app was submitted to MAS but rejected by Apple, for a very reasonable reason: a framework that was linked was not bundled.

I simply ask how I can make sure it is included correctly in the bundle, and confirm that on my Mac before submitting again.

Please let me know what/any extra information you need from me.

Edit: More information after following subzero's instructions.

When going Product > Build, .app files end up in Documents/build/Release on my machine.

Here's how my build phases look - https://dl.dropbox.com/u/19155207/copyframeworks.jpg

and a UIKit.Framework folder is inside WinKonto.app/Contents/Frameworks containing this: https://dl.dropbox.com/u/19155207/frameworksfolder.jpg

It still gives the same error if I run it from the Releases folder. Only when I run it from XCode it works. Can you see something wrong?

Edit 2: I've gotten the framework file (UIKit) into the bundle.

Here is the crash report error message:

Dyld Error Message: Library not loaded: Frameworks/UIKit.framework/Versions/A/UIKit Referenced from: /Users/henrikerlandsson/Documents/build/Release/WinKonto.app/Contents/MacOS/WinKonto Reason: image not found

But the framework is in the bundle, and it was modified by install_name_tool before being added to the project.

I don't know why that modification didn't work, but I made it a private framework instead and changed the installation directory there instead, and it worked (see my answer).

Was it helpful?

Solution 2

I made it a private framework. I followed the instructions under Embedding a Private Framework in Your Application Bundle, and that let me set the framework's Installation Directory properly to where it appeared in the bundle.

OTHER TIPS

In XCode,

  1. Add a Copy Files build phase to your application's target
  2. Move this above the Link phase set its destination to myApp.app/Contents/Frameworks and add the framework to it.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top