Signing iOS application the command line way goes wrong - ios

I need your help for some problem with the signature of my iOS application :
When I do it by "Product > Archive > Distribute" all is fine, my ipa is created and installation via iTunes works perfectly. (the ipa file weight 630Ko)
So I try to do it by command line and I encountered several problems (I tried this tutorials : here, here, here and here) :
1 - My path to the ".app" folder is really long and could be false because when I choose "show in finder" in Xcode it shows me "Debug-iphoneos" folder instead of "Release-iphoneos" folder.
2 - The .ipa file is smaller (550-557Ko according to the tutorial).
3 - When I install it throught iTunes, the icon stay dark and when I click on it the text change to "installation..." and nothing more happens.
Did someone ever ran into this situation and found a miracle solution ?

Use this GEM to generate builds by the terminal: https://github.com/nomad/shenzhen
It handles most of the pain for you, but the problem your are reporting should be related with the provision profile. Check if the uuid of the device is in the provision profile and if the provision profile stills valid.

Related

Unable to archive in iTunes Store

When trying to upload my app, I get the error:
"You must supply a CFBundleIdentifier for this request". The identifiers (UTI format) in info.plist, "General Identity", iTunesConnect and App ID (Apple Developer) are all similar.
When getting the CFBundleIdentifier in applicationdidFinishLaunchingWithOptions: I get the same result.
I have changed the project name, maybe it has something to do with that?
Any suggestions? Thanks!
Info.plist
I was getting this error when free space in my mac hard disk was low
I got the same error. In my case, the .ipa was put inside a folder. But, since i used the file-extension ".ipa" when Xcode asked me to where to put the output, the file was put inside a package. Once i exported the archive again and only used a name for the output everything worked fine.
Open your info.plist and check to see if Bundle OS Type code is null. I had the same problem, and added APPL to Bundle OS Type code, and it was OK.
See here for a helpful image.
Change Bundle OS Type code and Bundle creator OS Type code to APPL.
It probably won't work. :-(
Restart XCode. Now it works :-)
I had this issue and resolved it the following manner. First make sure that this is not related to information in the info.plist - as outlined in the other answers - make sure that Bundle OS Type code is set to APPL. This was not the issue for me.
With Xcode 8 and later, Go to developper.apple.com and remove all iOS provisioning profiles and iOS certificates. Then in Xcode go to Preferences. Select your Apple ID. Click on view details.
Right click on Provisioning profiles and either delete them directly or open in Finder and delete them.
Close Xcode. Re-open. In your project, in general, uncheck Automatically manage signing. Recheck it so that Xcode creates the new provisioning profile.
Check the signing and make sure you are using newly created profile, as shown here:
Good to go!
For Me It was all about checking Requires Full screen that option for iPad mainly .. and the error happen cause you may checked 3 Orientations for all devices .. but the iPad in multi-tasking is requiring the whole 4 orientations..
In my case I had two info.plists sitting silent in finder. After deleting one I also had to change:
Bundle OS Type code from BNDL to APPL
No idea how the changes happend in the first place, but now it is working.
In my case I was using someone's else certificate and provisioning profile to archive app, sending him IPA file and he was uploading it to Apple Store. It resulted in this same error, the fix was to send whole dictionary with "ExportOptions.plist", "DistributionSummary.plist", "Packaging.log" and IPA.
I had that exact problem with my react-native app built using expo. Believe it or not, just restarting the Application Loader fixed the problem. :)
Mine was a react-native app built using expo.

CodeSign Error: Code signing is required for product type "Application"

Hey I'm trying to install a unsigned IPA on my jailbroken iPhone running iOS 8.1 but when I go to build it for my device (as done in this guide: http://www.sysrage.net/guides/ios-programming/building-and-running-ios-applications-without-a-paid-developer-license) I get the above error. I've set all the code signing things to not code sign but when I go to build I always get this error. I've done this in the past before (with the same guide) and I'm using the same project settings as I have in the past but nothing seems to work. Anyone have any ideas?
One way of installing your app on your jailbroken device is to use appcake from cydia.iphonecake.com repo. First have your app.ipa file handy. Second install appcake from cydia.iphonecake.com repo. Then Simply add Yourapp.ipa to var/mobile/Media/AppCake/Imported via ssh. Then navigate to the appcake application and go to the "Downloads" tab and then "Imported" tab on the top. You should see your application there. Press on it then press install. If you need more detailed instructions on how to ssh or extract the .ipa file from xcode let me know.

Xcode 4.3.1 - Packaging operation failed

Packaging operation failed - this message now showing while i try to make .ipa file for Ad Hoc distribution in Organizer
I checked certificates, checked project directories (after reading this)
Xcode dont showing any errors or something similar. Log Navigator show no errors (only old warnings).
So here is question: anyone else encountered a similar problem? And if answer is positive any suggestion to solve problem?
P.S.: in Xcode 4.2.1 all perfectly works
Occasionally this is caused during automatic resigning during packaging with a different distribution certificate. This can occur when you start a new project and you're building both dev and release builds with your Team Provisioning profile, then you create a distribution (ad hoc or otherwise) certificate for this specific bundle ID and attempt to sign the archive with that new certificate.
The fix is to dig inside your build settings for the code signing identity and set the build release identity to the same distribution certificate that you're attempting to sign your archive with, either your ad hoc or app store certificate. You can leave debug builds as your team cert.
In the below example, the problem has been fixed. Use the build settings search box to look for the code signing identity. "Release" is probably set to "iOS Team Provisioning Profile" when it should be set to "iPhone Developer: Your Name" which is the same certificate you're trying to sign your archive with.
I had same problem in my project (in xcode 4.3.2) And as per all ans I checked for any png file starting with "._*" and also checked folder and its subfolder are different name.
Also checked code signing identity as per requirement. But Not Succeeded to solve this problem.
After hole days effort finally I got reason for "Packaging operation failed" error in my project.
In my case,I have classed "About_us.h" and "About_us.m" and by mistake I import header file like #import "About Us.h" (white space in middle). So when I loaded app on Device it will successfully loaded but when I try to create ipa using archive its give me error and return me Estimated App Store Size just 143 kb.
Finally while I change header like #import "About_Us.h" and try to make ipa I got real size in proper MB.
Hope this will help someone.
I get the same problem.
PNG files starting by ._ are not visible, even if you display hidden files in Finder (defaults write com.apple.finder AppleShowAllFiles 1 in Terminal)
But if I browse my SVN folder using Versions app, I can see there are PNG files starting by ._
For each of these files, I opened it with Preview app, duplicated and re-saved with the same name, then I removed all the ._ files because they are no longer needed.
Now I can create an archive and distribute it through an IPA file.
I hope this will help you!
I had this issue after copying my project on a flash drive with FAT filesystem. Suddenly there appeared a lot of "._" files. One of such files was in Settings.bundle.
I removed these files running
find . -name "._*" -exec rm -rf {} \;
Issue for me was that release Product Name was set twice under Build Settings:
ProductName
ProductName
instead of just ProductName. Interestingly, the newline caused issues for packaging, but nothing else.
In case some file has space in file name which will stop the rm process. use this command instead.
find . -name \._*.* | xargs -I{} rm -v {}
Same issues for me. No folder within a folder, no ._ files, no warnings or errors etc. Archives fine, but when I try to package with the organizer to adhoc it fails and says it is 9kb.
I've managed to fix my issue. Here's how I did it. I went to terminal, typed in
defaults write com.apple.finder AppleShowAllFiles TRUE
Then I checked all the folders with images in them. I found that some of my images had ? infront of the name even though it looks ok in the finder, it showed in the terminal.
So I just renamed it and was able to submit the app.
Note: Check the estimated size of the app in the organizer. If it's way off, it's messed up.
I had a file that contained ^ in the terminal that was the problem.
When looked at in Finder there was no visual clue that it was not labeled correctly. However when I tried to rename it, it failed.
I had the same issue in conjunction with a custom directory-icon. Those are stored as a hidden file (named Icon?) inside the affected folder.
It's probably safe to assume that there is a bunch of desktop/fs-features and conventions which can lead to packaging problems.
I had an issue with my icons or atleast that's what I think. I had to delete the icons and delete the references in my info.plist file. Then after that magically, a option while selecting to distribute the app in the Xcode Organizer came up saying Don't Re-Sign, and after I did that BOOM! It worked! Good Luck for Future Visitors!
I had the same problem in a cordova project, but I could not find any png files starting with '._'. With some luck I found out that the problem for me was that there was some font folder with an icon in the www (blue) folder (www folder is the folder containing the webapp and will be bundled when building). After removing (moved the fonts a level higher) the message 'packaging operation failed' was gone and exporting the archive for Ad Hoc distribution worked again.
In my case I had two issues:
1. the bundle ID was slightly different between the one in the Info.plist and the one used in the iTunesConnect
2. the distribution certificate used for archive creation was not the same that I used to resign the app before validation/submission.
In all cases XCode was opaque. But using Application Loader (you can run it from "XCode menu --> Developer tools") and providing it with the ipa file, the messages were clear enough to help me debugging the issue. So I'm going to radar this to apple: give the user clear messages in XCode exactly as you do with Application Loader! in the meantime, I recommend to use Application Loader when the "package" issue is not clear enough.
I solve it just copying the project folder into the desktop, which (i think) shortened the project file path.
my problem was that I entered a Product Name containing the tilde character: "~xxx~"
it was a temporary build I thought I would highlight it but in the end you cannot use any character in the product name.
Hope this helps.
I installed Xcode 4.3.1 to compile an app for iOS4.2 but I couldn't solve the "Packaging operation failed" problem (I've tried some of the solutions mention above). Later I installed XCode4.4.1 and I was able to compiled for iOS 4.2 without (almost any) problems

Xcode 4.3: Codesign operation failed (Check that the identity you selected is valid)

After installing Xcode 4.3 I can't validate and distribute application using Organizer.
While building, signing and validating in Xcode is OK, the validation in Organizer fails with the message in the title of this question.
First, Xcode 4.3 can download provisioning profiles automatically (there's an option in Organizer), but it downloads only development profiles and ignores distribution profiles as if there are none. OK, I downloaded and installed it manually and it appears in Organizer. Then I set proper Code Signing Identity both for project and for target and use Distribution profile that matches Distribution certificate in my keychain. Then I do Archive (build-sign-verify) and no errors, in the log I see green checkmarks for CodeSign and for Verify steps. Looks good and the archive appears in Organizer.
And that's where all goes wrong, I just select Validate, choose the new version I just prepared in iTunes Connect, choose correct code signing identity, same as was used for Archiving (actually, there are no other choices in my case), it asks for iTunes login/password as usual, and then says
Codesign operation failed
Check that the identity you selected is valid
Ahhh!!! Why!? It had no problems while archiving it, then same code signing doesn't work when trying to submit to AppStore. Well, not even submit, but validate before actually sending it. So this issue is local to my machine. The very same signing and validation that is successful during build, fails in Organizer...
I tried everything, re-installed Xcode, removed/revoked and re-issued all certificates, removed duplicated private and public keys from keychain, put all certificates in one "login" keychain, issued new profiles, installed Application Loader 2.5.1, and so on... still no luck.
Could it be that I have some left-over from previous Xcode installs? Or that I have to update some tools to make Organizer work properly?
Meanwhile, if anyone knows another way to upload binary to AppStore, please share. I couldn't figure out how to do that using Application Loader, when it asks me to choose a bundle to upload, all I have is xcode archive created by Xcode in Archive step. How do I get my hands on iap or whatever file the Application Loader wants from me?
I've discovered that Xcode 4.3.1 has a serious issue validating apps with resources within a directory tree within an application bundle.
Apps can pass validation within the Xcode "Build for Archive" process - it only fails when the validation is run via Organizer.
After spending hours trying to trace down the usual code signing entitlement issues, I eventually noticed the following line in the system console when the export fails:
3/10/12 2:32:48.450 PM [0x0-0x261261].com.apple.dt.Xcode: /Users/chris/Library/Developer/Xcode/Archives/2012-03-10/Coverage 3-10-12 2.32 PM.xcarchive/Products/Applications/Coverage.app/Tiles/T-Mobile-roam/4: Is a directory
I spent a day trying to isolate this bug, and I've finally nailed it.
The code signer in XCode 4.3.1 when validating for the App Store or saving for AdHoc distribution chokes whenever there is a subdirectory in your bundle that has the same name as its parent directory.
For example:
test/test/file.x -- FAIL
test/test2/file.x -- WORKS
This seems to be new in Xcode 4.3.1, and hopefully will be fixed soon.
Notes: This thread seems related: https://devforums.apple.com/message/630800
I was the original poster on the Apple Dev Forums...
https://devforums.apple.com/message/621193
I've also attempted to bring this to the attention of the AddThis developers:
https://www.addthis.com/forum/viewtopic.php?f=19&t=38292
As mentioned in the other posts, the only way I've found to prevent the code signing failure is to remove the ATResources.bundle file from the project.
Of course, this bundle contains many of the necessary images for AddThis, among other things, but the error no longer occurs.
I'm hoping this helps someone else discover the correct way to solve this issue.
The problem is AddThis or explicitly the ATResources.bundle in the AddThis folder.
So you have two options:
The first one is using an older version of Xcode to Archive.
The second one is relocate all the images inside the
ATResources.bundle into a folder, and copy the content of the
Localizable.strings into your own Localizable.strings
Then open the FBDialog.m file and search for "close.png", remove that
line of code and replace it with:
UIImage* closeImage = [UIImage imageNamed:#"close.png"];
Now you're ready to Archive.
Finally consider to file a bug report in https://bugreport.apple.com/
In my case, it was a damaged custom framework.
I have so many subdirectories on my bundle that have the same name as their parents, so I was not able to validate and submit. The only solution I found is to download xcode 4.2.1 from Apple developer center and install it side by side with xcode 4.3.2. Then I used it to validate and submit.
I'm developing on Sencha 2. The key here is to launch the System Console from Apps/Utilities and look at the error log when distributing. That's the easiest way to see the offending directory. In Sencha2 its in the /sdk/src/device/device. Good stuff: Still happening in xcode 4.3.2
Just confirming that the problem was indeed nested folders with the same name in my app.
In my particular case this was the issue:
problem: images/packs/1/1/img.png
solution: images/packs/pack_1/1/img.png
Smooth sailing after that. This happened in Xcode 4.3.3
found the solution, it really works for me. hope this will help you guys.
if the issue is because of Addthis, try following
noted that the inside ATResources.bundle you have a folder named ATResources.
ATResources contains exactly the copy items (ADDTHIS.db,en.lproj,images) which is present in ATResources.bundle. so we can simply delete the ATResources folder from ATResources.bundle.
for deleting,, select the files from ATResources.bundle and right click , show in finder -> and remove ATResources folder.
the major issue is because subdirectory in your bundle that has the same name as its parent directory.
:)
I had same problem in my project (in xcode 4.3.2) and as per all answers I checked for any .png file starting with ._* and also checked folder and its subfolder are different name.
Also checked code signing identity as per requirement, but did not succeed to solve this problem.
After whole days effort finally I got reason for "Packaging operation failed" error in my project.
In my case, I have classed About_us.h and About_us.m and by mistake I import header file like #import "About Us.h" (white space in middle). So when I loaded app on Device it will successfully loaded but when I try to create ipa using archive its give me error and return me Estimated App Store Size just 143 kb.
Finally while I change header like #import "About_Us.h" and try to make ipa I got real size in proper MB.
Hope this will help someone.
I experienced this issue on Xcode 5.0.2 (5A3005) with 2 completely separate folders that happened to be named the same thing.
Most other cases in this thread focus on the parent/sibling relationship, but I think it's any two folders with the same name will cause this failure.
I had same problem as you do, and radven response inspired me:
did you see that ATResources directory contains nothing more than just copy of its parent?
ADDTHIS.db
en.lproj/*
images/*
ATResources/ADDTHIS.db
ATResources/en.lproj/*
ATResources/images/*
As a quick-and-dirty fix I removed the redundant subdirectory. Application builds and seems to work fine, and Xcode is able to sign.
Let me know if I missed any consequence of this fix?
Gee, I spent like an hour on this problem.
I just removed AddThis from my project. Do it and it would work.
restarting xcode made the buttons work for me. they were greyed out before, in case anyone here is having the same problem
Techi50 alluded to this but to be clear - under Xcode 4.3.5 there is a serious bug where code signing will fail if you have subdirectories with the same name as the parent directory. In the Sencha Touch 2 SDK tree, for example, there is
/sdk/src/device/device
argh... hours of trying to code sign with no luck... rename to:
/sdk/src/device/device_epic_fail
(since I don't need those libraries anyway)
and I can code sign.
And one big bug hunt is over. Apple... fix please...
Updating the AddThis SDK from 0.1.7 to 0.1.9 fixed this problem for me (using XCode 4.3.1).
I've determined another cause of this error, which occurred for me in Xcode 4.6.2 (4H1003). I had a subproject building an executable. This executable is a helper tool which is copied into my app's bundle when it builds.
The app has a min deployment target of OS X 10.7 and builds for 64-bit Intel as a result.
The helper tool, however, was set to a deployment target of 10.6, and was building for 32-bit/64-bit Intel.
Changing the helper tool to also build for 10.7 and 64-bit Intel only fixed the error. I can reliably recreate the error by changing the helper tool back to 32-bit/64-bit Intel; this is not a 'erm, zap your PRAM' fix.
As #radven and #tomek-cejner mentioned sometimes some extra directories could cause problems. Maybe if named improperly? for me the offenders were different.
Gruntfile.js, karma-e2e.conf.js, karma.conf.js, and the entire node_modules directory.
see: How to build IPA for distribution with TestFlight with XCode 5?

Issue about 'Invalid Signature' on iTunes Connect

Recently I created an application for iPad. I created the binary(something.zip) and uploaded that via Application Loader, but the result of uploading was 'Invalid Binary' always.
and I received this email from apple when my app was denied from them due to the issue 'Invalid Binary' :
"Invalid Signature - 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."
I searched the web from around the world to solve this annoying problem, but I cannot see the good answer. Here's the data of my application's info.plist :
Localization native development region : English
Bundle Display name : $(PRODUCT_NAME)
Executable fike : $(EXECUTABLE_NAME)
CFBunldleIconFiles :Icon-Small.png(29x29), Icon.png(57x57), Icon-Small-50.png(50x50)
(all files were created as 72ppi, RGB, flattened, No transparency)
InfoDictionary version : 6.0
Bundle name : $(PRODUCT_NAME)
Bundle OS Type Code : APPL
Bundle creator OS Type Code : ????
Bundle Version : 1.0
LSRequiresiPhoneOS : Enabled
UIPrerenderedIcon : Enabled
UIApplicationExitsOnSuspend : Disabled
UIStatusBarHidden : Disabled**
and I created this application with these tools -
cocos2d Ver0.99.4-rc3 /
xcode Ver3.2.5 64-bit /
iOS SDK 4.2
I tried to solve this problem for 3 days, but I couldn't.
Is there anybody who can solve my application's problem, It's an emergency issue of our company.
Thanks everyone
It seems like there are a LOT of causes for receiving this cryptic and mostly unhelpful email. Even after verifying the use of distribution certificates, cleaning & rebuilding my project, and checking with codesign from the command line (and following instructions from the email), no errors showed up—-but I'd get the "invalid signature" email right after uploading. All the solutions seem anecdotal and obviously depend on what secret error is causing the problem. I've spent the last week pulling my hair out, trying to figure it out for my app—-and finally got it successfully submitted today—so let me share my story and see if it's relevant to your situation.
In my case, I seemed to have a complex cause of having my Entitlement.plist set with an incorrect variable along with the holdover of an old provisioning profile (from a previous Xcode version?) buried deep in the project.pbxproj component of my Xcode project file.
The "aps-environment" variable in my Entitlements.plist was set to "distribution" instead of "production" (I swear I read somewhere in the developer docs that it was supposed to be "distribution"!) But fixing that alone wasn't enough to get my app through. (I must have submitted 100 different combinations of app configurations trying different variables!) Starting with the helpful suggestions from this post on another forum, I dug through the distribution profile and found duplicate entries for some variables. The duplicates had empty quotation marks (i.e. nothing set for the variable) or strange variables or old provisioning profiles which seemed to be causing problems (somehow). Cleaning this up and removing the duplicate lines with bad variables worked in my case. YMMV. But carefully examining the project files ("show contents" on the Xcode project file in finder) seems like a good idea for diagnosing. Good luck!
This is a very annoying issue, I spend a lot of hours in trying to find a solution but at the end this was corrected for me by removing the Entitlements.plist (as I understood it is only needed when deploying for ad hoc), removing any duplicate field in the Info.plist, setting the target to "Distribution" with the correct configuration of the certificates and using the method of "Archive" then "Validate" and at last "Submmit" in XCode

Resources