Effect of iOS 7 update on my app - iphone

I have an app released on the app store and I am still working on my iOS 7 update. How will the upgrade to iOS 7 affect the version of my app that is already out there? Will the users who have upgraded still be able to use the existing version?

If your app was built with Xcode 4 and the iOS 6 SDK, it will look the same on iOS 7, except for UIAlertViews and UIActionSheets.
If you make an update to your app with Xcode 5 and the iOS 7 SDK, all UI elements will be updated.
Apple hasn't said how much longer you can submit apps using Xcode 4, but it won't be forever.

If your existing app uses any native controls and ui, it will change in the upgraded iOS. So if you have a navigation bar translucent in your current app, it will show up as the iOS 7 navigation bar translucent. If you have Custom buttons, they will stay unchanged. They will still be there.
So my answer is: Depends.
If you have all the native controls, it will be changed to iOS 7 elements.
If you have all the custom controls (custom buttons, backgrounds etc.), it will not be effected.
Try to look into iOS 7 transition guide once its available.

If you mean how will the existing version of your app work on iOS 7, then, the simple answer is: try it!

Related

Compiling to a different iOS version

I have an application in the App Store, targeted for iOS 5, that runs correctly in iOS 6, and even iOS 7, but now, I wanted to add a new feature (just one new view with a controller).
The problem comes here: If I do compile the code with Xcode 5, it looks awkward, top status bar disappears, and even some views stop working.
I know this App needs a rewrite from Zero for iOS 7, but in the meantime, is there any way to make it work like it did before?
Can I somehow download a previous SDK, and in such case, will I be able to update the app to the App Store?
You need to copy the 6.1 SDK from an older version of Xcode into the Xcode.app you've got now, and then select the 6.1 SDK specifically in the build settings.
For the device this is /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk, and for the simulator it is /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk. The paths are the same.
Just download Xcode 4.6 from the developer page and use it parallel with Xcode 5.
But you don't really need to rewrite anything...
Just make a subclass for UIViewController with a following code and use that instead the default.
- (void) viewDidLoad{
#if __IPHONE_7_0
if ([self respondsToSelector:#selector(setEdgesForExtendedLayout:)]) {
[self setEdgesForExtendedLayout:UIRectEdgeNone];
}
#endif
}
Also don't forget that all UINavigationController is translucent in 7 and up and not translucent below.

IOS 7 native keyboard not appering when using xcode 4.5?

When i run the xcode4.5 build of my project on ios7 then keyboard appearing is not ios native keyboard which is native to ios7 but it is showing the previous greyish keyboard but alertview is working fine.
I can move to xcode 5 but there is many UI issue when i switch to xcode 5.
Reset of things are working fine with xcode 4.5
You need to switch to Xcode 5 for the keyboard. There is not other way I know of. Also the users will like your app more if it has the iOS 7 features.
As already mentioned, you need to move to Xcode 5. As you've noticed, the alertViews (and actionSheets) will be iOS-7-ified automatically, though.

iOS 7 UI elements

My understanding of iOS 7 was that when it was running on a given device that older applications (complied for iOS 6) that use standard UIControls (UITableView, UINavigationController, etc) would automagically have the iOS 7 look.
I have an app which utilizes a UITabBarController, UINavigationController, a UITableView and some UIButtons, however none of the controls in my app have the iOS 7 look or feel.
My navigation controllers are not translucent or blurred and my back buttons are not words they are still arrow encapsulated.
Am I missing something?
Thanks for your input,
Regards,
John
If you app is compiled for iOS SDK version 6, you'll have the iOS6 components on your app, even if your phone is upgraded to iOS7.
To see the new components in your app you'll have to compile it using iOS SDK version 7, fix the warnings/errors you will find to make it work, and submit it.

How to make iPhone4 and below version app compatible for iPhone5?

I have an application in iphone market which works for iPhone 4s and lower version. So now iPhone 5 has been launched which bigger size screen, my question is what all changes i have to do in my application so that it will be compatible with iPhone 5 also.
1) Do i have to rebuild my app for iPhone 5?
2) Do i have to make changes only in UI ?
3) Will the iPhone 5 will its make it compatible?
Your valuable replies will help me a lot. Thanks in advance.
Here is my answers,
1) Do i have to rebuild my app for iPhone 5?
If you want to utilize the complete screen space, you can add Default-568h#2x.png and rebuild the app and release it.
2) Do i have to make changes only in UI ?
You can utilize the complete screen space for iphone 5. You can code for screen modifications in case of other iPhones.
3) Will the iPhone 5 will its make it compatible?
Yes. It will make it automatically compatible. It will add a black strip on top and bottom to compensate for the extra space in the screen unless you add Default-568h#2x.png.
If your app uses the standard UIKit provided by Apple, you only need to add a 4 inch launch image to your app, and it will automatically resized itself. But if your app using custom controls or graphics-heavy like in games, you might want to adjust the images and take advantage of the larger screen.
You also have to make sure the methods you used do not deprecated on iOS6 to prevent the app from crashing. Some references if you need further reading.
To make older app compatible with iPhone 5 You need to look for Following things.
Latest Xcode version 4.5.
Open your project and select Upgrade settings for new version.
Add Default-568h#2x.png for new resolution .
For UI you have to change your xib's object autoresizing property.When you select View Go to
inspector and select size property It will show you None, Full Screen, Retina 4 options . Set autoresize property for all your Buttons , labels and check xib for retina 4 and None both.It is same like you set it for Landscape and portrait .
5.Some other changed will be in code because some method has been depreciated for ios 6.0.
6. After doing all this .You can run it on iphone 5 simulator for testing.
I have an app that was using GLKMatrix3 and its supporting functions. I found that the GLKMatrix3Multiply function would always crash on iPhone 5 hardware. Easy to workaround using GLKMatrix4 instead, but the point is that I would never have found the problem without actually trying my app on iPhone 5 hardware.
I was told to file a bug for the GLKMatrix3 problem, so maybe this will be fixed. But the code runs just fine in the iOS 6 simulator.
I learned from this that, whether or not you need to rebuild your app for iPhone 5, you do need to at least run your app on a device before advertising support for that device.

Is there any thing need to be change or configure when update iOS 5 to iOS 6 to run existing Xcode app?

I have updated the iOS 5 to iOS 6 . Is there need to change or configure any settings to run existing application on the Xcode ?
Well there are a list of deprecated methods which you should view inorder to run your iOS 5 applications in iOS 6. This is because lower version apps do not run in upper versions.
Here check this link I had provided an answer of deprecated methods before :) .
Does Anyone know which methods are Deprecated in IOS 6.0?
Depends on your application, the best for you would be to go through release notes on apples developer site in order to have look at all what you need to change.
And ya on the whole you will definitely need to work out on the rotation API which has been depreciated in IOS6.
If you're using static libs you should check that they have the armv7s slice, otherwise you should force to armv7 only
Also if you want to support iphone5 you'll have to add a default image name it Default-568h#2x.png
And also check that your view displays correctly on a 4 inch screen, if not try playing with your autoresizing masks before going to handle that directly in the code. Of course if you want to support only ios6 you can check out Auto Layout