Should I place Launch Images and App Icons inside my Xcode project - ios

Can I just place my Launch images and App icons in the Images.xcassets without actually having to place them in my supporting files or any other files? Can I just drag from desktop to Images.xcassets so I can save on MB? Does Apple allow that when I submit app to the App store? Sorry this isn't a programming question but I have no idea and don't see Apple guidelines discussing this.

Adding resources to an asset catalog automatically includes them in your project. An asset catalog is basically a folder + some metadata. You do not need to include the images separately. It is worth remembering that 'Supporting Files' isn't an actual folder, but merely a group in the organizer; it's there so you can keep your sidebar a bit more organized.

Related

iOS: Unable to see the option of App Icon in the Product Page Optimization page in the app store connect

As the Product Page Optimization option is now available in the App Store Connect, I thought to try it out.
So I have created a test to try different App Icons.
I have followed these steps to create a test and treatments for product page optimization,
https://help.apple.com/app-store-connect/#/dev811bef199
But there I am unable to see the option to change the App Icon for different treatments.
There I can only see the screenshots, as you can see in the attached SS.
Please let me know how can I get the option to change the App Icon for different treatments for Product Page Optimization.
Your app binary must contain alternative icons, before you can use them in the Product Page Optimization page.
The simplest way to add alternative icons to your app is to add them in the Assets file of your app together with the Include All App Icon Assets build setting. It's important that each icon also include a large 1024pt file.
More tips how to add icons to your app can be found here: https://medium.com/#gianpispi/how-to-use-xcassets-for-alternative-icons-20849f836e2f

Xcode making thousands of copies of app

I'm not sure what this problem is related to. I have an iOS app I have been working on for about a year in Xcode. It works beautifully when testing locally in simulator or on devices. I tried emailing the whole folder to a developer today and holy smokes! the app folder size is 29 GB!! So I investigate and see that the app is apparently creating copies of itself again and again inside folder after folder. Each folder has all the files of the app plus a folder that has the files of the app and so on....
It may be related to Dropbox as well, as I attempted to link the main app folder to Dropbox a while ago. I looked in my Dropbox account but there's only one folder there (with date modified not showing).
I am afraid of breaking my app as well if I start deleting stuff, although I do think that the active one I am opening is the most top one when I go to the app in Xcode.
What could be causing this?
Please see attached screenshot:

IAP - Hosted Content - Asset Catalog Compiler Error - The output directory ".../.../..." does not exits

I have an app which is 50MB+ in size. It is filled with image sets. Since the app has IAP I would like to download image sets on demand (when the user buys one image set). In order to do that I am trying to use apple's hosted content option.
I created a new project with the correct name/bundle ID and configured everything in iTunes conect. In order to deliver these IAP image sets I used a Asset catalog for every IAP product.
However, when I want to archieve the product Xcode gives me the following message:
/Users/MyCompany/Desktop/Programming projects/Tutorials/Vegetables1/Vegetables1/Media.xcassets:
The output directory "/Users/MyCompany/Library/Developer/Xcode/DerivedData/Vegetables1-dzbpbuiozhaliyezacnqehsgubdt/Build/Intermediates/ArchiveIntermediates/Vegetables1/InstallationBuildProductsLocation/Library/InAppPurchaseContent/Vegetables1/Contents" does not exist.
The Media.xcassets is empty... I didn't add any picture. No matter what I do it keeps giving me this error.
The Media.xcasset is correctly added in the Copy Bundle Resources and is visible via Finder.
I could add all the images manually without the Asset catalog. I don't think this a good approach but if it doesn't work I will have no other choice.
You can only do this if you have a file listed under your Copy Bundle Resources that is not the images xcasset.
For me, since I also have music with my IAP pack, I had to simply add the music to the pack to make it build properly. Experiment with blank files, or other items such that you can include with the IAP that are not necessarily needed but can be included with the IAP in Xcode.
Asset catalogs are resources in your bundle, so you can't modify or add them at runtime. You also can't reference a resource that isn't available at compile time. You'll either have to prepackage all IAPs and unlock them via purchase (using asset catalogs if you'd like), or package your IAP content in a different format (probably a zip with raw images and a dictionary) so you can read them from a local directory outside the bundle.

~ipad and ~iphone and hosting content with apple

I have two questions which i cant find searching.
I'm making a photo app with lots of photos. I'm naming them ~iphone and ~ipad with different res. And want to upload one binary as a universal app. When running the app on my test device the app seems to be installed with all the images, since its 110mb and the images are around that size. Is it different when uploading the binary to the appstore or is it an other way to do it?
Second question is regarding uploading the content to apples servers. Should I have both ~iphone and ~ipad images in one content file or should I upload them separately? If separately, how do I do that?
This should be two questions
1) The binary you upload to Apple will be the same size.
2) If it's to be a universal app then they have to be in one content file.

Releasing IOS app with files in Library directory

I have an app that is going to display a list of local video files. The app will only have a couple of video files at first, but that number will grow with future updates and in-app purchases. I would like to store all these videos in 1 place and it makes sense to put them in the app's Library directory so they are not user-accessible. Is it possible to publish an app with files already in the app's Library directory? Or do I have to put them in the app's bundle and then copy them to the Library directory when the app is first launched? Although that would result in the 2 videos files being duplicated since I can't remove them from the bundle.
Yes, you do need to copy the files from the app bundle into the Library if you want to treat all the videos in the same way. You cannot change the contents of the app bundle from inside your app and the only files your app has when it first launches are those that are in the app bundle.
If you really wanted (and if the video files don't change), you could make special cases in your code to be able to get the starting videos from the app bundle and the in-app purchase downloaded videos from the Library directory. But, unless the video files are quite large this seems a bit excessive.
A third option would be to have the user download the starter files on first app launch, but that may be suboptimal for other reasons.
Please look at my answer in this thread. It might concern you or at least be interesting to read.
Does updating iOS apps delete library directory files?

Resources