I have project which was developed iOS 6 and when I install it on device with iOS7 it's looks good. But now I update xcode to 5th version and now it's look not so fine. I know about application migration. My question is will I have some problems if I will continue using xcode 4 and upload to Apple will be targeted to iOS 6?
Your iOS 6 app runs in a compatability mode when run on iOS 7. You can currently submit apps compiled with older versions of Xcode but they will stop accepting them at some point -- and probably quite soon.
To directly answer you question: no, you don't have to update now. But assuming you will want to maintain the app for more than another couple of months it's some work you'll have to schedule.
Update: Apple will require new and updated apps to be compiled with Xcode 5 from February 1 2014, around four months after iOS 7 came out.
You are fine with Xcode 4 -- for now. But I would advise to get familiar with the iOS 7 SDK and Xcode 5 as soon as possible.
You did not explain why "it's look not so fine". Just set the target OS to 6.0, and it should really behave exactly the same way, maybe with a couple of more warnings.
I have left a project on the App Store, compiled with iOS 5.
With my surprise (I did not know about that) I found out that the App, running on iOS 7 device looks perfectly fine, without all the problem of elements positioning, just as it was on an iOS 5/6 device. Even the keyboard is displayed old style.
On the contrary if I run with a simulator, everything is messed up. So I choose to leave as it is, and plan a layout upgrade in the nearest future.
Yes. You can use 4.
You want you can build against an older sdk with 5.
How to build against older iOS versions with the latest Xcode downloads?
Related
I am relatively new to iOS coding, and swift. I have only coded in Swift, and not Swift 2. I am nervous that updating to the latest XCode will delete my files, or do something crazy, because that has happened before, so I have kept the last version, Xcode 6.3 (i think). Now, when I test my applications on my iPhone 6 with the iOS 9 Beta 5 software, most of my tableviews are not showing anything in them. They load the correct amount of rows, but they are not displaying anything.
How should I go about fixing this?
Should I update to Xcode 7?
If I do, will I have to change the code, and will my apps then still be able to be used on previous iOS operating systems? In other words, will there be a transition from Swift to Swift 2?
There will be a transition, for sure. That doesn't mean it won't work. My suggestion is to download Xcode 7 beta, make a backup of your original project and open it with Xcode 7 beta.
I'm using Xcode 5.1.1 on a MacBook Pro running OS 10.8.5. I've built an iPhone app (my first) using the iOS 7 SDK. Things are very stable, and the app is, I believe, ready for TestFlight.
Now I'm assailed by Xcode 6 and iOS 8. I want to go forward, but am kind of spooked that switching Xcode at this point may run the risk of breaking things. A lot of the reviews I read are negative, but I expect people who have problems are more likely to bellyache than those for whom things go smoothly. OTOH, I read that TestFlight is well-integrated into Xcode 6.
I recognize that answers to this question may be opinion-based, but I haven't found anything specific offering guidance for my particular circumstance.
Should I take the chance and upgrade Xcode and the app, or wait until I've launched, then upgrade and work iOS 8 support into an update?
Afterthought
I just checked and the upgrade to Xcode 6 requires an OSX upgrade to 10.9.3, which adds another layer of terror. :-O
Resolution
Ok, I steeled myself and went forward with the upgrade--Mavericks and Xcode 6. First thing I noticed is that my keyboard isn't appearing in my user input modals. But that's a subject for another post. Other than that, the OS and Xcode seem to be working ok.
Yes! There will be a few adjustments to make, but there always is. The only thing that's caused me extra time so far is Xcode 6 Auto-Layout for iOS 7 devices (e.g. layout margins). But it's not too bad.
Chances are many of your users are already on iPhone 6 and 6 Plus and/or iOS 8. Do you really want to ship to them without optimizing for their devices?
Have recently completed developed on an app. It started a few years ago. Had it on an older iOS version running Xcode 3.2.
Had to upgrade to Mavericks in order to try and submit to the app store (from application launcher).
Have now ended up with an Xcode 3.2 which cant get the simulator to work (asks for an SDK, have tried 3.2, 4.0, 4.1 and 4.2 but no joy). As well as an Xcode 5 which seems to require a lot of changes to my app in order to get it working.
For the Xcode 3.2 version I have done all provisional profile stuff and currently working on getting through the errors that application launcher throws at me.
2 questions.
Is it even possible to upload an app built on an older Xcode 3.2 (and presumably SDK)?
It is recommended I just move to Xcode 5 any put the hours in to get it working again on here?
Would really appreciate help.
thanks
No, it is not possible. Currently apps have to be built using the iOS6 SDK as a minimum, and in February 2014 this will change to the iOS7 SDK and Xcode 5.
Yes. If there are problems with your app then they need to be resolved before submission. A new app should be built using the latest tools. Particularly given the answer to 1, you will have to bite the bullet and make any changes that need making.
I've been down this path for 2.5 years now, migrating up the various versions of XCode, losing simulators for older versions each time (sadly).
But, the upload/keychain handling has gotten much better and the management of launch images, bundle info, etc. a lot easier as well. Also, support for older versions of the OS is difficult with deprecated features.
So, in general, my advice, is that as time moves on, so should your tools. Upgrade to XCode 5, bite the bullet, take the hit, and get your stuff out.
Starting on February 2014, Apple will require all submitted apps to be iOS 7 compatible.
Just a tiny part of iOS users are still running iOS 4.x, so it's highly advised you'd update your app to be at least iOS 6 compatible (but since you're gonna have work to do, why not make it up to iOS 7 anyway?)
On February 2014 iOS app will made the minimum iOS 6 compatible.
Before this You can upload the app for ios 7 and your are making the app in old Xcode as 4.2.
For making iOS 7 compatible if you will be add
App icon-60.png and icon-60#2x.png. in your Xcode app
It will be work your old Xcode 4.2 and it will be become compatible of iOS 7 and iOS 6
Other wise you will be download new Xcode 5 to make app for iOS 7 compatible.
What exactly does iOS 7 use to determine whether the application should be displayed with the traditional iOS 6 style UI (aka iOS6 compatibility mode), or the newer iOS 7 UI?
If I build our app in Xcode 5, with base SDK set to 7 I get the iOS 7 UI as expected
If I build our app in Xcode 5, with base SDK set to 6 I still get the iOS 7 UI (unexpected, happens on real device and simulator)
If I build in Xcode 4.x, I get the older UI as expected
In all cases, the deployment target is set to 5.
Since our app has fairly custom UI we're not ready to move to the new look of iOS 7 yet. However we do need to make some backend changes to support iOS 7 which we need to release now. Can we still submit apps built with Xcode 4.x and expect them to be accepted?
For the time being, you are able to. Apple will make an announcement when they stop accepting apps built with Xcode 4.x. My company is currently submitting apps with Xcode 4.6 since we do not have a new enough operating system for 5. I suspect it will be at least a few months until they stop.
Running against 6.1 Base SDK should do it.
However, as I discovered yesterday. Anything less than 7.0 Base SDK isn't supported by Xcode 5 (officially) and so it is undefined behaviour.
My app suddenly switched from iOS6 UI to iOS7 UI with no code changes.
In the end I restarted my mac and phone, deleted the app, deleted derived data and reinstalled cocoapods and it was working on iOS6 UI again.
Make sure that you set the Base SDK to iOS 6 in both the Project build settings & the target build settings - that should do the trick. Even though the target settings are supposed to override the project, I found that when just the target was set to 6 - it compiled with 7.
Regarding XCode 5, it's true that it doesn't officially ship with the iOS 6 SDK. However, you can extract it from XCode 4.6 and use it in 5.
You'll find the SDK in the XCode app under:
Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
Simply copy it from an existing installation of XCode 4.6 or from its .dmg (which can still be downloaded from Apple's website) to the corresponding folder in XCode 5, restart and you should now be able to select it as the Base SDK. Note that you'll have to do this after every update of XCode so you might find it easier to use a symbolic link rather than copying.
We've successfully submitted apps built this way to the App Store although as has been said before me, it would be a good idea to transition to iOS 7 ASAP before Apple makes it compulsory.
I only have the Macbook, which I CANNOT upgrade to Lion. I'd like to get started developing IOS applications. I've got an iPod Touch 5.0.1, so I'm good there. My main question is this-
When I finish making my applications and I deploy them to Apple, will they work just fine on other devices, like iPhone 4S 5.1.1?
Also, if I pay the $100 to Apple to develop, will they support my Xcode 4.2 for the whole year?
Will I be able to deploy my applications using this scenario without fear of Apple cutting me off?
Thanks in advance.
Xcode 4.2 is the last officially supported Xcode version that runs on Snow Leopard, but if you do developing on it, anything that works for older iOS's will run on your iDevices running newer OS's. You might be able to get newer SDK's to run with Xcode 4.2 but myself, I wouldn't risk it.
I think the big issue you're going to run into is that if you install a new OS onto your iDevice for testing, you may end up not being able to use your device for testing (in the Xcode organizer). So you probably want to keep at least one device back on the last supported iOS version for Xcode 4.2.
And this should take care of you for the whole year.
And hopefully you'll make enough money from whatever app you're building to afford a Macintosh where you can run Mountain Lion (OS 10.8) and Xcode 4.4 or 5 or whatever will be out a year from now.
Yes.
Yes.
Yes.
It really doesn't matter which Xcode do you have. You can even have Xcode 3 ;)