Uploading an iOS app to the iTunes Store – There are one or more issues with the following platform(s): 1 unresolved iOS issue


I had various issues updating a recent version of an app we were submitting. The app worked perfectly fine on the App Store except we had the issue:


There are one or more issues with the following platform(s):
1 unresolved iOS issue

which gave:

From Apple
Dear Developer,

On September 1, 2016, we announced that we’re implementing an ongoing process of evaluating and removing apps that no longer function as intended, don’t follow current review guidelines, or are outdated.

We noticed that your app has not been updated in a significant amount of time.

Next Steps
To keep your app on the App Store, submit an updated version for review and make sure it follows the latest App Review Guidelines. If you are unable to submit an update within 30 days, your app will be removed from the App Store until you submit an update and it is approved.

If Your App is Removed
Your app will remain fully functional for current users. They will experience no interruption to services, will still be able to buy in-app purchases, and can re-download the app while restoring from an iCloud or iTunes backup. However, we recommend that you update your app as soon as possible to reinstate it on the App Store and ensure that it remains functional and engaging for new and existing customers.

You can continue to use your current app name, as your app has not been deleted from your account.

Additional Information
Learn more about changes to the App Store and keeping your apps up-to-date.
App Store Improvements
App Review Resources
Debugging Your Apps

Best regards,
App Store Review

We uploaded another version of the app and immediately started running into issues. A few hours here’s where we’d got to:


  1. iTunes Store operation failed.
    Missing 64-bit support. iOS apps submitted to the App Store must include 64-bit support and be built with the iOS 8 SDK or later. We recommend using the default “Standard Architectures” build setting for “Architectures” in Xcode, to build a single binary with both 32-bit and 64-bit support.

Fortunately this was solved using http://stackoverflow.com/questions/32514787/xcode-missing-64-bit-support-with-standard-architectures-enabled


2. iTunes Store operation failed.

Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly ‘120×120’ pixels, in .png format for iOS versions >= 7.0.


From http://stackoverflow.com/questions/18736954/missing-recommended-icon-file-the-bundle-does-not-contain-an-app-icon-for-iph

we made a complete set of icons using https://makeappicon.com/ but same problem.


Finally found the Asset Catalog section in the depths of the Settings under General > App Icons and Launch Images.

So annoying that you can’t copy and paste IDE text like “App Icons and Launch Images”.

Apparently there was already an Asset Catalog (which you can find by clicking the little grey arrow) next to the name of the Asset Catalog. However:

  1. this was empty and
  2. I couldn’t find it in the Xcode file listing

I deleted both xcassets files.

Now I had a red App Icons Source > AppIcon in the Settings. I couldn’t see how to add another Asset Catalog.

This (https://guides.codepath.com/ios/Adding-Image-Assets) suggested clicking on the xcasset file in Xcode however I couldn’t find it. The solution was File > New File and select Asset Catalog. Then click on the Asset Catalog and add the files.


Now the icons were working but we’d created a new error:

None of the input catalogs contained a matching launch image set named  “LaunchImage”.

I now needed to find LaunchImages from somewhere.

Checking through the repo using git but couldn’t it.


I’ve now spent the best chunk of a day trying to re-release a completely working app. I’ve given up and will try again tomorrow.





@weakify, @strongify

ARC supposedly does away with reference counting. However, blocks introduce a small wrinkle.

When you reference self in a block you make a strong reference to it which encourages leaks as you end up with objects (including View Controllers) hanging around beyond when they’re needed.

The solution is to define a weak reference before the block and use that. Inside the block you convert it to a strong reference. We don’t have a proper strong reference outside the block so it decrements as it should do. However, it’s a pain (see the first part of the linked-to post).

This is where the @weakify(self) technique makes things simple and easy. See the second part of this post!


Law of Demeter


In OO software, do not assume knowledge of anything else.

Longer explanation

The Law of Demeter (LoD) is the principle of least knowledge for developing software.

Roughly speaking other ways of expressing this are:

  • software should be loosely coupled
  • principle of encapsulation
  • principle of “information hiding”

For modern OO languages, when using dot notation simply use 1 dot. i.e. something like this would be forbidden:


as you’re assuming knowledge.

Much longer explanation here: http://en.wikipedia.org/wiki/Law_of_Demeter

Advanced App Tricks

One of those Apple articles that just doesn’t seem to fit in anywhere but rather useful.

  • Configuring your app to support iPhone5
  • Creating a Universal App
  • Supporting Multiple Versions of iOS
  • Launching in Landscape Mode
  • Installing App-Specific Data Files at First Launch
  • Protecting Data Using On-Disk Encryption
  • Tips for Developing a VoIP App
  • Communicating with Other Apps
  • Implementing Custom URL Schemes
  • Showing and Hiding the keyboard
  • Turning off Screen Locking