I recently ran into an error similar to the following error when trying to publish a macOS application through Application Loader.
ERROR ITMS-90236: "Missing required icons. The application bundle does not contain an icon in ICNS format, containing both a 512x512 and a 512x512@2x image. For further assistance, see the Apple Human Interface Guidelines."
What was strange is I had a ICNS file in my bundle and everything looked to be working correctly. Sadly I was trying to package the application for deployment in the command line, so it was much more difficult to debug than the graphical interface that Xcode provides.
I was able to fix it by creating a folder called MyIcon.iconset
with 10 files in it. You can see the files inside the folder below.

For each file the image size was the same pixel dimensions as described in the file name. For example icon_256x256.png
was 256 pixels by 256 pixels. When the file name was marked with @2x
the pixel dimensions would double. So [email protected]
would be 512 pixels by 512 pixels.
I was able to resize my images super quickly using my new macOS application ImgSizer, which you can download from the Mac App Store to resize your images in a breeze.
After ensuring that folder is setup correctly, I navigated to the folder that contained the folder I just created in Terminal and ran the following command.
iconutil --convert icns MyIcon.iconset
This generated a .icns file that I was able to add to my bundle.
Sure enough, after ensuring those files were all correct in that folder and generating the icns file Application Loader accepted my bundle and I was able to submit for review to Apple.