Developing MacOS Apps with Adobe Air + codesign = resource fork, Finder information, or similar detritus not allowed

Hi,


I'm developing macOS Apps using Adobe Air. This "used" t owork quite well! Now I've finished a new macOS App and I'm trying to use my "old" script (which always worked before) but it seems Apple changed something.


When I use this script in Terminal:

cd /Users/essig/Desktop

cp MacProcess/Info.plist Europa\ meistern.app/Contents/Info.plist

cp MacProcess/Icon.icns Europa\ meistern.app/Contents/Resources/Icon.icns

chmod -R 777 Europa\ meistern.app


codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig " Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Versions/Current/Adobe\ AIR_64\ Helper

codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig " Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Versions/Current/Adobe\ AIR_64

codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig " Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Versions/Current/Adobe\ AIR

codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig " Europa\ meistern.app/Contents/MacOS/Europa\ meistern

codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig " Europa\ meistern.app

codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig " --entitlements MacProcess/entitlement.plist Europa\ meistern.app

codesign --display --entitlements - Europa\ meistern.app

productbuild --component Europa\ meistern.app /Applications EuropaInstaller.pkg --sign "3rd Party Mac Developer Installer: Jan Essig "



I'm getting this error message several times:

Europa meistern.app: replacing existing signature

Europa meistern.app: resource fork, Finder information, or similar detritus not allowed


... however - the .pkg file is built with this script. When I try to upload it via Application Loader I'm getting this Error Message:

ERROR ITMS-90296: "App sandbox not enabled. The following executables must include the "com.apple.security.app-sandbox" entitlement with a Boolean value of true in the entitlements property list: [( "com.essig.europameisternmac.pkg/Payload/Europa meistern.app/Contents/MacOS/Europa meistern" )] Refer to App Sandbox page at https://developer.apple.com/devcenter/mac/app-sandbox/ for more information on sandboxing your app."


Does anyone know how to fix this?

A short reply would be GREAT!! Thanks a lot in advance!


Jan

Good morning,


I received some great hints from a friend and I guess I´m close do fix this issue.


After publishing the macOS App from Animate CC / Adobe Air (27.0.0.116) I opened the .app (Control Click on the .app file and select 'Show Package Contents‘).

- In the Contents/Resources folder I replaced the Icon.icns file with my own.

- Additions to the Info.plist

<key>LSApplicationCategoryType</key>

<string>public.app-category.education</string>

<key>CFBundleVersion</key>

<string>1.0.0</string>


Then I deleted these Files from the Package:

- webkit .dylib file at Contents/Frameworks/Adobe AIR.framework/Versions/1.0/Resources/WebKit.dylib

- Contents/Frameworks/Adobe AIR.framework/Versions/1.0/Resources/Adobe AIR.vch

- Contents/Frameworks/Adobe AIR.framework/Versions/1.0/Resources/Flash Player.plugin

- Contents/Frameworks/Adobe AIR.framework/Versions/1.0/Resources/_MACOSX (the entire folder)


Then I used this code in Terminal for signing the App:

cd /Users/essig/Desktop

chmod -R 777 Europa\ meistern.app

codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig" Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Adobe\ AIR

codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig" Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Adobe\ AIR_64

codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig" Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Adobe\ AIR

codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig" Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0

codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig" --entitlements MacProcess/entitlement.plist Europa\ meistern.app

codesign --display --entitlements - Europa\ meistern.app

productbuild --component Europa\ meistern.app /Applications EuropaInstaller.pkg --sign "3rd Party Mac Developer Installer: Jan Essig"




… except for the first codesigning line in the script (signing Adobe Air) everything worked - here's the Terminal output:

MacBook-Pro:~ essig$ cd /Users/essig/Desktop

MacBook-Pro:Desktop essig$ chmod -R 777 Europa\ meistern.app

MacBook-Pro:Desktop essig$ codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig" Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Adobe\ AIR

Europa meistern.app/Contents/Frameworks/Adobe AIR.framework/Versions/1.0/Adobe AIR: code object is not signed at all

In subcomponent: /Users/essig/Desktop/Europa meistern.app/Contents/Frameworks/Adobe AIR.framework/Versions/1.0/Adobe AIR_64

MacBook-Pro:Desktop essig$ codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig" Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Adobe\ AIR_64

Europa meistern.app/Contents/Frameworks/Adobe AIR.framework/Versions/1.0/Adobe AIR_64: signed Mach-O thin (x86_64) [Adobe AIR_64]

MacBook-Pro:Desktop essig$ codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig" Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Adobe\ AIR

Europa meistern.app/Contents/Frameworks/Adobe AIR.framework/Adobe AIR: signed bundle with Mach-O thin (x86_64) [com.adobe.AIR]

MacBook-Pro:Desktop essig$ codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig" Europa\ meistern.app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0

Europa meistern.app/Contents/Frameworks/Adobe AIR.framework/Versions/1.0: replacing existing signature

Europa meistern.app/Contents/Frameworks/Adobe AIR.framework/Versions/1.0: signed bundle with Mach-O thin (x86_64) [com.adobe.AIR]

MacBook-Pro:Desktop essig$ codesign -f -v -s "3rd Party Mac Developer Application: Jan Essig" --entitlements MacProcess/entitlement.plist Europa\ meistern.app

Europa meistern.app: signed app bundle with Mach-O thin (x86_64) [com.essig.europameisternmac]

MacBook-Pro:Desktop essig$ codesign --display --entitlements - Europa\ meistern.app

Executable=/Users/essig/Desktop/Europa meistern.app/Contents/MacOS/Europa meistern

??qq?<?xml version=”1.0″ encoding=”utf-8″?>

<plist version=”1.0″>

<dict>

<key>com.apple.security.app-sandbox</key>

<true/>

<key>com.apple.security.files.user-selected.read-write</key>

MacBook-Pro:Desktop essig$ productbuild --component Europa\ meistern.app /Applications EuropaInstaller.pkg --sign "3rd Party Mac Developer Installer: Jan Essig"

productbuild: Adding component at /Users/essig/Desktop/Europa meistern.app

productbuild: Signing product with identity "3rd Party Mac Developer Installer: Jan Essig" from keychain /Users/essig/Library/Keychains/login.keychain-db

productbuild: Adding certificate "Apple Worldwide Developer Relations Certification Authority"

productbuild: Adding certificate "Apple Root CA"

productbuild: Wrote product to EuropaInstaller.pkg

productbuild: Supported OS versions: [10.8, )



- Final Tests: The .pkg file works well. I’m able to install my App via the .pkg-File on my Mac and the App also works perfect.


Now I was able to transfer my App / the .pkg File via Application Loader successfully to Apple!

…sadly I received an email from Apple with this content after some minutes:


Dear developer,

We have discovered one or more issues with your recent delivery for "Europa meistern". To process your delivery, the following issues must be corrected:


Unable to Sign - This package doesn't meet the current code signing requirements. For more information, see the Code Signing and Application Sandboxing Guide and Technical Note 2206.


Specifically, codesign generated the following error:

com.essig.europameisternmac.pkg/Payload/Europa meistern.app: resource fork, Finder information, or similar detritus not allowed

Once these issues have been corrected, you can then redeliver the corrected binary.


Regards, The App Store team



Does anyone have an idea how to fix this final issue? :-)


Best regards

Jan

Developing MacOS Apps with Adobe Air &#43; codesign = resource fork, Finder information, or similar detritus not allowed
 
 
Q