Xcode 10.0 Beta 5 Released

ios
xcode
macos

#1

We are delighted to have released Xcode 10.0 Beta 5 on CircleCI 2.0. To select the new image, add the following to your jobs in .circleci/config.yml:

macos:
  xcode: "10.0.0"

The software manifest for the image is here.

Here are the more notable changes from the 9.4.1 image:

  • Since this is a beta image, we have just the default set of simulators installed.
  • Python 3.6.5 has been replaced with 3.7.0
  • Git upgraded to 2.18.0 with git-lfs 2.5.0
  • Node is now 10.7.0 with Yarn 1.9.2

Xcode 10 image has old version of Mac OS, certain command line tools fail
#2

Thanks for this :slight_smile:

There seem to be multiple versions of the simulators installed - see the extract from our build log:

xcodebuild: error: Unable to find a destination matching the provided destination specifier:
	{ platform:iOS Simulator, OS:latest, name:iPhone 8 }

The requested device could not be found because multiple devices matched the request.

Available destinations for the "UnitTests" scheme:
	{ platform:iOS Simulator, id:098AF8B6-3B6E-4701-8031-81402BD46807, OS:12.0, name:iPad (5th generation) }
	{ platform:iOS Simulator, id:84F834E6-99B2-40F9-A679-7F2168CA7FE2, OS:12.0, name:iPad (5th generation) }
	{ platform:iOS Simulator, id:328B5921-7B10-4EE7-B767-77CC3438E990, OS:12.0, name:iPad (6th generation) }
	{ platform:iOS Simulator, id:4D84668F-0D33-49CB-BEBF-635679B2009A, OS:12.0, name:iPad (6th generation) }
	{ platform:iOS Simulator, id:91759B85-1359-41DE-B1E1-4C78CCBB6C5A, OS:12.0, name:iPad Air }
	{ platform:iOS Simulator, id:B0BDA419-B544-4B83-8E42-B535674F6C11, OS:12.0, name:iPad Air }
	{ platform:iOS Simulator, id:15CC93ED-5649-49C2-9F57-E23C51739DEF, OS:12.0, name:iPad Air 2 }
	{ platform:iOS Simulator, id:455ACA18-25CA-4EB4-997A-1C2FE6866EE9, OS:12.0, name:iPad Air 2 }
	{ platform:iOS Simulator, id:0CD75D22-D9F0-4D92-BB83-0D5086F283A3, OS:12.0, name:iPad Pro (9.7-inch) }
	{ platform:iOS Simulator, id:10236A84-08B2-4BFE-90F4-C7F7F64ED3DD, OS:12.0, name:iPad Pro (9.7-inch) }
	{ platform:iOS Simulator, id:94A77FDB-FF5A-404A-86CF-B0A022D57E0F, OS:12.0, name:iPad Pro (10.5-inch) }
	{ platform:iOS Simulator, id:D29B38E2-BB81-4DF3-BC4C-029CE0A09F52, OS:12.0, name:iPad Pro (10.5-inch) }
	{ platform:iOS Simulator, id:554A6E22-8BF2-4644-BBCD-87EE6485FBE7, OS:12.0, name:iPad Pro (12.9-inch) }
	{ platform:iOS Simulator, id:905D08E7-6D53-46BA-ADE5-AF114BF0E8BE, OS:12.0, name:iPad Pro (12.9-inch) }
	{ platform:iOS Simulator, id:1922F001-D0D9-4C91-AC9D-207EDBAFEC8B, OS:12.0, name:iPad Pro (12.9-inch) (2nd generation) }
	{ platform:iOS Simulator, id:97BC3E59-5EB7-4619-9D77-A2A203FE2680, OS:12.0, name:iPhone 5s }
	{ platform:iOS Simulator, id:D799AF68-D67F-40DC-A8EA-1012B34CD10A, OS:12.0, name:iPhone 5s }
	{ platform:iOS Simulator, id:2B070C46-7D31-4152-8247-937534A714CC, OS:12.0, name:iPhone 6 }
	{ platform:iOS Simulator, id:B1773262-CCF1-4244-A56D-20817F8D304E, OS:12.0, name:iPhone 6 }
	{ platform:iOS Simulator, id:9F32C487-FAEC-4ABE-B00D-159EC007E50D, OS:12.0, name:iPhone 6 Plus }
	{ platform:iOS Simulator, id:C93E41D8-620B-47B8-A6F0-13FB094CE6D5, OS:12.0, name:iPhone 6 Plus }
	{ platform:iOS Simulator, id:940596C3-FA5D-43AB-8E76-458030078355, OS:12.0, name:iPhone 6s }
	{ platform:iOS Simulator, id:DE082AAD-B09C-4FA1-974C-599372C6DCF3, OS:12.0, name:iPhone 6s }
	{ platform:iOS Simulator, id:5CAB102F-63A1-473A-B0F7-F6D077C49F9E, OS:12.0, name:iPhone 6s Plus }
	{ platform:iOS Simulator, id:78CCA148-1E5C-4FE2-AB0B-B60C097676C7, OS:12.0, name:iPhone 6s Plus }
	{ platform:iOS Simulator, id:287AA6F8-BD9E-4759-975E-2B67EC238440, OS:12.0, name:iPhone 7 }
	{ platform:iOS Simulator, id:B05CCE51-34A4-47FF-8C3C-B6B6B83AABE0, OS:12.0, name:iPhone 7 }
	{ platform:iOS Simulator, id:74A46C58-65F2-4682-81A7-5737AC974582, OS:12.0, name:iPhone 7 Plus }
	{ platform:iOS Simulator, id:9474B284-B3F7-42DE-83AF-84DC0AB4CA9A, OS:12.0, name:iPhone 7 Plus }
	{ platform:iOS Simulator, id:6BC05DA0-F901-47F0-96C2-AB9C58C9AA73, OS:12.0, name:iPhone 8 }
	{ platform:iOS Simulator, id:937E00CC-D2EF-4029-893F-5523FAB787D2, OS:12.0, name:iPhone 8 }
	{ platform:iOS Simulator, id:CFCEC3F3-726C-4473-B764-E494311CCF77, OS:12.0, name:iPhone 8 Plus }
	{ platform:iOS Simulator, id:DBAC6B7A-8880-4675-A37D-A68D1012C4C7, OS:12.0, name:iPhone 8 Plus }
	{ platform:iOS Simulator, id:264C7219-ABEB-438F-B302-7FDFC5682926, OS:12.0, name:iPhone SE }
	{ platform:iOS Simulator, id:5A7A0D69-700F-4514-9CD4-685219595060, OS:12.0, name:iPhone SE }
	{ platform:iOS Simulator, id:6A150893-8228-411F-9907-DBC535BDA10A, OS:12.0, name:iPhone X }
	{ platform:iOS Simulator, id:CC8B996B-D125-4A43-8C14-8669154F281E, OS:12.0, name:iPhone X }

Any suggestions how we can work around this, given the IDs change on every build?


#3

Here’s my current workaround:

  1. Use xcrun simctl boot "iPhone 8" to pre-boot the simulator, rather than using Instruments.
  2. Grab hold of the first simulator ID into an enviroment variable:
    SIMULATOR_ID=`xcrun instruments -s devices | grep -m 1 "iPhone 8 (12.0)" | cut -d "[" -f 2 | cut -d "]" -f 1
  3. Use the env variable in the xcode test command: -destination "platform=iOS Simulator,OS=latest,id=$SIMULATOR_ID"

Xcode 10 Beta VM
#4

You can also reset simulators with approach I wrote here: Xcode 10 Beta VM


#5

This seems more reliable than my previous approach!


#6

Hello! Is there a timeline for getting the 10.0.0 image updated to use Beta 6? Thanks!


#7

Apple introduced notarize app for next version of macOS, 10.14 Mojave.
https://help.apple.com/xcode/mac/current/#/dev88332a81e

It requires macOS 10.13.6 or later as well as Xcode 10.

ATM, CircleCI only support Xcode 10 with macOS 10.13.3
https://circleci.com/docs/2.0/testing-ios/#supported-xcode-versions
https://circle-macos-docs.s3.amazonaws.com/image-manifest/build-440/index.html

Please update Xcode10 image to macOS 10.13.6 or later.

Thanks.


#9

Any plans on Xcode 10 Beta 6? iOS 12 is coming on September 12 and more people will need this update soon.

Reference: https://www.apple.com/apple-events/september-2018/


#10

We also need Beta 6 as we cannot build on beta 5 due to issues with it. So any update will be greatly appreciated.

Regarding release schedule of new XCode VMs: what is CircleCIs policy? When can we expect updated VMs for new XCode releases? How long after apple releases the GM version can we use it for our CircleCI builds?

I was unable to find this information. If I missed it and your process is already documented somewhere, please let me know where this is posted.


#11

Also, are there any expected timelines for availability of older simulators for Xcode 10? My tests on iOS 12 are working, but to check for regressions on older iOS versions, I like to run tests on a simulator for each major version of iOS that we support.

xcodebuild: error: Unable to find a destination matching the provided destination specifier:
		{ platform:iOS Simulator, OS:11.2, name:iPhone 7 Plus }

	The requested device could not be found because no available devices matched the request.

	Available destinations for the "<Your app name>" scheme:
		{ platform:iOS Simulator, id:CCD75CE8-4F0B-4B47-A5B5-F8396508A145, OS:12.0, name:iPad (5th generation) }
		{ platform:iOS Simulator, id:5A9F5E8E-2C3F-4F08-B1F4-87D60FFA32CD, OS:12.0, name:iPad (6th generation) }
		{ platform:iOS Simulator, id:94238A5A-B8D2-45B2-9EEE-F4925F041785, OS:12.0, name:iPad Air }
		{ platform:iOS Simulator, id:5EB28A8C-434C-4546-9FFA-08793B7710B6, OS:12.0, name:iPad Air 2 }
		{ platform:iOS Simulator, id:7044B82E-B64F-4FC6-9670-C694E6495694, OS:12.0, name:iPad Pro (9.7-inch) }
		{ platform:iOS Simulator, id:00E0BA3B-FFB6-4051-B3B4-B3EBAA706C0C, OS:12.0, name:iPad Pro (10.5-inch) }
		{ platform:iOS Simulator, id:EC9E8B2C-BA40-4BDB-8DA6-242B425191FD, OS:12.0, name:iPad Pro (12.9-inch) }
		{ platform:iOS Simulator, id:765BA8DB-3AF6-41C1-864D-A53AB221882C, OS:12.0, name:iPad Pro (12.9-inch) (2nd generation) }
		{ platform:iOS Simulator, id:1306C771-5EBF-4A71-BFBA-4F07D106BFFB, OS:12.0, name:iPhone 5s }
		{ platform:iOS Simulator, id:A8FFCE05-0D74-45D8-BF4D-C97C3150DDD9, OS:12.0, name:iPhone 6 }
		{ platform:iOS Simulator, id:5FC29138-E3C8-48C0-A114-99505D49FB43, OS:12.0, name:iPhone 6 Plus }
		{ platform:iOS Simulator, id:57E4A251-5971-41C2-8B9B-D04A25094992, OS:12.0, name:iPhone 6s }
		{ platform:iOS Simulator, id:ED9B0ED6-B0D7-4DB2-8EF5-A91E8232EA3B, OS:12.0, name:iPhone 6s Plus }
		{ platform:iOS Simulator, id:4D746801-79F1-4EAC-8407-F6FF0703D2F9, OS:12.0, name:iPhone 7 }
		{ platform:iOS Simulator, id:03A37181-2B82-42FC-9AC9-103C783F9883, OS:12.0, name:iPhone 7 Plus }
		{ platform:iOS Simulator, id:E25D6F85-BBEA-4CDA-9008-A6227D3DD900, OS:12.0, name:iPhone 8 }
		{ platform:iOS Simulator, id:DEFB8B81-4561-4E8C-9C2E-633EA0544650, OS:12.0, name:iPhone 8 Plus }
		{ platform:iOS Simulator, id:C1826402-198B-40B1-A7FE-924CF3BC0E7A, OS:12.0, name:iPhone SE }
		{ platform:iOS Simulator, id:C48223AC-C3A0-4D3E-82F9-F4E09CF6592A, OS:12.0, name:iPhone X }

#12

Xcode 10 GM is up as well. I’ve been doing builds manually for the last 2 weeks and it’s not fun. It’d be really nice if we get an update from CircleCI team on this.


#13

Last year the GM was released on Circle around 24h after it was made available, so I’m hopeful it won’t be long now. However, it seems like the betas have been a bit slower getting to Circle this year.


#14

Same here, please add Xcode 10 GM, we have to do manual releases otherwise.


#15

Would love to get a status update on when we can expect Xcode 10GM.


#16

Adding my voice to this, when can we expect to see the Xcode 10 GM available? we need that when code-signing builds for the App Store


#17

XCode 10 GM is being worked on and will be released soon. Please subscibe to the https://discuss.circleci.com/c/announcements category, we will post there as soon as it is possible.

I’m told it just came out last night, so please give us some time for testing so we don’t release a broken VM to you. It will be out as soon as it is ready.


#18