Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

kamy

macrumors member
Original poster
Jul 27, 2011
44
0
Hi guys,

I was working on a project for a client and earlier they packaged a bundle in this manner

AppABC.app (Macho-Type = Executable)
-->Contents
--> Resources --> ImageA.png
--> Resources --> ImageBCD.png
--> Resources --> ImageBCD.png
--> Resources --> NewBundle.bdl (Macho-Type = Bundle)

NewBundle.bdl is a bundle that is packaged inside the main Bundle - "AppABC.app"

This was accepted in the app store.

However we worked on an enhancement where we had to add a new application bundle (ScreenWow.app) inside the main Bundle "AppABC.app"

AppABC.app (Macho-Type = Executable)
-->Contents
--> Resources --> ImageA.png
--> Resources --> ImageBCD.png
--> Resources --> ImageBCD.png
--> Resources --> NewBundle.bdl (Macho-Type = Bundle)
--> Resources --> ScreenWow.app (Macho-Type = Executable)

Now with this kind of a bundle - We are facing issues uploading our updated bundle in App Store. For some reason we cannot upload our binary while submitting the app from Xcode. The ScreenWow.app binary is still recognized as an executable file and is not validated.

Please see screenshot
Screen Shot 2015-01-26 at 16.16.26.png

Can we bundle an application bundle (.app) inside another application bundle?
 

chown33

Moderator
Staff member
Aug 9, 2009
10,755
8,445
A sea of green
The error messages in your screenshot seem self-explanatory to me.

  1. The bundled app (ScreenApp) isn't sandboxed. ("App sandbox not enabled".)
  2. The CFBundleExecutable key names an executable that doesn't exist. ("Cannot find executable file that matches...")
  3. The bundle identifier is invalid. (It tells you the exact string that's invalid.)
  4. The key named CFBundleExecutable names an executable that doesn't exist. This is the same error as #2, but it applies to a different executable. (It tells you the incorrect CFBundleExecutable string.)
Based on the apparent fact that the literal string "$(PRODUCT_NAME)" appears in two errors, those look like the build isn't properly expanding the PRODUCT_NAME build variable. This would be errors #3 and #4 above.

Error #1 looks to be an error in the bundled app's pathname. It could be the ".capp" suffix is wrong, or that "ScreenApp" is wrong, since you mentioned "ScreenWow.app" in your post and I see nothing with that name in any error message.

Error #2 looks like an incorrect CFBundleExecutable string. Look at the exact pathname given in the error. Confirm whether that executable file actually exists in the built app.

You need to look very carefully at your build variables, your build names, and exactly what files get put into the built app. In other words, confirm your beliefs and expectations with reality by looking at the actual files. The place to start is the specific files named in the error messages.
 

kamy

macrumors member
Original poster
Jul 27, 2011
44
0
The error messages in your screenshot seem self-explanatory to me.

  1. The bundled app (ScreenApp) isn't sandboxed. ("App sandbox not enabled".)
  2. The CFBundleExecutable key names an executable that doesn't exist. ("Cannot find executable file that matches...")
  3. The bundle identifier is invalid. (It tells you the exact string that's invalid.)
  4. The key named CFBundleExecutable names an executable that doesn't exist. This is the same error as #2, but it applies to a different executable. (It tells you the incorrect CFBundleExecutable string.)
Based on the apparent fact that the literal string "$(PRODUCT_NAME)" appears in two errors, those look like the build isn't properly expanding the PRODUCT_NAME build variable. This would be errors #3 and #4 above.

Error #1 looks to be an error in the bundled app's pathname. It could be the ".capp" suffix is wrong, or that "ScreenApp" is wrong, since you mentioned "ScreenWow.app" in your post and I see nothing with that name in any error message.

Error #2 looks like an incorrect CFBundleExecutable string. Look at the exact pathname given in the error. Confirm whether that executable file actually exists in the built app.

You need to look very carefully at your build variables, your build names, and exactly what files get put into the built app. In other words, confirm your beliefs and expectations with reality by looking at the actual files. The place to start is the specific files named in the error messages.

Thanks Chown.
Actually the bundle inside the 'Resources' is called - ScreenApp.app
I was trying to use a different extention (.capp) - but still got the same issues.

I will try look at my build names once more. Thanks.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.