xcode Organizer "Validate" fails with the "No other information is available about the problem." message - xcode

I have built an OSX application, it builds and runs using Xcode no problem, I have signed the code and done all the pre-submission things required by Apple. However, when I try to Validate my application in Organizer (or Submit), I get this nasty error: "The operation could not be completed. No other information is available about the problem."
The Bundle Identifier was registered on Apple's website and it matches the one I provide in the applications .plist file. I can't even think of a way to find a problem.
I ran the installer check on the bundle, and this is what I got. Perhaps the problem is with the bundle? However, according to the apple instructions, I can't add Installer Signing Certificate until I am in the submission process.
installer: Warning: PMBundle.pkg is not signed for store submission
installer: Installation Check: Passed
installer: Volume Check: Passed
installer: Bundle com.xxx.yyy will be relocated to /Users/xxx/Library/Application Support/Developer/Shared/Archived Applications/4612642F-468C-49B8-9331-A148DF9E20E6.apparchive/yyy.app
installer: Starting install
installer: Install 0.0% complete
installer: Install 9.1% complete
installer: Install 100.0% complete
installer: Finished install
(I shortened bundle id to 'com.xxx.yyy' and app name to 'yyy' in the example)
Any ideas would greatly help.

I had this error because i didn't have both the code signing certificates; 3rd Party Mac Developer Application and 3rd Party Mac Developer Installer.
Open keychain, click certificates in the left panel and check you have both certificates, if you don't download them both form the Mac Dev Center, if you do then check that in your release configuration in Xcode that the code sign field is set to 3rd Party Mac Developer Application.
You then need to open organiser, find your app and when you share it to test it code sign it with the 3rd Party Mac Developer Installer certificate. Make sure you manually click the drop down menu and choose the certificate because there's a bug which doesn't register your code signing value and then doesn't sign your code.
Should solve your problem.
All the best, Sami.

I ran into a different cause, which I'll tack on for posterity: you have to have the iOS development tools installed in order to submit to the Mac App Store, even if you aren't doing any iOS development.
I was trying to save a little disk space in my 10.6 support partition by leaving them out. Didn't work.

Related

How to run un-signed System Extensions in OSX catalina?

How to run un-signed System Extensions in OSX catalina?
I'm trying to load SimpleFirewall which is a system extension given by apple, ment to demonstrate packet filtering capabilities.
The project compiles, but I get this error during run:
OSSystemExtensionErrorDomain error 8
Looked it up, it means -
Invalid code signature or missing entitlements
I have SIP disabled, and turned off code signing in the xcode project.. what else can I do to have this run? I dont have a developer ID.. just testing the code..
As per Eskimo answer on Apple Developer Forums you might additionally to
disabling SIP and
enabling SYSX developer mode (systemextensionsctl developer on)
need to disable AMFI:
nvram boot-args="amfi_get_out_of_my_way=0x1”
This has to be done in the cmd from the Recovery Mode.
AFAIK you only need to do it, if you don't have a developer provisioning profile with com.apple.developer.endpoint-security.client entitlement.
Apple's Documentation on 'Debugging and Testing System Extensions' has some information on this subject.
In theory, disabling SIP should take care of the signing requirements. You may still need to sign the extension with a free Mac Developer certificate so that the entitlements can be embedded.
Are you trying to use the extension from outside an app? If so, the command
systemextensionsctl developer on
Should help.
I have a same issue with #tuti.
I am testing a hello world System Extension base on Driver Kit. I am using free developer account, Mac mini Catatila, Xcode 11 to development.
In my Xcode, I setting to don't sign my code for both application and system extension. I am also disable SIP and run command "systemextensionsctl developer on".
But when I load my system extension from Swift application, it still show me the log "The operation couldn’t be completed. (OSSystemExtensionErrorDomain error 8.)". When I look up the error 8, it means invalid signature. But in my computer, I can load an unsigned Kernel extension normally.
So, I don't know why? I think the OS still check code signing for system extension regardless I disable SIP.

Avoid the "downloaded from internet" warning on mac os with a signed app

I have developed a qt mac app (not using xcode, soi do not have any xcode project) that will be distributed outside the app store.
I have successfully signed it with my developer ID certificate and if i use the following commands:
spctl --assess MyAppBundle.app
and
codesign -d -vvvvvv MyAppBundle.app
I get fine results.
The problem is that if i download it from internet (e.g. DropBox) i get the warning "the file was downloaded from internet are you sure you want to open it"
Is there a way to avoid this warning? from what i gathered from the forum it should be possible.
Btw please note that the application passes the GateKeeper on the target computer so the actual signing seems to be working and being accepted (Gatekeeper is on default configuration: mac store and identified developers)

Kext Code sign error in Mavericks

We have a audio kernel extension, which installs in /Library/Extensions.
According apple new guidelines(WWDC video 707) we should code sign kext which installs /Library/Extensions.
We requested apple to enable kext code signing attribute to our developer id and now it is enabled. As per the mail reply that we got from apple says like this
If you have previously obtained a Developer ID for application signing, you need to re-download your Developer ID to have the updated certificate.
Hence we redownloded certificate and codesigned the kext. Code compiles fine However when we try to verify the code sign using below command
sudo kextutil -tn KEXTPATH
it gives following error-
Code Signing Failure: code signature is invalid
KEXT_PATH appears to be loadable (including linkage for on-disk libraries).
Can any one help me to resolve this error.
Apart from the developer ID certificate for the code signing of kexts to work you need to code sign kernel extensions on 10.9 and above.
You cannot sign it on 10.8, install it on 10.9 -> /Library/Extensions
I am not sure if this helps solve your problem.

Distribute App Outside the Mac App Store

I'm a newbie in OSX Development. I built an application in which will be distributed outside the Mac App Store. I have all the other certificates and keys working except for the Developer ID (App and Installer) for production.
I know that this may sound stupid, but for what it's worth, I just wanna make sure.
Will my app still be considered Developer ID - signed if I exported it as a Mac Installer Package instead of selecting Export Developer ID-signed Application, when I install it to its destination devices? Will it be successfully installed or be rejected with GateKeeper-enabled devices?
I have been scratching my head for this since for some weird reason, I cannot add a new Distribution Developer-ID from the Dev Center. I was able to add a Developer ID earlier this week however, I ran into some issues with my private keys. As per suggested by Apple and many other developers, I revoked all the Developer IDs and private keys to start fresh. The problem now is that I can't add any new Developer ID (Distribution). I cannot add in both Dev Center and by requesting through Xcode 5.0.1. I'm stuck.
I have submitted a Bug Report to Apple, but who knows when they'll be able to resolve it.
So now, temporarily, since I don't have any choice (I guess), I'll use the Mac Installer Package, but the question is, will it work?
Any help would be very, very much appreciated.
I've done this recently and have created a third Xcode project configuration to Debug and Release called Archive, which is a copy of Release except the app is signed using the Mac App Distribution / Third Party Mac App Developer and, confusingly there is a third name used for this same certificate.
I then changed the Archive scheme to use the Archive configuration to build.
Before doing this I had errors on some Macs when signing with my Developer ID, in some cases they claimed the app was corrupted, and in other cases I got gatekeeper blocking the app, forcing me to override it in System Preferences > Security & Privacy.
I personally use xcodebuild (from Jenkins) to build the app for distribution to testers, which I package in a .dmg so they only need to drag it to /Applications or ~/Applications and I do all that using a script within the Jenkins configuration. Your experience may differ to mine if you are using the Xcode app instead.

Why can't I code sign this Mac app?

I started some days ago a small Mac app for Mac OS X Lion. I've never uploaded a Mac app before, so this is the very first time.
This is what I've already done:
Created App ID
Created Certificate
Installed Certificate
Created a Production Provisioning Profile
Changed the App ID to my generated one
Created a new Configuration based on "Release"
Changed its Code Signing to 3rd Party Mac Developer Application
Selected the "Production"-Configuration which I created for the Archive-Scheme
Archived the Application
Now I wanted to "Share" the Application. Xcode (4.1 btw) said to me, there were no valid signing identities. Does I need to add an Entitlement.plist like in iOS? Have I forgotten something?
Update:
I just figured out, that I have to sign my app twice. I've still selected "3rd Party Mac Developer Application" but I can't select the Installer cert while submitting my app.
Have you installed the WWDR intermediate certificate? I just had the exact same problems and my issue was that the intermediate certificate was not installed on my machine. Granted, nowhere does Apple explicitly say you need it installed, more like suggestions. But, you do need it. You can find it here, or by going to Developer Certificate Utility under the Mac Developer Center.
I got it to work. I deleted my App and created it new.
I didn't create a new Configuration, and I only changed the Code Signing Indentity of the Target to 3rd Party Mac Developer Application. After this, I archived the app and then I was able to select the installer cert.

Resources