Apple rejects app built with Xcode 8 even though I have included the icons it claims are missing - ios

This app was built with Cordova 6.3.1 and the icons were generated with cordova-icon. I do not think any of that is relevant, however.
I have included an image which clearly describes the problem and my confusion: Apple rejects our binary saying that we are missing 57x57 and 72x72 icons, which those icons are clearly present in the project.
For #pedrouan: Here is a screenshot of the directory created by the build process. I should mention that we have been building with these tools for years, including a release last month. These rejections are new, which is what leads me to believe they are specific to iOS 10. I do not recall seeing an Images.xcassets in the Xcode project, but it looks like the build process definitely adds the directory.
Edit 2 for #pedrouan: Here is what the assets look like when added to the Xcode project. I am going to try to submit this and see if that is the new step required now.
Edit 3 for #pedrouan: The AppIcon section now looks exactly as it should. Apple is still rejecting the binary.

For Cordova builds, attempting to address this with manual Asset Catalog creation is a dead end. The actual solution to this problem is addressed in the accepted answer to this question:
Adding icons to IOS App in Cordova CLI 6.3.1
It appears that the cordova-icon plugin may no longer be required.

I see that there are five complains about icons within that email from Apple. That signs, there is something wrong with all of your icons prescription.
I guess this will not work for Apple. I would go Assets catalogue way in all cases. (Even though I understand, that you would need to do this each time you generate the product)
Quick guide:
Source: http://guides.codepath.com/ios/Adding-Image-Assets
For help, look at the App Icon section on this link: http://help.apple.com/xcode/mac/8.0/#/dev10510b1f7

Related

Xcode 9 issues after cloning repo

This is an app I'm helping out with remotely. I have some issues right after cloning repo..
Assets folder is marked as modified. git status results: modified: AppName/Resources/Images.xcassets/AppIcon.appiconset/Contents.json. One of many compile warnings says "A 1024x1024 app store icon is required for iOS apps". Is new 1024x1024 asset placeholder the modification that was made?
Many warnings:
The app is running well in App Store and has support for iPhoneX, so if I clone, shouldn't all this stuff be sorted out already? I still see layout issues when I run in simulator on any device size that were apparently fixed for iphoneX compatibility. When I was running Xcode 8.3 I didn't have these issues.
I need to add a feature, push and make build available on TestFlight, but I'm worried about pushing with all these compile errors & bet it wont even archive with missing 1024x1024 asset.
Question:
Should I just go back to previous version of Xcode rather than sticking with 9.1 or resolve all this stuff myself? Devs aren't really available for me to consult with since initial app was developed through full-service software dev company.
Im mainly in contact with business ops/project managers who don't really have knowledge of tech at this level. Im no seasoned dev myself so I'd like some advice here before expressing concerns with managers or getting strings pulled to talk with devs who last worked on it.
I'm hoping the first comment isn't that this question doesn't belong here. I think its a fine line.
Thanks for your time.
The app in the appstore could be submitted and released to the appstore with issues listed in the issue navigator of the xcode on posted screenshot.
So, switching to a version of Xcode which was used for a last submit to the app store by previous developers does not guarantee that those issues will be not present.
There is only one issue which you have to resolve is "1024x1024 app store icon is required for iOS app" and this can be done only within Xcode 9

Xcode 9 Alternate App Icons - Invalid Image Path

I use alternate app icons in my app (which is currently in the App Store). Since upgrading to Xcode 9, I get errors when submitting to the App Store (see screenshots). The alternate icon works properly when running on the simulator/device.
The main app icon is included in the Asset catalog, and the alternate icon is added directly to the project (which I needed to do to get it to work in Xcode 8.3). I've double checked that all the alternate app icon files are part of the app target.
I'm also getting some errors regarding missing required app icon files, which seems suspicious since they're all there as far as I can tell.
I'm using Xcode Server to create my builds, and submitting to the App Store from the integration results page.
Please let me know if you need any other information to help me solve this issue.
EDIT: I created an archive manually using Xcode, and that archive was accepted. Looks like this is an issue with archives created by Xcode Server.

Invalid Binary issue while uploading iMessage Sticker App using XCode 8

I have created a StickerExtensionPack. Apparently, Apple is treating a sticker extension pack as just another app that needs to go in the Sticker Category, fair enough.
However, when I uploaded the binary, I was sent back an email saying that the binary is invalid, because of the following reason:
Invalid Messages Application Support - The MessagesApplicationSupport
folder is missing and you have LSApplicationLaunchProhibited set to
true in your Info.plist. Either rebuild your application using the
current public (GM) version of Xcode or remove the
LSApplicationLaunchProhibited key from your Info.plist and resubmit
your application. Invalid iMessage App - The bundle contains an
invalid implementation of iMessage support. Add
MessagesApplicationSupport/MessagesApplicationStub next to your
Payload directory in your IPA.
MessagesApplicationSupport/MessagesApplicationStub must match the
binary at TapTeach.app/TapTeach and have no post processing applied to
it.
I'm doing a simple sticker pack. I'm on XCode and can not find LSApplicationLaunchProhibited anywhere in the info.plist within the my files!
Any guidelines on how to resolve this will be helpful. Thanks.
Try these steps:
turn off Bitcode from "Yes" to "No"
Change the version to CURRENT_PROJECT_VERSION = 1.10.11.
You don't need to recreate your project, just change the version. I reran the build and it's currently "in review" in iTunes without any errors.
So far, the only way I have been able to work around this issue is to repeatedly delete and recreate the project until iTunes Connect accepts a build. And really, I'm not even sure if the project recreation is actually helping - it could be entirely random - as it still only works about 50% of the time and turning off Bitcode, as mentioned by the OP, did not help.
At least two out of the three sticker packs I am currently working on have had this problem (with Xcode 8.0 and 8.1), so it's befuddling how this cannot be more widespread. I have to assume it's something specific that's causing it, but I am not sure what. So I guess until a proper solution is found: try, try again.

Send for Review iOS app [duplicate]

After submitting my app through Xcode, I see my app with no icon and it says "Uploaded" in the prerelease tab. What should I do? It's been two hours. I validated and submitted without any issues through Xcode. Here's what I see:
Update:
It's been about another 2 hours and I still see:
Update #2:
It's been another 24 hours and nothing!
Update #3:
I've contacted iTunes Connect Support addressing this issue and they said they would give me a call after they get in touch with the engineers. Here is what they said through email:
I will follow up with you as soon as I have an update. Thank you for
your assistance and continued patience.
Final Update! SOLVED!
After a drastic 5 days of just getting this app to review, they've finally fixed the issue. It seemed to be an issue with the server. The best help I can give to those stuck is to try to send another build or contact iTunes Connect Support(it's faster to call then to email). Also, if you get your app sent to review, don't forget to request an expedited review from Apple, to make the review process faster (not every one is guaranteed). Thanks so much for all of your support!
Wait more. It will be processed eventually.
Apple may have issues with their validation servers or could have a very long pending apps queue. Just be patient.
Edit: (from MGame's experience)
If after a few hours, your build still hasn't started being processed, give a phone call to Apple. It seems that in some rare case your app could get stuck in their servers and they have to manually resolve the issue.
Please check your email inbox.This may be the issue
"Dear developer, We have discovered one or more issues with your recent delivery for "App Name". To process your delivery, the following issues must be corrected: Missing required icon file - The bundle does not contain an app icon for iPad of exactly '76x76' pixels, in .png format for iOS versions >= 7.0. Missing required icon file - The bundle does not contain an app icon for iPad of exactly '167x167' pixels, in .png format for iOS versions supporting iPad Pro. Missing required icon file - The bundle does not contain an app icon for iPad of exactly '152x152' pixels, in .png format for iOS versions >= 7.0. Once these issues have been corrected, you can then redeliver the corrected binary.
I have the same trouble. I tried the following:
Increase the second build number
Resubmit binary
Then my app process was completed immediately.
I have added myself as App Manager and Got email that i need to add NSPhotoLibraryUsageDescription in info.plist. For more Details see this answer.
https://stackoverflow.com/a/39650451/1394622
But as i am writing this answer also working for people. It says just don't put xcode in background and let it run in foreground while you are uploading.
https://stackoverflow.com/a/26655249/1394622
After waiting for a week without seeing builds, I've try Application Loader from Xcode 8.1beta.
Steps:
Archive
Export -> Save for iOS App Store Deployment -> Save a folder with IPA in my desktop
Xcode -> Open developer tools -> Application Loader -> choose IPA file from desktop
Now I can see my builds..
Another simple thing to try is to update the itunes Connect Form of the app version.
In my case, the builds only appeared after I've put something in the first field ("What's new in this release") and saved the changes.
Add missing items in info.plist,such as icon files, privacy usage description, requirements etc. it works for me
Wait for sometime. You can see the build. In my case it happened like that.

Invalid Signature - Code object is not signed at all

Im able to submit my app through Xcode 6.3.2 perfectly fine. Validation and analyzing pass perfectly. Once it successfully submits to the app store though I get an email from Apple:
"Dear developer,
We have discovered one or more issues with your recent delivery for "App". To process your delivery, the following issues must be corrected:
Invalid Signature - Code object is not signed at all. 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
Once these issues have been corrected, you can then redeliver the corrected binary."
I have tried redownloading the distribution cert, regenerating the distribution provisioning profile, added "--deep" to the code signing "Other Code Signing Flags." I even checked the bundle name etc, everthing is alpha numeric. I was able to submit fine on May 22nd, now on June 3rd everything breaks.
Doesnt make any sense, any help would be appreciated!
UPDATE & SOLUTION:
While I don't have a good explanation of why this suddenly has happened within the last week, I finally found a solution this morning.
I started with a new project and submitted to the app store with nothing but the identifier and correct version and build numbers, which processed fine. After that I started piecing in any assets that wasnt my own code until I got the "Invalid Binary" email. I narrowed it down to the Hockey App SDK (embedded framework) which was causing the issue and not even being used anymore so I removed it from the project (problem solved). The disturbing part is that nothing fails on my end during validation or submission and according to github this directory and content hasn't changed in a year, which leads me to believe something changed server side at Apple.
I did see a lot of posts via google saying that frameworks needed signed etc and when using Xcode 6 and iOS 8 it seems to be the standard which is why I assumed it might be something along these lines.
Im not sure how helpful this is as I was building for iOS and this article is in reference to Mac, but HockeyApp explains in order to distribute to the app store you need to sign the framework with your own identity here:
http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/hockeyapp-for-mac-os-x
If anyone has anymore technical notes on this or why this suddenly changed Id love to understand this better.
I've checked a variety of places and there seem to be several things that are now being rejected by iTunes Connect. The solution is typically to remove the offending resource from the Target -> Build Phases -> Copy Bundle Resources (as #azizus mentions). Unfortunately Apple doesn't tell you what file causes this issue with your builds so you have to go hunt for yourself. Here are some items that I've found that will do it:
Shell scripts (Look for .sh files, though they could have a different
extension)
Also, look out for files that are listed as executable, when they
shouldn't be. Those might be a good place to look for shell scripts
that you might have missed.
Frameworks (Framework bundles, even .a or .o files - you
don't need them as they will get compiled into the executable binary)
DocSets (I don't know why, but I found that the HockeyApp SDK
includes a DocSet bundle which was the cause in my experience)
Sometimes this might also happen due to some weird entitlements
issue. The entitlements you have may not match up with the App in the
provisioning portal.
Look out for invalid characters in your app name or file names (like
wildcard characters)
This is a pretty broad list, something I did to help in the search is build an archive and then show the contents of the .app in the archive using finder, sorting by file type. The strange thing is that these files actually exist in the _CodeSignature/CodeResources file.
My own theory on why this is happening is that Apple made some changes (or is making some changes) because of Extensions and WatchKit apps. Essentially, you are including a couple of binaries in the packaged IPA (phone app, extension, watch app). They probably want to make sure you're not including something else that could potentially be executed. Unfortunately, the error message is too vague (really it's incorrect) for most.
This took me 3 days to debug.
In the end it was due to an external framework I created (lets call it X) that I was importing via carthage. X had its own dependencies that it was importing via carthage as well. In order to link these frameworks it had a path in the build settings called Framework Search Paths set to the location of the frameworks. For some reason it was this flag in this framework that was causing the problem specified in the questions. I eventually imported X's dependencies with Git submodules so that I didn't have to set the Framework Search Paths flag. I the exported the framework and manually added it to my project I was submitting to the AppStore. Then it worked.
I can reproduce this when I 'create folder references' for my resources folder as opposed to 'create groups' when adding in.
I contacted HockeyApp and they suggested not to add the SDK to app bundle. So I navigated to Target -> Build Phases -> Copy Bundle Resources and removed HockeySDKResources.bundle from there. iTunes Connect accepted my binary.
In my case it was a info.plist duplicated that was not used. (it wasn't easy find out the problem). I removed almost all the files of my project until remove this one and.. it worked
Clearing the value for Code Sign Resource Rules Path in each target resolved the issue.

Resources