Xamarin.iOS Target iOS 6 SDK - xcode

We have upgraded to XCode 5 and Xamarin.iOS 7.x, but have one app we are not quite ready to support iOS 7 for yet.
Is there a way to target the iOS 6.0 SDK, and compile the app so that it has the old iOS 6 keyboard, etc.?
We tried changing the settings in iOS Build->SDK Version, and we can change it when targeting the simulator, but the option doesn't exist for AhHoc or AppStore builds.
Any ideas?

Xcode ships with several simulator SDK but only one device SDK. So you need to install an older version of Xcode. E.g. installing Xcode 4.6 will give you the 6.1 SDK).
Both versions can coexists side-by-side if you rename the existing one before installing the 2nd.
Be sure to have XS points to the Xcode you want to use (it's not a project specific setting).

Related

Xcode 10.1 beta 2 Invalid Toolchain

I am going to submit my app to App Store and it finds invalid toolchain .
New apps and app updates must be built with the public (GM) versions. Xcode 9 or later.
Should I reinstall Xcode 10 GM directly instead of beta?
Yes, you must use a stable release of Xcode to submit a build to App Store:
Xcode 10.1 (10B61)
Xcode 10 (10A255)
Xcode 9.4.1 (9F2000)
...
i.e. the versions in bold from this unofficial list: https://xcodereleases.com/
Beta versions of Xcode are only good for TestFlight builds, not App Store builds.
Not also that there is a minimum Xcode version depending on your product platform (iOS, tvOS, macOS): https://help.apple.com/app-store-connect/#/devb1c185036

Xcode 6 doesn't show iOS 7.1 simulators

I have the Xcode Version 6.0.1 (6A317) on Mac OS X 10.9.5 with all iOS 8 simulators. I have also downloaded the iOS 7.1 simulators.
I am developing an app for iOS 8 and iOS 7.
The problem I encounter is that Xcode 6 doesn't show the iOS 7.1 simulators in the devices menu. At some point it did show them but on my newly created Xcode 6 project it does not.
I was looking at some stackoverflow solutions.I have addded the iOS 7.1 simulators Window - Devices - SIMULATORS. They are also checked with "Show in the Run Destionations Menu",however they are not shown.
I found a workaround by setting the Project and Target Deployment Target to 7.1. However, this is a stupid solution since for every test I need to manually switch them forth and back 7.1-8.0
This is my first ipad app and it worked perfectly under Xcode 5.1.1. iOS 7 and iOS 8 (CREATED UNDER Xcode 5.1.1.). Now I have created a project in Xcode 6.0.1. and the project doesn't have the simulators showing correctly and 95% of the app doesn't work.
I am new to iOS development but I suppose that this is a bug, but I am unsure. Please help.
The deployment target is the minimum OS version you intend to support.
As you stated, you need to set the deployment target to 7.1 in order to see the 7.1 simulators. If your deployment target is 8.0, the 7.1 simulators will not be available in the run destinations menu. This is the correct behavior because you can't run on iOS 7.1 if your deployment target is 8.0.
I already had deployment target 7.0 and simulator still wasn't available for 7.1.
I fixed the issue though by going into Xcode preferences, selected Downloads and re-downled the missing 7.1 simulators under 'Components'. Although I previously had 7.1 simulator, the Xcode 6 upgrade had seemed to remove them.

Is it possible to install iOS 7 SDK on Xcode 6?

I have Xcode 6 installed but realise that I am only able to develop for iOS8. I am aware that this beta development kit is meant for the development of the iOS 8 beta release but I am in a position where I don't have the time yet to develop for it but wish to take advantage of some of Xcode's new features while I am developing for my current iOS 7 apps.
What can I do to get the iOS 7 SDK installed on xcode 6?
Seems like if you symlink the relevant SDK from a previous installation of Xcode to the Xcode 6 Beta directory, Xcode 6 will be able to use it. Assuming you still have Xcode 5.1.1 on your machine, try the following in terminal:
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
This should link the iOS 7 SDK for iPhone (not sim), allowing you to select iOS 7 as the Base SDK in Xcode 6 Beta. If you want to do this for the simulator, replace iPhoneOS.platform with iPhoneSimulator.platform.
NOTE: Just because you have the iOS 7 SDK now doesn't mean it'll build. I'm personally having trouble with the fact that Xcode 6 Beta is using the Apple LLVM 6.0 compiler, which apparently isn't compatible with some of the stuff I'm trying to build.
ref: https://stackoverflow.com/a/11424966/2383003
Just posting so that someone might find it useful: I wanted to debug my app in iPhone running iOS 7.1, in XCode 6.0.1. The previous iOS version was not being listed in the settings page, to choose as base SDK/deployment target. (I'm using OS X 10.10 Yosemite). I installed both XCode 6.0.1 and Xcode 5.0.1 and copied
/Application/XCode501.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk
to
/Application/XCode601.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
Now I'm able to run iOS 7 apps from XCode 6.0.1.
I changed the deployment target just fine and installed on my iOS7 iPhone 4s all the same. You can do all your development this way and then use 5.1.1 to make your relevant builds. I wouldn't advice to build apps for production in this beta environment even if you could.
Just repeating Christian's comment (on Ziewvater's answer) so it's more prominent:
What's strange is the fact that after adding the symbolic link to my Xcode folder, I see my device twice with the exact name and with some infos (iOS build number, model, device identifier) in the target selector in the upper left corner of Xcode. Depending on which of the both entries I chose, my app works fine or not, no matter which BASE SDK I chose. ??! Anybody experiencing the same?
This is exactly my experience also! Me and my team were tearing our hair out trying to understand why some builds seemed to be working and others were not.
It looks like Apple must be ignoring the base SDK (or target... or something) when you pick the wrong device from the list.
in Xcode 6.1.1 (Window -> Preferences - Downloads) you can install iOS 7.1 simulator. unfortunately it doesn't install iOS 7.1 SKD. if you set deployment target to 7.1 all builds without any trouble. be worry!!!! it is up to you to check the compatibility with 7.1 (SDK is still 8.1). so or so, all runtime trouble should be seen in simulator. i use this approach to build for my iPhone 4 in swift, where iOS 7.1.2 is the last available. (simply don't use any classes available only for newer devices :-))

Does xcode4.5 support ios4.3 simulator or prior?

I have upgrade to xcode4.5 from 4.4, but i can't find ios simulator 4 or prior within it. I open Xcode menu, preference, downloads, i can see simulator5 and 5.1 only. I am not sure whether xcode4.5 support ios simulator 4 and debugging with ios4.3 and prior.i know almost iphone and ipad people upgrade their ios to 5 already. but we have some project runs in ios 4.3.does someone know how to install simulator 4 in xcode 4.5?
thanks in advance.
Looks like it has been removed from xcode 4.5 on Mountain Lion:
xcode 4.5 runs ios 4.0 simulator (NOT)
According to Apple you can still set the deployment target for 4.3 though:
https://discussions.apple.com/docs/DOC-3461
The minimum supported deployment target with Xcode 4.5 or later is iOS 4.3.

Getting Xcode4 and using iPhone SDK 3.1.3 with it

I have currently installed version of xcode is 3 and iPhone SDK which I am using is 3.1.3. Now what I want is that I just want the Xcode 4 not iOS 4 sdk. That means I just want to upgrade my Xcode to Xcode 4. How to do that and I am offline. So how to upgrade if I do not have internet on my Mac.
If you use iOS 4 SDK you can still compile for 3.1.3 - set the "iOS Deployment Target" in the "Info" of the Targets and the project to 3.1.3.
If you want to upgrade to XCode 4, you have to be a registered developer (it's still in beta, so it's not available to anyone else until final release) and transfer it via a USB stick, CD etc. It's not available through the usual Mac Software Update.

Resources