10

I have an iPhone 4s. I receive iOS 7 update in my phone. So the question is: can I run iOS 6 apps from Xcode on my iOS 7 device?

NOTE: I haven't got XCode 5, so that's the reason I would like to know about running iOS 6 apps from XCode 4.6.1 on an iPhone 4s with iOS 7.

dandan78
  • 13,328
  • 13
  • 64
  • 78
Igor Prusyazhnyuk
  • 133
  • 2
  • 14
  • 29

9 Answers9

10

This is what you need to do:

  • close all Xcode apps
  • run Xcode 5 and wait for the devices to be recognised
  • run Xcode 4.6.3 at the same time
  • close Xcode 5

source: http://gerrybeauregard.wordpress.com/2013/07/12/testing-xcode-4-ios-6-sdk-app-on-ios-7-device/

Roeland Weve
  • 499
  • 3
  • 7
  • This worked after I rebooted my iOS7 iPad and couldn't reconnect it to XCode 4.6.3. Saved my day. – foob.ar Nov 20 '13 at 21:57
7

Without Xcode 5, all apps you build will be built as iOS 6 apps, and they will run on your device in iOS 6 mode even though your device is running iOS 7. You may want to keep Xcode 4 around for that very purpose, even though Xocde 5 is now in the App Store. I haven't been able to reliably get apps to run as iOS 6 apps when built in Xcode 5.

Alex Pretzlav
  • 15,505
  • 9
  • 57
  • 55
  • That would be because you are able to build apps that run on iOS 6 but support iOS 7 graphics as well with Xcode 5. I am keeping Xcode 4 for this purpose, similarly I also have Xcode 3 so I can build for my old mac. – WolfLink Sep 19 '13 at 07:19
  • 1
    Thanks for the answer. Today i have tested apps through iPad and seems it works fine. But some things works too bad in ios 7 device which works brilliant in the previous version – Igor Prusyazhnyuk Sep 19 '13 at 13:52
4

Yes, you can run iOS6 Apps from Xcode in your iOS7 device.

They will run in a compatibility mode which is suppose to be like running the app in a iOS6 device but in reality some stuff may not work as expected. I have experienced problems with rotations, UIAlerViews and other components from the SDK.

Manuel Escrig
  • 2,825
  • 1
  • 27
  • 36
2

The mode in which apps run on iOS7 is determined by the Base SDK used to link the executable. If you link against the iOS 6 SDK (included with Xcode 4.6.3) your app will run under iOS 7 but look and behave like running under iOS 6.

Nikolai Ruhe
  • 81,520
  • 17
  • 180
  • 200
2

In my case, i changed Build Settings -> Build Options -> Compiler for C/C++/Objective-C to Default compiler then it's resolved.

lomec
  • 1,356
  • 1
  • 11
  • 10
1

Yes you can Run Your IOS 6 app in to IOS 7 but Sometimes its Graphics not Display Correctly or it Might be Crash in IOS 7 sometimes...

so Better you use Autolayout in your ios 6 app and run in your ios7 device..

0

I was unable to upgrade MacOS from 10.7.5 to 10.8.x and that is why I could not install Xcode5 on my MAC. I downloaded Xcode5 but due to incompatibility it can not be installed.

I was able to run app using XCode 4.6 in debug mode on an iPhone 4 with iOS 7 (and can't express enough how happy i got after that)

Steps:

Use incompatible Xcode5 (copy it from the dmg image to somewhere else, there will be a cross sign in it) and right click on it and Click "show package contents". Go to Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs and copy the iPhoneOS7.0.sdk file in the corresponding folder in Xcode4.6 after showing its package contents. Go to Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport and copy the 7.0 and 7.0.3(11B508) file in the corresponding folder in Xcode4.6 after showing package contents. Now when you open Xcode4.6 your project Base SDK should be 7.0 and if your device is not detected yet, disconnect and reconnect your device so that it starts "getting symbol files from iPhoneXYZ"

Hope this helps someone.

One more important thing, in your scheme Debugger should be set to "LLDB"

ShayanK
  • 1,243
  • 2
  • 13
  • 27
0

To test iOS 6 apps on iOS device you need to have xcode 4 and xcode 5 on your development machine. Step 1. Run Xcode 5 and run the project on the ios 7 device. Step 2. Run Xcode 4 and now you will find the ios 7 device listed in the scheme menu of xcode 4. Step 3. Run your project and enjoy.

Syed Zahid Shah
  • 391
  • 3
  • 5
-2
  if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
        self.edgesForExtendedLayout = UIRectEdgeNone; 

// iOS 7(x)

Ashish Kakkad
  • 23,586
  • 12
  • 103
  • 136