Xcode 8 and ipod touch [duplicate] - ios

This question already has an answer here:
How to get iPod Touch simulator in Xcode 6.1
(1 answer)
Closed 6 years ago.
I need to develop an application to run on a recent iPod touch. Xcode does not have iPod as an option for device (only iPhone or iPad). Likewise, there are no simulators for iPod touch. I've read you can just select iPhone as the device and simulator but I am skeptical that will create an app I can deploy to a iPod. I've also read you can use iPod's to test iPhone apps but this is not my scenario. Is writing apps for the iPod touch with Xcode a bad idea?

Yes, you can develop for iPod touch using Xcode, just as you do for iPhone and iPad. (There is in fact no other way to develop apps for iPod touch.)
The differences between an iOS Simulator and any physical iOS device are much more significant than those between an iPhone and an iPod touch. (No simulator configuration has telephony capability, for example.) If you want to target the 5th- and 6th-generation iPod touch screen size when testing in Simulator, just choose the iPhone 5, iPhone 5s, or iPhone SE simulator, as those iPhone models have the same screen size as the last two iPod touch models.
When you choose an app template upon starting a new project in Xcode, the choice it offers you between "iPhone", "iPad", and "Universal" really means "phone form-factor" vs "tablet form-factor" vs "support both". If you choose iPhone or Universal, you'll get template UI layouts that support a phone-sized screen (or rather, various phone-sized screens, including 4-inch for iPhone 5/5s/SE, 4.7-inch for iPhone 6/6s/7, and 5.5-inch for iPhone 6/6s/7 Plus).

Related

Test app for iPad mini

I am developing application for ipad. I have tested application for ipad 9.7 inch. I want to test app for ipad-mini which is a client requirement. How can i test my app for iPad mini. Although ipad-mini and ipad 9.7 inch have same pixel ratio but according to client there is still an issue on ipad-mini.
I am currently using xcode 8.3.
There is no simulator device available for iPad mini.
You will have to download simulators for iOS 9 from the XCode-Preferences-Components as shown in the below image because iPad mini is not updatable to iOS 10. Thats why it is not showing up in the simulator list. Once you will download the components for iOS 9 you will get it in your simulator list.
There's no simulator for iPad mini. Either get one physical device or test on older version of ipad with similar resolution (or screen ratio)

How to add ipod in the simulator of xamarin

I am trying to add ipod in the iOS simulator of xamarin(in Debug mode).Any suggestions.
Apple doesn't provide a specific iPod simulator, only iPhone and iPad in various forms. They have never provided an iPod simulator.
If you want to use an iPod due to the 4" screen, you can use the iPhone 5, iPhone 5s or iPhone SE simulators as they all share the same screen size.

App on appstore has iPad support when iPhone family set?

I have an app on the App Store and I've made sure several times that iPhone is selected in: App > Target > General > Deployment Info > Devices > iPhone
..rather than Universal or iPad.
It appears every time the app is approved it still says iPad supported, how can I disable iPad support completely since the above "solution" doesn't work?
That is normal, iPhone applications can also run on iPad in a iPhone simulator mode.
This is the description of one application of mine only available for iPhone.
Compatibility: Requires iOS 7.0 or later. Compatible with iPhone,
iPad, and iPod touch. This app is optimized for iPhone 5.
This one just for iPad:
Compatibility: Requires iOS 7.0 or later. Compatible with iPad.
and this Universal (both iphone and ipad, no simulator)
Compatibility: Requires iOS 7.0 or later. Compatible with iPhone,
iPad, and iPod touch. This app is optimized for iPhone 5.
It seems the same, but in the reality there is also a + sign with written:
This app is designed for both iPhone and iPad
Making them "Just for iPhone" doesn't let iPads not use them. Imagine this bit of a crisis: on the first iPad's release, how did apps get on the store, since they were designed for iPhone? Developers had some options:
Make an "HD" or "iPad" version. This involved redoing the entire UI so it would fit on the bigger screen.
Do nothing. The iPad's would get the iPhone version of the app, but they would just be, as you can guess, oversized iPhone apps.
After a couple years, there was another option:
Make a "universal" app. This allowed both UI's, both big and small, retina and 1x scale devices, to be "bundled" together in the same Bundle. (heh, bundle pun.) Puns aside, this allowed for apps like "Facebook" to run on iPad, iPhone 3GS, iPhone 4, iPhone 5, iPhone 6, the future iPhone cheeseburger double-decker 7+, and everything else, without having to remake the entire app.
On the iPad, as mentioned by Andrea, it runs in an "iPhone Simulator" mode. This makes the tiny screen be rendered in the tiny screen scale, and, since iPad is over twice the size of the iPhone, it gave the iPad a "2x" button to zoom it in and make the UI bigger.
It's like an app designed for iPhone 4 running on an iPhone 6 Plus.
The iPhone 4 renders stuff at 960x720 landscape or 720x960 portrait, and iPhone 6 Plus's display is much bigger. To accommodate, it letterboxes the content and scales it up automatically.

Why is iPhone not available in Hardware -> Device

On my simulator under Hardware -> Device I only see iPhone Retina but not iPhone alone.
Is there a reason for this? am I missing iPhone?
If your project's Deployment Target is iOS 7.0 or later then that is why you don't see non-retina iPhone choices.
iOS 7 doesn't run on any non-retina iPhones or iPod Touches
iOS 7 does run on the iPad 2 and the non-retina iPad minis, which is why you do see the iPad option

How to configure iOS app to work on specific devices?

I am developing iOS app with ZBar SDK for QR-codes scan. Here ZBar SDK creators tell us that
Only the iPhone 3GS and iPhone 4 are supported, as they have a camera
with auto-focus. The ZBar library does not support the iPhone 3G and
is unlikely to ever support it.
So I have added auto-focus-camera key to the Required Device Capabilities section of my plist. All is great, except one thing - iPad 2 & iPod Touch 4th Gen doesn't have auto focus camera, but still are able to use my ZBar SDK code to scan QR-codes. But my auto-focus-camera key doen't allow users with iPad 2 and iPod Touch 4th Gen to download my app from App Store.
In other words I need to find a way to make my app installable via App Store on these devices:
iPhone 3GS.
iPhone 4.
iPhone 4S.
iPad 2.
The New iPad.
iPod Touch 4th Gen.
And on these devices my app should not be available:
iPhone 2G.
iPhone 3G.
iPad.
iPod Touch 3d Gen and
My question is: how to make my app available in App Store for first list devices' user and not available for second list devices' users?
Any help will be appreciated!
PS: I have seen this question on SO, but it doesn't help me much.
PS2: This app has the desired set of available devices.
Requirements: Compatible with iPhone 3GS, iPhone 4, iPhone 4S, iPod
touch (4th generation), iPad 2 Wi-Fi, iPad 2 Wi-Fi + 3G, iPad (3rd
generation) and iPad Wi-Fi + 4G.
Does anyone know, how they did it?
PS3: At the same time adding both still-camera and auto-focus-camera gives us this:
Requirements: Compatible with iPhone, iPod touch (4th generation),
iPad 2 Wi-Fi, iPad 2 Wi-Fi + 3G, iPad (3rd generation) and iPad Wi-Fi
+ 4G.
And that is not a great way as long as we have all iPhones as suitable for our app, instead of 3GS, 4 and 4S.
PS4: My app is here and it has such requirements:
Requirements: Compatible with iPhone 3GS, iPhone 4, and iPhone 4S.
Word Lens requires the armv7, opengles-2, and video-camera device capabilities.
I'm not sure that you can do that
Maybe you can do a check in your code and if the device model is not the good one, just pop a new view saying that the model that the user is using can't make work the application ?
You can detect the model with this:
#import <sys/utsname.h>
NSString*
machineName()
{
struct utsname systemInfo;
uname(&systemInfo);
return [NSString stringWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
}
and give that:
#"i386" on the simulator
#"iPod1,1" on iPod Touch
#"iPod2,1" on iPod Touch Second Generation
#"iPod3,1" on iPod Touch Third Generation
#"iPod4,1" on iPod Touch Fourth Generation
#"iPhone1,1" on iPhone
#"iPhone1,2" on iPhone 3G
#"iPhone2,1" on iPhone 3GS
#"iPad1,1" on iPad
#"iPad2,1" on iPad 2
#"iPhone3,1" on iPhone 4
#"iPhone4,1" on iPhone 4S
Else you can try sending an e-mail to apple
We need to use video-camera key in Required Device Capabilities section of app's plist.

Resources