Can I dump my non-Retina Images for a iOS7 only app? - ios7

The next update of my iPhone app will be targeted for iOS7 only. A couple of questions?
Does this mean I can delete all the non-retina images from my app?
If I have only retina images left do I still need to mark them #2x?
Does Apple keep older iOS versions of my app on the store so those running older versions of iOS who have bought or want to buy can still access it?
Any help would be most appreciated.

Yes you still need to have the #2x at the end. Yes you can drop all the non-retina images but could affect performance as even the newer devices will use some none-retina images but the main performance hit was to iPhone 3GS and below but as iOS 7 will not run on iPhone 3GS or below it isn't a requirement you'll just have to handle the performance issues. No Apple do not keep hold of older versions of your app on the app store, if you drop support for it then it is gone.

To answer the second part of your question YES, Apple does indeed store older versions for download.
For my app Parkable I created one for iOS5/6 then when 7 came about I specifically targeted it and dropped support for older iOS builds, now if you're not on 7+ you can still download the old version (instead of the old error telling the user to update their OS). This happens automatically as I recall, simply change your deployment target in both your project and target under the info tab.
Feel free to test if you have a pre-7 device (iPhone or iPad) and 7+ device https://itunes.apple.com/us/app/parkable/id577954935?mt=8&uo=4

Related

Can I still upload an application that does not support iOS8+?

Can I still upload an application that does not support iOS8+?
I currently have an app that we are releasing for iOS7 and 7.1, but it was rejected because it was not compatible for iOS8.
We are currently in the process of building the iOS8 version, but wanted to release something quickly.
You just need to build & submit it with XCode 6, iOS SDK 8.0.
They may reject if the app doesn't work with iOS 8. Do a quick test to make sure it doesn't crash, and all major functions are working fine.
No you can't. I'm not sure the exact date that apple made it mandatory to support iOS 8 but I do know it has passed so any new apps/updates submitted to the app store need to support iOS 8.

Using iOS 8 device for testing iOS 7 apps

I wonder if I update my primary testing device to iOS8, will this have a negative effect on testing iOS apps compiled with iOS7 SDK on this device? For example bugs related specifically to iOS8, which would not appear on device running iOS7. What problems should I expect?
Ideally, you should have one device to test each operating system version you are targeting. Once you upgrade, you will not be able to catch any issues that relate to iOS7.

App works fine in iOS 7 with no modifications?

We've been working on getting our app to work properly with all the changes in iOS 7. Particularly the colors and layouts of things. But these changes are still in development.
The version of our app in the app store has none of these modifications. When testing locally, it works on iOS 6 fine and looks horrible on iOS 7. Yet, upon downloading it from the app store and installing it on an iOS 7 iPad, it seems to work just fine -- just as it used to in iOS 6 (!). We are wondering if there is some "compatibility flag" that the app store folks can switch, which means "not ready for iOS 7 -- use compatibility mode"? I'm not sure how else to explain this. Wondering if anyone else knows?
Our app:
http://appstore.com/cedarssuite
Summary: running via the simulator on iOS 7 or on a development iPad that has iOS 7, the app looks horrible. But downloading the approved app store version and running on iOS 7, it works just fine. Why?
A note: This is no longer correct. Since February 2014, Apple only accepts SDK7 builds
That's normal. all the old apps work fine on new iOS versions since those app. Base SDK set to that old version. in your case (iOS 6.0). They will run using old sdks. But, when you built with the new sdk (Base SDK 7.0) they look horrible as you said and some times they crash. because of layout changes and controls behaviours in the new iOS.
You are only asked to build with the new sdk to take advantage of the new features.
keeping your app. built with the old versions doesn't seem to have disadvantages other than new features. since apple still accept publishing apps with old sdk back to 4.3.
If you set the base SDK < 7, it will use the old iOS 6 style. Of course, that basically requires you compile with an old version of Xcode, and you can't use iOS 7 features, even when running on iOS 7.

Upgrading App to support iOS 5

I have developed an ios4 app and now want to upgrade it to ios5. What are the sort of things i need to be aware of in terms of the switch being successful and not causing any pains? My most important question is that if i do push a new change to apple, what will ios4 users see when an upgrade is available that supports only ios5 and up? Can they just ignore that update and continue using the ios4 version they had installed? Will the appstore error out if they try to download the ios5 upgrade anyway? What exactly will happen?
Thanks
The biggest change in IOS 5.0 is the ARC project, so if you converted it to ARC it won't work with older devices like 3g (3gs can have ios 5.0 so it's safe).
Other than that, a user that has an iOS 5.0 device (or an upgraded one) would be able to get the update as soon as it is made available from apple store.
Keep in mind that lower end ios 5.0 devices might not have enough memory for the application though, it's the same that applies for ios 3 / ios 4 and sequentially ios 5/ios 6.0.

Support of iPhone 3G

I have submitted one iPhone app 6 times, and in the requirement of the last/ current version, iPhone 3G is not supported anymore.
My question: Why do I lose this model?
I have some remarks:
Now, apps don't support the iPhone 3G anymore.
I made some searches, and I didn't find any news about it.
Before I submitted this version, I updated my XCode from version 4.0.2 (iOS SDK 4.3) to version 4.2 (iOS SDK 5).
Maybe during the submission, "Apple" checked the binary in order to check the version of my tools (which I built my app with).
And as the iOS 5 cannot be installed on iPhone 3G, I have lost this support.
I own an iPhone 3G in order to make compatibility tests.
And with XCode 4.2, I had trouble to debug my App with my iPhone 3G.
But, i found the solution: Add the architecture armv6 is not enough I need to put some weak links.
If I submit my app with these options "special 3G", will these options be take into account and the support will be back?
(see the edit)
"What's new" is I changed my Apple Account: I submitted my app with another account.
Maybe there are some options somewhere that I didn't see.
Edit: I forget a part maybe important: the version of iOS.
The minimum version of iOS for running my app is iOS 3.1.
And my iPhone 3G runs on iOS 3.X
And all troubles I had with XCode 4.2 and my iPhone 3G seem to be the version of iOS (3.X).
Maybe my app lost the support of iPhone 3G to be sure there is no problem with iOS SDK 5 and iOS 3.X
But, there are users with an iPhone 3GS running on iOS 3.X.
I made some tests with one iPhone 3GS running on iOS 4.0: I had no issues and no options to add in my project settings.
Thanks for your answer. The problem may be the version of my XCode.
Like I said, I have already added the architecture armv6. But with my iPhone 3G iOS 3.X, this is not enough.
Did you test only this setting with one iPhone 3G with success?
I should do:
Add the architecture arm6
Set the Base SDK with "Latest iOS" (iOS 5.0)
Set the iOS Deployment Target with the minimum value
--- It's what you advice ----
Remove into the info.plist the parameter "Required device capabilities" (armv6 and armv7)
Add SystemConfiguration.framework as Optional (to make a weak link)
With this settings, my app crashes: "dyld: Symbol not found: __NSConcreteGlobalBlock"
So I should also add in the flag "Other Linker Flags", - weak_library /usr/lib/libSystem.B.dylib
This is one of my questions:
If I submit my app with these options "special 3G", will these options be take into account and the support will be back?
By default, Xcode 4.2 does not include support for the iPhone 3G, but you can add it back. Just select your app target and select "Build Settings". At the top, change the Architectures listed from "Standard (armv7)" to "Other". In the pop-up box, select the existing option and click the minus button, then click the plus button and add "armv7", then again click plus and add "armv6". armv7 will support the newer chips, while armv6 will add back in support for the iPhone 3G... providing you set your iOS Deployment Target to iOS 4.2 or earlier... your setting at 3.x should be just fine—that merely limits you to not using newer features of iOS obviously.
You may also need to add "-mno-thumb" under "Other C Flags" in the Build Settings, though if my memory serves me correctly that may only have been if you are wanting to use Automatic Reference Counting on the old architecture—and even then only because this is a work-around for a known bug.