Adobe-Runtime-Support icon indicating copy to clipboard operation
Adobe-Runtime-Support copied to clipboard

Asset validation failed (90035)

Open marcanw opened this issue 2 years ago • 43 comments

Problem Description

I'm desperately trying to make an iOS release. I tried to upload a new build made on Animate/Windows with AIR 50.1.1.2 and I first get an email from Apple: image

I contacted Michael from District who gave me the last FB ane beta. I created a new release and then get the following message from Apple: image

Michael told me I could make it on a Mac. So I borrowed a Mac., installed Animate and make a build... same message from Apple (Transporter). I suspect I missed something. It has been a week I'm trying to figure it out Please help. Thank you.

marcanw avatar Dec 21 '22 22:12 marcanw

Just for info, I tried to make a test build on Windows but I get this message during the device install: image

marcanw avatar Dec 21 '22 23:12 marcanw

Both those error messages look like they're the same to me, which is that a sealed resource has been changed.. by "sealed resource", it typically means a bundle (like a framework, or the whole app) has been modified by adding a file, removing a file, or an existing file has been changed. Part of the code signature process will go through all the files and take their signatures, and this (code directory) forms part of the signature.

So it should be possible from the IPA file to work out exactly what's gone wrong... do you have a macOS machine still to try this with? (if not, send us the IPA and we can take a look..)

In a macOS terminal window, go to the folder where you have the IPA file and then run the commands:

mkdir unzipped
cd unzipped
unzip ../appname.ipa

This will put you in a new folder and unzip the IPA into this, you can then do cd Payload and you should see your application as a .app bundle.

So then, try:

find . -type d -name "*.framework" -exec codesign -v -vvv {} \;

which should find all framework bundles and check them individually. Probably one of them will show it's got an error, or if not, just do codesign -v -vvv appname.app and see what that says.

I am wondering whether there's an issue with a framework having a problem with symlinks, which seems to cause these sorts of issues. Particularly if you've used Windows..

thanks

ajwfrost avatar Dec 22 '22 06:12 ajwfrost

@ajwfrost, thank you for your help. Here is the result of the "find . -type d -name "*.framework" -exec codesign -v -vvv {} ;". marcwouters@Marcs-Mac-mini payload % find . -type d -name "*.framework" -exec codesign -v -vvv {} \; ./Eventer.app/Frameworks/FBSDKLoginKit.framework: valid on disk ./Eventer.app/Frameworks/FBSDKLoginKit.framework: satisfies its Designated Requirement ./Eventer.app/Frameworks/FBAEMKit.framework: valid on disk ./Eventer.app/Frameworks/FBAEMKit.framework: satisfies its Designated Requirement ./Eventer.app/Frameworks/FBSDKCoreKit.framework: a sealed resource is missing or invalid file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/de.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/he.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/ar.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/el.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/ja.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/mr.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/en.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/gu.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/kn.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/nb.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/pa.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/es.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/da.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/it.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/sk.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/pt_PT.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/ms.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/ta.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/ml.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/sv.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/te.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/cs.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/ko.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/fil.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/hu.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/tr.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/pl.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/en_GB.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/zh_Hant_TW.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/vi.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/ru.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/zh_Hant_HK.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/af.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/es_ES.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/fr.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/fi.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/id.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/nl.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/th.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/pt.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/bn.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/hr.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/hi.lproj/FacebookSDK.strings file added: /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/zh.lproj/FacebookSDK.strings ./Eventer.app/Frameworks/FBSDKCoreKit_Basics.framework: valid on disk ./Eventer.app/Frameworks/FBSDKCoreKit_Basics.framework: satisfies its Designated Requirement

marcanw avatar Dec 22 '22 20:12 marcanw

Okay so basically after signing the FBSDKCoreKit.framework, a whole load of files were then added into it: FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/de.lproj/FacebookSDK.strings etc

Can you please check the result of:

codesign -d -vvv /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework

as this will show you who signed it. I would perhaps have thought that frameworks should be re-signed during the packaging process (I can't find any information that this is not the case) so quite how/why those files are not being included in the code resources signature, I can't tell..

... although I have just spotted a comment in our code: "IPA files must not contain a 'Resources' folder, this conflicts with Apple bundle requirements." See #891 - but that was for the top-level of the app bundle. Perhaps the same restriction exists with a framework.. but it doesn't really explain why those files are being omitted from the code resources signature.

Bit more investigation needed here I think!

thanks

ajwfrost avatar Dec 23 '22 00:12 ajwfrost

Here is the result: marcwouters@Marcs-Mac-mini payload % codesign -d -vvv /Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework Executable=/Users/marcwouters/eventpic/unzip/Payload/Eventer.app/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit Identifier=com.facebook.sdk.FBSDKCoreKit Format=bundle with Mach-O thin (arm64) CodeDirectory v=20400 size=28481 flags=0x0(none) hashes=883+3 location=embedded Hash type=sha256 size=32 CandidateCDHash sha1=7807fa7bad4becb590ff9c7a3dce1b02beb9eea5 CandidateCDHashFull sha1=7807fa7bad4becb590ff9c7a3dce1b02beb9eea5 CandidateCDHash sha256=3aa65827f60f51d2e2159b4b184b1aff0ae14cfd CandidateCDHashFull sha256=3aa65827f60f51d2e2159b4b184b1aff0ae14cfd3ab6ea29771c36cf003eacc8 Hash choices=sha1,sha256 CMSDigest=f2092c12572d758561ed810ee6319813272f3f877d4c746216d36cc155acead0 CMSDigestType=2 CDHash=3aa65827f60f51d2e2159b4b184b1aff0ae14cfd Signature size=4857 Authority=Apple Distribution: Eventer SA (YX987N37KV) Authority=Apple Worldwide Developer Relations Certification Authority Authority=Apple Root CA Signed Time=21 Dec 2022 at 22:44:35 Info.plist entries=22 TeamIdentifier=YX987N37KV Sealed Resources version=2 rules=10 files=0 Internal requirements count=1 size=192 marcwouters@Marcs-Mac-mini payload %

marcanw avatar Dec 23 '22 01:12 marcanw

Okay thanks .. so this was signed as part of the ADT packaging process (presumably) but has 0 sealed files. And, looking at the com.distriqt.facebook.Core.ane ANE, it contains the FBSDKCoreKit framework that just has modules and headers, but none of these FacebookSDKStrings in them.

I can't see where those strings are coming from, can you unzip the .ane file to check they're not actually in there already? (but if they were, they should have been included in the signature...) -> @marchbold just checking as the original comment mentions a beta, do you know where these FBSDKCoreKit.framework/FacebookSDKStrings folders come from?

thanks

ajwfrost avatar Dec 23 '22 06:12 ajwfrost

can you unzip the .ane file to check they're not actually in there already?

I can see those in META-INF/ANE/iPhone-ARM/FBSDKCoreKit.framework/FacebookSDKStrings.bundle/Resources/

Here is the link to the beta: https://drive.google.com/file/d/1ojZG-XouoYIeQqOAoLVyLbqbSyZGxAyu/view?usp=sharing

Micheal told me it would be solved by enabling native signing in the adt.cfg. I did it and but I get this from transporter:

image

It's not my Mac, do I have to configure something on it?

Thank you

marcanw avatar Dec 23 '22 14:12 marcanw

Okay thanks; if they're already in there, then they should get signed both as part of the ADT-internal signer on Windows, or the commands we use for 'native' codesign usage on MacOS. So we can check what's going wrong there...

The native signing would need to be using an appropriate certificate for App Store deployment, it sounds like this has used a different one to get you that error message..? (you can unzip the ipa file and do codesign -dvvv Payload/Eventer.app to find out what certificate was used for the signing..)

ajwfrost avatar Dec 23 '22 15:12 ajwfrost

Hmm, trying to build with those ANEs here and I get a link error:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_BFURL", referenced from:
      objc-class-ref in ...\libcom.distriqt.facebook.Core.a(DTFBSDKCAppLinks.o)
ld: symbol(s) not found for architecture arm64

@marchbold I've got the com.distriqt.Core ANE (just downloaded, 4 months old?) so am not sure what I'm missing to get that to link. (Am using WIndows though....)

@marcanw possibly your best bet for the minute is to unzip the IPA, manually code-sign the frameworks and top-level bundle again, and re-zip it (I think there are scripts available for this..?).

thanks

ajwfrost avatar Dec 23 '22 16:12 ajwfrost

you can unzip the ipa file and do codesign -dvvv Payload/Eventer.app to find out what certificate was used for the signing..

Here is the result: Payload/Eventer.app: code object is not signed at all

Actually along my PC, which I use for everyday dev, I have an old Mac that I use for Transporter et Xcode but I don't know why I can't Install animate on it. I thing that old mac have all the certifiâtes in the system. Anyway I borrowed a Mac to a friend and I simply installed Animate on it, so maybe that's why the signing didn't work out. Maybe I can try something on the old Mac without Animate. Is it possible to make the build on my pc and signed it on the old Mac (which should have all the correct certificates)?

marcanw avatar Dec 23 '22 16:12 marcanw

@marcanw possibly your best bet for the minute is to unzip the IPA, manually code-sign the frameworks and top-level bundle again, and re-zip it (I think there are scripts available for this..?).

Right, but how can I do manual code signing?

Thank you

marcanw avatar Dec 23 '22 16:12 marcanw

Odd that it's not signed at all .. but yes, if you've got the IPA file, regardless of its status, you should be able to use a script like the below one (on a mac that has your app store certificates set up on it..) https://github.com/distriqt/ANE-LineSDK/wiki/i.iOS-Signing

We'll also look to see if we can get some info out of ADT to see what's going wrong with it on Windows..

ajwfrost avatar Dec 23 '22 16:12 ajwfrost

I'll try it tonight and keep you posted. Keep me posted for Windows because otherwise it will be a nightmare for dev. Thank you for your help.

marcanw avatar Dec 23 '22 16:12 marcanw

So I think the internal signing isn't working because it's finding the paths have *.lproj in them, and this is then interpreted as 'optional' resources. I would have thought this would mean it's okay for them to be present, or not, in the code-signed bundle, but for some reason it's not liking it. There's another possibility, that framework-based resources are only added to one of the code directory formats (there are SHA-1 and SHA-256 hashes added generally, but it may be that we're only doing the SHA-1 ones for framework resources...)

We should be able to change that but it would be really useful if we could build the IPA here .. I'll see if we're able to cobble something together as a test case, but if we can solve the unresolved _OBJC_CLASS_$_BFURL reference it would be easier!

thanks

ajwfrost avatar Dec 23 '22 17:12 ajwfrost

Ok, I did the signing:

`marcwouters@Marcs-Mac-mini eventpic % ./signDistri.sh Create Signing Entitlements \tAPP_NAME = Eventer.app \tTEAM_IDENTIFIER = YX987N37KV \tAPPLICATION_IDENTIFIER_PREFIX = YX987N37KV \tBUNDLE_IDENTIFIER = net.trustmedia.eventpic \tAPS_ENVIRONMENT = production \tBETA_REPORTS = true \tPROVISIONING_GET_TASK_ALLOW = false File Doesn't Exist, Will Create: ./Entitlements.plist

application-identifier YX987N37KV.net.trustmedia.eventpic aps-environment production get-task-allow keychain-access-groups YX987N37KV.net.trustmedia.eventpic Sign Frameworks Sign Application .tmp/Payload/Eventer.app: signed app bundle with Mach-O thin (arm64) [net.trustmedia.eventpic] .tmp/Payload/Eventer.app: valid on disk .tmp/Payload/Eventer.app: satisfies its Designated Requirement marcwouters@Marcs-Mac-mini eventpic %

`

But transporter is not happy:

`Asset validation failed (90035) Invalid Signature. Invalid resource directory (directory or signature have been modified). The file at path [Eventer.app/Frameworks/FBSDKCoreKit_Basics.framework/FBSDKCoreKit_Basics] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html (ID: 39bb336b-48eb-4955-a445-f782b1c8c90e)

Asset validation failed (90035) Invalid Signature. Invalid resource directory (directory or signature have been modified). The file at path [Eventer.app/Frameworks/FBSDKLoginKit.framework/FBSDKLoginKit] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html (ID: 8bed1bf5-174c-41fe-81b8-e089ee0349b4)

Asset validation failed (90035) Invalid Signature. Invalid resource directory (directory or signature have been modified). The file at path [Eventer.app/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html (ID: c2a03543-3121-442b-957f-450e80cfb732)

Asset validation failed (90035) Invalid Signature. Invalid resource directory (directory or signature have been modified). The file at path [Eventer.app/Frameworks/FBAEMKit.framework/FBAEMKit] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html (ID: 4dafab2f-fb00-4f86-8a1e-28142beb5738)`

marcanw avatar Dec 23 '22 17:12 marcanw

Yes I'm starting to wonder whether there's a specific reason why we can't have this string folder within the framework bundle...

ajwfrost avatar Dec 23 '22 17:12 ajwfrost

@ajwfrost that missing link is from the bolts framework, you need to add the bolts extension from here https://github.com/distriqt/ANE-Bolts

@marcanw I don't think you need to use the ipa resign script here, just use native signing in air, ie enable it in the adt.cfg

marchbold avatar Dec 23 '22 21:12 marchbold

Thanks @marchbold Although weirdly, when I build the IPA file with Core/Bolts/facebook.Core ANEs, I'm not seeing any frameworks being packaged into the IPA. Despite the fact I can clearly see the folders and the dependencies mentioned in the platform.xml. Not sure if I'm doing something wrong in the packaging command, I've just taken a sample app and added in those three <extension> items and passed the extdir location. I thought that would mean the dependent frameworks are automatically included... will have to do a bit of debugging here!

ajwfrost avatar Dec 24 '22 07:12 ajwfrost

Okay ignore that, I figured you're also adding these manually into a Frameworks folder, so have just done that .. and looking at the CodeResources file, I can see that all these FacebookSDKStrings.bundle files are referenced under the files section (sha-1 hashes) but are missing from the files2 section (sha-256 hashes). This is most likely the problem....

ajwfrost avatar Dec 24 '22 07:12 ajwfrost

These are dynamic frameworks so you need to package the Frameworks directory at the root level...

More info http://docs.airnativeextensions.com/docs/facebookapi/core/add-the-extension

Frameworks are here if you need them: https://github.com/distriqt/ANE-FacebookAPI/tree/master/lib/assets/ios/Frameworks

Or

apm install com.distriqt.facebook.Core

marchbold avatar Dec 24 '22 08:12 marchbold

@marchbold Yes, so I should add the certificates on the new mac. But I came to the conclusion that the "price" of the FB login is too high for me. The iOS SDK route has too much issues for just a login. On iOS its crashes my app 5/10. When it switches between FB and my app, IOS decide to kill my app. So why still bother using a scheme that makes my release a twee weeks nightmare, adding several MB and crashing my app 5/10 just for a login. I know you are working hard to make it easy but FB/Apple really makes it crazy for AIR. I might try the fb login web route but I'm not sure it's permitted. Anyway, I will push Apple Sign In and Google.

@ajwfrost / @marchbold Thank you for your help.

marcanw avatar Dec 25 '22 03:12 marcanw

@ajwfrost Did you have any luck replicating this issue? We are still having clients who can't build AIR apps with the Facebook extension on Windows.

marchbold avatar Feb 28 '23 05:02 marchbold

Yes we'd looked at this and how it was handling these frameworks, ADT was missing these extra files from the sha-256 based signature (and only including them in the sha-1 based signature section). Should be fixed now in 50.2.1.1 so if there are still folk having problems, please let me know and we'll revisit it and see if there's something else causing a failure..

thanks

ajwfrost avatar Feb 28 '23 06:02 ajwfrost

Ah brilliant, thanks I'll get our clients to confirm.

marchbold avatar Mar 01 '23 00:03 marchbold

Yes we'd looked at this and how it was handling these frameworks, ADT was missing these extra files from the sha-256 based signature (and only including them in the sha-1 based signature section). Should be fixed now in 50.2.1.1 so if there are still folk having problems, please let me know and we'll revisit it and see if there's something else causing a failure..

thanks

Hi.

I've also got this error since 2 months... I can't upload an update of my app.. I've got this error : "Asset validation failed (90035) Invalid Signature. A sealed resource is missing or invalid. The file at path “Marees NC.app/Marees NC” is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate"."

I checked again and again, my certificate is "distribution". I've created a new certificate distribution : same error.

I can upload new update builds for my app "Traducteur" (nc.cocogeek.traducteurNC) but not for my app "Marées NC".

But I'm using the SAME certificate (stephan berger(iOS Distribution)Dec 22, 2023) as the app "Traducteur" where no errors are displayed when I upload an update.

I've tried with the last AIR SDK version (AIR 50.2.3.4), still got this error... What can I do ?

stephanberger4 avatar Aug 22 '23 03:08 stephanberger4

An error saying about a sealed resource missing/invalid sounds like there's a problem in the package (IPA) somewhere.. is it possible for us to take a look at this? The list of files in the code signature there should match the actual files, sometimes things like the hidden .DS_Store files can cause problems.. Upload link for the IPA: https://transfer.harman.com/requests/IrlFz7tSlPpdkgUrufoAnD

thanks

ajwfrost avatar Aug 22 '23 06:08 ajwfrost

Thanks - so yes, this is due to the hidden files that aren't being packaged up, but were present when the code signature was created. If you unzip and enter the Payload folder, you can do codesign -v -vvv on the .app folder:

MareesNC.app: a sealed resource is missing or invalid
file missing: MareesNC.app/assets/.DS_Store
file missing: MareesNC.app/assets/maps/.DS_Store

Are you able to check on that machine in your assets folder and remove those files before re-packaging? You can see them in Finder if you do command-shift-dot.

thanks

Andrew

ajwfrost avatar Aug 22 '23 14:08 ajwfrost

Thank you very much for your answer.

So I should just delete .DS_Store files in assets and maps, and re-publish it with Animate ? (I'm on a PC by the way) image

stephanberger4 avatar Aug 22 '23 20:08 stephanberger4

Thanks - so yes, this is due to the hidden files that aren't being packaged up, but were present when the code signature was created. If you unzip and enter the Payload folder, you can do codesign -v -vvv on the .app folder:

MareesNC.app: a sealed resource is missing or invalid
file missing: MareesNC.app/assets/.DS_Store
file missing: MareesNC.app/assets/maps/.DS_Store

Are you able to check on that machine in your assets folder and remove those files before re-packaging? You can see them in Finder if you do command-shift-dot.

thanks

Andrew

It worked !!!!! THANK YOU VERY MUCH. Was struggling with this problem for months !

Thank you again

stephanberger4 avatar Aug 22 '23 20:08 stephanberger4

Great, thanks for confirming. Those .DS_Store files are really annoying :-(

ajwfrost avatar Aug 23 '23 08:08 ajwfrost