Using iPhoneSimulator 8.4 SDK in Xcode 7.3.1 - ios

I've tried the method mentioned here,
How to point Xcode to an old SDK so it can be used as a "Base SDK"?
I downloaded Xcode 6.4 and located 8.4 SDK for iphone simulator.
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
ln -s /Applications/Xcode6.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk/
Then I modified MinimumSDKVersion here in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Info.plist
Now I restart Xcode, the SDK for iPhone simulator was not present.
If I click on others and add iphonesos8.4 it says iphoneos8.4 (sdk not found
Any ideas?

Try to edit the /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform Info.plist, that way Xcode can pick up that 8.4 SDK and link against it. Then you should be able to run against the iPhone 8.4 simulator. If that still doesn't work, then forget the symbolic link and just copy the entire source SDK Folder and rename it iPhoneOS8.4.sdk

Related

Debug on iOS device with newer release than Base SDK

I have a bug (UI unresponsive) on an app that is built with iOS12 SDK. The bug does not appear if built with iOS13 SDK (but to do this this requires lots of other destabilising changes). I would like to just patch the iOS12SDK build for now until our iOS13SDK build is ready for release.
The problem being is I can't run the debugger on an iOS13.x device on xcode 10.3 to find out what the problem actually is!
It used to be that you can set the Base SDK in xcode to previous versions. There is still a Base SDK option which is set to iphoneos (possible to also use iphoneos13.1), and I have tried ln -s'ing my xcode 10.3 iphoneos12.4.sdk into the xcode 11.1 platforms directory, but xcode does not find it.
Any ideas?
Copy and paste iOS13.x Device Support to the below location.
Xcode app > Show package contet > Contents > Developer > Platforms > iPhoneOS.platform > DeviceSupport
You can download device support from here :
https://github.com/iGhibli/iOS-DeviceSupport

No Xcode support for iOS 12.3

My phone has updated to iOS 12.3 beta, the latest Xcode 10.2 beta only supports up to iOS 12.2.
Is there a beta version of xcode anywhere that is compatible with iOS 12.3?
I guess the options are to wait for apple to release a new version of xcode or to roll back. unless anyone knows otherwise?
I find a solution to fix this problem.
You should make a folder named 12.3 (... what is written in your error message) in Program/Xcode-beta/Contents/Developer/Platforms/iPhoneOS.platforms/DeviceSupport/ and copy the files from 12.2 in there.
Now you can run your apps on iPhones with iOS 12.3.
Any update on The IOS 12.3 Beta Developer Disk Image?
The official Debugging File for iOS 12.3 is not available.
You can try the following method to let Xcode support debugging iOS 12.3 devices.
1. Go to the folder /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
2. Create a folder named "12.3".
3. Copy the "12.2" file to the "12.3" folder.
How I fixed a similar issue with iOS 12.4
Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport and create folder called 12.4 (16G77) and copy the files from one of the previous folders f.e 12.3
Go to Xcode and click on the "Set active scheme menu" and click on Download Simulators at the bottom:
Xcode will automatically start updating and re-creating the supporting files for 12.4:
Hope this will help someone.
Actually, Xcode 10.2.1 could debug with real devices running iOS 12.3
Try it by yourself.
worked for me:
1. cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
2. cp 12.0 12.2
3. cp 12.0 12.3
4. downloaded Apple configurator and identified the connected devices
5. in xCode targeted the connected device
6. build worked
How I fixed similar issue with iOS 12.5.3 (XCode 10.1)
I opened Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport in Finder, created folder called 12.5.3 (16H41) and copied the files from folder 12.4 (16G77).

Use Xcode 7 with iOS 10

I want to use Xcode 7 with iOS 10.
As I understand, working with iOS 10 beta requires Xcode 8 beta, so I should upgrade my Xcode. However, my code can't be built by the new compiler, so I want to stay with Xcode 7.
How can I achieve that?
You need use DeveloperDiskImage from Xcode 8 Beta.
For this extract Xcode 8 Beta app and copy DeveloperDiskImage for iOS 10 to your Xcode folder.
Suppose you extract Xcode to Downloads/Xcode-beta.app
cp -r /Users/fanruten/Downloads/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A345\) /Applications/Xcode_7.2.1.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
After copy DeveloperDiskImage you should start Xcode and connect iOS device to your mac.
Edit:
With a standard Xcode install one can create a soft link:
sudo ln -s \
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A5309d\) \
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0
You can use any SDK on an older build of Xcode simply by copying and pasting the folder of the OS you need. Also you obviously cannot have two apps with the same name so just rename them to Xcode 7 and Xcode 8.
right-click / ctrl-click the Xcode 8 application icon to show the package contents and navigate to this location and copy the iOS 10.0 or WatchOS 3.0 folder etc.
/Applications/Xcode8.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
/Applications/Xcode8.app/Contents/Developer/Platforms/WatchOS.platform/DeviceSupport
Then navigate to the same location in Xcode 7 and paste the folder.
/Applications/Xcode7.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
/Applications/Xcode7.app/Contents/Developer/Platforms/WatchOS.platform/DeviceSupport
Restart Xcode 7. You'll have to wait a while for Xcode to rebuild the symbols etc.
For me none of the above suggestions worked.
Instead, I navigated to this location(press CMD+SHIFT+K to insert the below path) (through finder)
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
And copied the 10.0(14A5339a) folder, which contains the developer disk image. I then pasted it into
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
EDIT: I'm using Xcode7 (version 7.3.1-7D1014),iOS 10 public beta 6(14A5345a)-this is released on aug 19,2016
Although copying the folder containing the disk image is still the best way to go, i had no time downloading the newest Xcode to get hold of the disk image folder, so i basically archived the app and exported it using the save for development deployment option, then installed it on the test device using iTunes app.
In my case i hade Xcode 8.0 wanting to build on a 10.2.1 iOS device.
Pascal && Fanruten are right.
tested on 12th aug, Xcode Version 7.3.1 (7D1014) AND iOS 10.0 (14A5309d) on iPhone6 Plus.
I made a symbolic link as suggested (path are a bit different... see below.) but works with linking to Xcode Version 8.0 beta 4 (8S188o).
only for completeness:
Beta 4
sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A5322e\)/ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0
Beta 5
sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A5339a\)/ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0
Tymac's answer almost worked for me. Rather than copy and past, I had two Finder windows opened and then dragged the iOS 10 folder to the Xcode 7 folder. Once it's in Xcode 7, open the folder and make sure there is a dmg file.
Earlier I had dragged a copy of the iOS 10 device support folder to my desktop then copied it to the Xcode 7 folder. That seemed to unpack the dmg file so Xcode 7 still complained. Needs to be a dmg file in the folder.
One warning. I tried to use XCode 7.3.1 with ios 10 images from XCode 8.1 for cordova project (it works), but had problems with push notifications permissions (different setups for ios 8/9/10). Not sure about it, but it seems to me that some compiler directives are missing in 7.3.1
Here it is for XCode 9 and iOS 11 Beta 1:
sudo ln -s \
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/11.0\ \(15A5278f\) \
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/11.0
my two cents for Xcode Version 11 beta against Xcode 10 after wwdc2019:
ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.0 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.0
so I can use my iPhone with iOS 13 beta in Xcode 10.
after ln -s , pls relaunch Xcode

Build and Debug using ios 8.4 SDK in Xcode 7

Xcode 6.4 doesn't allow to debug on iOS 9 devices so i installed xcode 7 but it doesn't have iOS sdk 8.4 installed. Since I have a xcode 6.4 installation, i copied the
iPhoneOS8.4.sdk to the /Applications/Xcode 3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs folder
and copied the
iPhoneSimulator8.4.sdk to /Applications/Xcode 3.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs.
However the iOS 8.4 sdk does not appear in the base sdk options list.
In addition to copying the iPhoneOS8.4.sdk folder you need to edit
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist
and set MinimumSDKVersion to 8.4 and restart Xcode. Then Xcode will find and list the older SDK.
There is one work around for this situation. I used to do this in my routine work as below:
Open your project in Xcode 6.4 (You can see iOS 9 device debugging is disabled)
Now just open Xcode 7 (without any project opened from it) such that it looks active in "Dock Tray".
By doing above two steps, Xcode 6.4 will now enable to debug with iOS 9 devices.
Hope this helps.
You were copying an iPhoneOS8.4.sdk which is a relative symlink to iPhoneOS.sdk in that same folder in xcode6. So you ended up with two symlinks (..8.4, ..9.1) pointing to xcode7’s iPhoneOS.sdk (which is iOS 9.1)
Remove any changes you made.
You got two options. The first is the preferred one, as xcode7 updates will delete your 8.4 SDK in the future.
create a symlink called iPhoneOS8.4.sdk in the xcode7-folder. Let it point to your xcode6 iPhoneOS.sdk (which is iOS 8.4)
Use this command from your xcode7 sdk directory
ln -s <your xcode6 path>/iPhoneOS.sdk iPhoneOS8.4sdk
copy the xcode6 iPhoneOS.sdk folder to the xcode7 location. Do not overwrite iPhoneOS.sdk (which is xcode7's iOS 9). Rename it to iPhone8.4sdk instead

Import iOS 6 SDK into Xcode 4.2 on Snow Leopard

I installed Xcode 4.2 on a Snow Lopard and when iOS SDK was published I imported the iOS 5.1 SDK following this topic Is it possible to get the iOS 5.1 SDK for Xcode 4.2 on Snow Leopard?
Now I need to import iOS 6 SDK and I would know if this tutorial is still working for iOS 6 SDK.
Thank you!
This worked for me (after "su -", so I'm running as root), and with the Xcode 4.5 .dmg file mounted as a disk drive.
echo copying iPhoneOS6.0.sdk
cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
echo copying iphonesim6.0.sdk
cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/
echo copying devicesupport for 6.0
cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/6.0\ \(10A403\) /Developer/Platforms/iPhoneOS.platform/DeviceSupport/
#remove old -latest- link
rm -f /Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest
echo setting up Latest link
cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/
ln -s ./6.0\ \(10A403\) ./Latest
Note: Xcode dmg file available from https://developer.apple.com/downloads/index.action?name=Xcode (1.56 GB)
I tried following the tutorial that you have linked.
It works perfectly for me. Just copy "6.0" instead of "5.1".
With a Intel Core Duo (32 bit) running Snow Leopard the iOS 6 simulator doesn't work (because some of the libraries are missing 32 bit variants).
It also appears that while it is possible to test on an iPhone 4 device upgraded to iOS6 by copying the iPhoneOS.platform files but it does not appear to be possible to do the same with an iPhone 5. I assume this is due to the new armv7s format on the device.
So what you can do depends on your mac and your iOS device.
For the building of Cordova projects the same procedure works, however you will probably get this error:
dyld: Library not loaded: /usr/lib/system/libdispatch.dylib
Referenced from:
/Developer42/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk/usr/lib/libSystem.dylib
Reason: no suitable image found. Did find:
/Developer42/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk/usr/lib/system/libdispatch.dylib:
unknown required load command 0x80000023 Command
/Developer42/usr/bin/ibtool failed with exit code 255
This build fail happens because of /Classes/MainViewController.xib which is not compatible with iOS 6.... i think ;)
The workaround:
Select your projects target and expand the Supporting Files folder. Inside this folder, click on any file OTHER THAN MainViewController.xib. You need to expose the File Inspector. After you expose the File Inspector, select the file MainViewController.xib. At this point xcode will try to crash, don't let it!... just keep pressing Continue in the crash prompt until the File Inspectors settings changes to reflect the .xib file. You should keep pressing Continue until you get past the crash prompts such that you can make edits to the File Inspector. In the File Inpsector, under Target Membership unselect the target.
Close xcode, reopen and all should be golden!!
Avoid selecting MainViewController.xib in the future as it will crash your session.
I just tried to import the iOS 6 SDK into Xcode 4.2 for Snow Leopard, but when I tried to build one of my old projects, I got the same errors that iOSGuru mentioned. The troublemaker seems to be the iOS 6 simulator. Once I removed the iOS 6 simulator, my old project built normally using "Latest iOS(iOS 6.0)" selected as the Base SDK. That means I can't test on the iOS 6 simulator, but I'm testing on my real device running iOS 6 so I don't think that's such a big deal.
I haven't tried to build anything using iOS 6 features yet, so there's a chance something might still break there, but omitting the iOS 6 simulator seems to let me build with the iOS 6 SDK.

Resources