I duplicated existing iPhone app project and made it function the same with a different name. Then I upgraded copy of this project to iPad version - "two device-specific application" but I switched to iPad only app in settings. When I build in Simulator (unfortunately I do not have iPad right now to test the device), some images are either gone or if I replaced them with HD copies, they still point to low res version (though when revealed in Finder it points to HD). I am so confused.
Can someone explain how to make sure the right images are set for iPad device? I can see 2 resource folders: Resources, Resources-ipad. But all images stayed under Resources and that works fine sometimes. Images I replaced with HD are not loaded.
You need to include them as bundle resources for the new target under Build Phases > Copy Bundle Resources.
Related
I have a project with 5 Targets. All of these have their own .xcassets (Assets) that holds LaunchImages, AppIcons, And two more Image Assets. All of these .xcassets are given appropriate Target Membership (Properly added to Copy Bundle Resources of their own target. All of these .xcassets files have different names).
When deploying these apps on iPhone 5S, the AppIcon does not appear. I searched on google and came across this answer Missing CFBundleIconName in Xcode9 iOS11 app release. I made changes like removing CFBundleIcons and adding CFBundleIconName in my Info.plist file. But nothing seems to work.
I have also assigned AppStore iOS 1024x1024 in AppIcon for all .xcassets file.
I created ipa for AdHoc distribution and verified that appropriate AppIcon gets bundled in the archive (By extracting ipa and browsing through Payload). While distributing ipa with http://www.diawi.com the AppIcon is displayed on the device while the app is being installed (while circular progress is being shown on AppIcon on iPhone). But as the installation finishes, the AppIcon disappears.
I checked the same AdHoc build on iPhone 5 (iOS 10.x.x) and the AppIcon is displayed on it. So, what exactly is creating problem for iOS 11 on iPhone 5S.
Xcode shows AppIcon for each target and their scheme as :
My Xcode version is : Version 9.0 (9A235).Someone please confirm that I have latest stable release (not beta / GM seed).
My iPhone 5S is updated on iOS 11 via official release (I haven't installed beta of iOS 11).
Open your app icons in Preview. Go to Tools -> Assign Profile. Select sRGB IEC61966-2.1 from the dropdown. You will have to do this for all the app icons you are using for your app.
I finally found the problem with cocoapods. The shell-script located at 'Pods -> Target Support Files -> Pods-ProjectName -> Pods-ProjectName-resources.sh' contains a section (probably last) where it combines all asset catalogs into one, thus my exported archive would have assets from all the targets and results in unexpected AppIcon.
All I had to do was to remove the section in the shell script where asset catalogs were combined into one. Refer this answer if you are experiencing same issue.
What worked for me:
Go to 'TARGETS -> Build Settings' and set your icon name in 'Asset Catalog App Icon Set Name'.
I'm using Xcode 4.6.3 and I'm sending the app to the client via Ad Hoc for testing and approval.
However, I've just updated the Launch Images and while it works fine when I run it from Xcode, and the 4-inch Launch image shows in the Target Summary, my client has shown me screenshots of the built app running in 3.5inch mode (which is definitely linked to a lack of a 4inch launch image). It's a little bit confusing really as I've named the file correctly (default-568h#2x.png) and it works on clean installs on both the Simulator and on my Test device.
I've also cleaned the project and project folder several times to no avail. I've checked the Copy Bundle Resources and the original default images aren't there and my new ones are (which is how it should be). I'm completely out of ideas, does anyone know why when it's being archived and distributed (I can't actually get the archived build onto my iPhone as my iTunes is not synced correctly with my phone) the launch image isn't being included thus forcing the app to run in 3.5inch mode?
Thanks,
Mike
It should be Default-568h#2x.png, just as the other default images are Default.png and Default#2x.png.
The reason that it works on the simulator and not on the device is the the simulator is not case sensitive, but the device is case sensitive, so you need to use the proper case for file names.
Weird stuff happening. I'm developing an iOS app under iOS 4.2 using Xcode 3. I have the same app in two different folders and they have different xib files (because of two different languages of resources). When I'm firing up to study console logs I'm getting the other one app on device - not the one I have opened at the time... sometimes it even gets weirder: I'm starting app A, but I see on my iPhone (4S btw) intro from version A and menu from B... Meanwhile both were succesfully installed onto device, so I can manually use them separately - but not while running from Xcode.
edit: these two apps have different bundle id and names
two things:
Clean before building (Shift-Cmd-K)
The reason the other version opens on your iPhone when you build your app is that they are both sharing the same Bundle Identifier (CFBundleIdentifier) in info.plist
I am currently building a full and a lite/free version of an iPhone app from the same source (along the lines of Creating Lite Versions of iPhone Games / Apps). This works great.
The only thing I cannot figure out is how to have two different iTunesArtwork files included in the respective build (e.g. one with a "lite" stamp on it, one without).
I read App Icons on iPad and iPhone on Apple's page but they don't say what to do with iTunesArtwork. I did include different "Icon.png" etc. files in the two different *.plists I have and this works as expected. But what about iTunesArtwork?
Am I missing something?
It is not required to embed the 512x512 artwork into your bundle. In iTunes Connect you will be able to upload the 512x512 file and you will be able to upload screen captures for the two different apps.
In XCode 4 you can create a group where you put your target specific files and assign them the correct target membership in the identity inspector.
Thus you have always the correct iTunesArtwork in your .ipa file.
This worked for me like a charm.
Hope it helps.
I have split my iPhone app into two targets one for the ipad and one for the iphone. When I upload to the appstore I can only have one binary. But I have two targets?
I think I am missing a step. Thanks in advance for any help.
A "target" encompasses all of the instructions that Xcode uses to build your app.
You can have two targets inside of one binary, although this is not always done. This is how Universal Binaries are made. The two apps are bundled together inside of one binary. If you open up a Mac app "bundle" you will notice a few meta files, like icons and such, and there will be the actual compiled binary code. An iOS Universal Binary has both apps inside of it.
(If you watch your compilation carefully, you'll notice that Xcode actually builds your app twice. It does one build for iPhone/iPod and one for iPad.)
Provided that your Xcode project is set up properly, you will get the intended results.
The binary will be fine, the "targets" refer to what runs when it is run on an iPhone vs iPad. If the project is setup correctly for universal it should work fine.