I submitted a project to the Mac App Store today using Application Loader 2.9.1. Build was compiled with Xojo 2014r1. Package was created with App Wrapper. In testing, package installed fine and the built application worked fine and tested okay using the Test User set up in iTunes Connect.
The package uploaded fine with Application Loader (which gave me no errors). However, a few minutes after the upload was complete, I got a rejection notice from Apple. The notice indicated that the app was rejected because of “Malformed Frameworks”. Specifically:
[quote]Malformed Framework - The framework bundle XojoFramework (My App.app/Contents/Frameworks/XojoFramework.framework) must contain a symbolic link ‘XojoFramework’ -> ‘Versions/Current/XojoFramework’. Refer to the Anatomy of Framework Bundles for more information.
Malformed Framework - The framework bundle XojoFramework (My App.app/Contents/Frameworks/XojoFramework.framework) must contain a symbolic link ‘Resources’ -> ‘Versions/Current/Resources’. Refer to the Anatomy of Framework Bundles for more information.
Malformed Framework - The framework bundle XojoFramework (My App.app/Contents/Frameworks/XojoFramework.framework) ‘Versions’ directory must contain a symbolic link ‘Current’ resolving to a specific version directory. Refer to the Anatomy of Framework Bundles for more information.[/quote]
(Note that application name was changed as the client is not letting me discuss this particular app publicly.)
I did check the Anatomy of Framework Bundles, but was fairly confused by Apple’s typical convoluted and impenetrable documentation. And, I’m thinking this is something Xojo is doing and outside my immediate control.
I have the very same problem. This is definitely beyond what I know. I will go back to the prior version and see if this fixes the issue as I need to get my app up fast.
Looks like this change
31685 MacCocoa: The Cocoa framework is now a framework bundle inside of the Frameworks folder instead of a dylib.
Is what causes the problem with the App Store submission.
Can you send me the wrapped application, and I’ll take a look at it. It sounds like for some reason the soft links are getting mangled. Use sam - @ - ohanaware - . - com.
I am not using App Wrapper but maybe this error message sent by Apple would help
[code]Invalid Code Signature Identifier -
The identifier “com.xojo.framework” in your code signature for XojoFramework in MyApp.app/Contents/Frameworks/XojoFramework.framework must match its Bundle Identifier “com.xojo.XojoFramework”.
Though you are not required to fix the following issues, we wanted to make you aware of them:
Invalid Signature - the nested app bundle XojoFramework at path MyApp.app/Contents/Frameworks/XojoFramework.framework is not signed with an Apple submission certificate.
The following error(s) were reported from codesign:
valid on disk
/Volumes/data01/app_data/dstr/mz_2275318631883375624dir/mz_3068263397187573511dir/com.myname.myapp.pkg/Payload/MyApp.app/Contents/Frameworks/XojoFramework.framework/Versions/A: satisfies its Designated Requirement
test-requirement: code failed to satisfy specified code requirement(s)
Refer to the Code Signing and Application Sandboxing Guide for more information.
Invalid Signature - the nested app bundle XojoFramework at path MyApp.app/Contents/Frameworks/XojoFramework.framework is not signed with an Apple submission certificate. Refer to the Code Signing and Application Sandboxing Guide for more information.
[quote=72005:@Edwin Lau]In any case, reverting back to 2013 Release 4.1 fixes the issue for now. It is an urgent submission so I am going for that first until a fix arises.
[/quote]
And you’ll pass their QuickTime deprecation test with 2013r4.1? Let us know how that works.
I’m not getting any messages like what Edwin Lau is pointing out. The only reason my app got rejected is the description I provided in my original message.
Sam, do you really think this is an App Wrapper issue?
I will need to double-check with my client to see if it’s okay to share the application.
[quote=71973:@Scott Crick]
The package uploaded fine with Application Loader (which gave me no errors). However, a few minutes after the upload was complete, I got a rejection notice from Apple. The notice indicated that the app was rejected because of “Malformed Frameworks”. [/quote]
OK well this is truly puzzling since we build 2014r1 with 2014r1 and when I peek inside Contents > Frameworks XojoFramework.framework I see what looks to be all the items Apple’s complaining about
What they’re saying is that the hierarchy should be
Contents
Frameworks
XojoFramework.framework
Resources -> a symlink that leads to 'Versions/Current/Resources'
XojoFramework -> a symlink that points to 'Versions/Current/XojoFramework'
Versions
Current -> a symlink that points to the Current version
When I use terminal and peek I see exactly what I expect
lrwxr-xr-x 1 npalardy admin 26 Mar 4 01:59 Resources -> Versions/Current/Resources
drwxr-xr-x@ 4 npalardy admin 136 Mar 4 01:59 Versions
lrwxr-xr-x 1 npalardy admin 30 Mar 4 01:59 XojoFramework -> Versions/Current/XojoFramework
server:XojoFramework.framework npalardy$ cd Versions/
server:Versions npalardy$ ls -al
total 8
drwxr-xr-x@ 4 npalardy admin 136 Mar 4 01:59 .
drwxr-xr-x@ 5 npalardy admin 170 Mar 4 01:59 ..
drwxr-xr-x@ 5 npalardy admin 170 Mar 4 01:59 A
lrwxr-xr-x 1 npalardy admin 1 Mar 4 01:59 Current -> A
Poke about in the Frameworks dir of your built app and see as this sure looks right to me
The Application Loader did not complain about that and the app package is now pending review in iTunes Connect. I will update when I get an update from Apple.
The other apps last updates was at the end of February and they have been accepted at the App Store. Those were compiled with 2013r4.1
Okay. I think I have confirmed it is not an issue with Xojo. With a fresh build out of Xojo the Xojo Framework seems to have the proper symlinks:
total 16
drwxr-xr-x+ 5 scrick staff 170 Mar 16 15:47 .
drwxr-xr-x+ 63 scrick staff 2142 Mar 16 15:47 ..
lrwxr-xr-x 1 scrick staff 26 Mar 4 02:59 Resources -> Versions/Current/Resources
drwxr-xr-x+ 4 scrick staff 136 Mar 16 15:47 Versions
lrwxr-xr-x 1 scrick staff 30 Mar 4 02:59 XojoFramework -> Versions/Current/XojoFramework
So, it seems that something is being messed up by App Wrapper, which is the next step in my process. As I said above, I was using the Beta version of App Wrapper 2.5 (which may have not been the best idea for a release application, but was doing so to handle another situation I was running into). I’ll have some time later today to mess with the current release version of App Wrapper and see if the same problem is happening there.
[quote=72025:@Norman Palardy]I suspect Apple will reject your app as depending on Quicktime or QTKit
Thats why we even made some of the changes for 2014r1[/quote]
I submitted a Cocoa app made with 2013r4.1 to the MAS just fine last week. The important part is to avoid using anything that uses QuickTime, e.g. movies and such.