diff --git a/Make.config b/Make.config
index 4d25d2217bf..7921d0f55d2 100644
--- a/Make.config
+++ b/Make.config
@@ -59,9 +59,9 @@ IOS_PACKAGE_VERSION_BUILD=$(IOS_COMMIT_DISTANCE)
IOS_PACKAGE_UPDATE_ID=$(shell printf "2%02d%02d%02d%03d" $(IOS_PACKAGE_VERSION_MAJOR) $(IOS_PACKAGE_VERSION_MINOR) $(IOS_PACKAGE_VERSION_REV) $(IOS_PACKAGE_VERSION_BUILD))
# Xcode version should have both a major and a minor version (even if the minor version is 0)
-XCODE_VERSION=11.6
-XCODE_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_11.6.xip
-XCODE_DEVELOPER_ROOT=/Applications/Xcode_11.6.0.app/Contents/Developer
+XCODE_VERSION=11.7
+XCODE_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_11.7_beta.xip
+XCODE_DEVELOPER_ROOT=/Applications/Xcode_11.7.0-beta1.app/Contents/Developer
XCODE_PRODUCT_BUILD_VERSION:=$(shell /usr/libexec/PlistBuddy -c 'Print :ProductBuildVersion' $(XCODE_DEVELOPER_ROOT)/../version.plist)
# Mono version embedded in XI/XM (NEEDED_MONO_VERSION/BRANCH) are specified in mk/mono.mk
@@ -98,7 +98,7 @@ MIN_OSX_VERSION_FOR_IOS=10.11
MIN_OSX_VERSION_FOR_MAC=10.11
# WARNING: Do **not** use versions higher than the available Xcode SDK or else we will have issues with mtouch (See https://github.com/xamarin/xamarin-macios/issues/7705)
-IOS_SDK_VERSION=13.6
+IOS_SDK_VERSION=13.7
# When bumping OSX_SDK_VERSION also update the macOS version where we execute on bots in jenkins/Jenkinsfile (in the 'node' element)
OSX_SDK_VERSION=10.15
WATCH_SDK_VERSION=6.2
diff --git a/Make.versions b/Make.versions
index 3cb4a05aa2e..a62ccf74184 100644
--- a/Make.versions
+++ b/Make.versions
@@ -43,5 +43,5 @@
# line changed in git).
#
-IOS_PACKAGE_VERSION=13.20.2.$(IOS_COMMIT_DISTANCE)
-MAC_PACKAGE_VERSION=6.20.2.$(MAC_COMMIT_DISTANCE)
+IOS_PACKAGE_VERSION=13.20.3.$(IOS_COMMIT_DISTANCE)
+MAC_PACKAGE_VERSION=6.20.3.$(MAC_COMMIT_DISTANCE)
diff --git a/Versions-ios.plist.in b/Versions-ios.plist.in
index e2f4fe4c7d4..2c831ef30ac 100644
--- a/Versions-ios.plist.in
+++ b/Versions-ios.plist.in
@@ -40,6 +40,7 @@
13.4
13.5
13.6
+ 13.7
tvOS
diff --git a/tests/xtro-sharpie/iOS-ExposureNotification.ignore b/tests/xtro-sharpie/iOS-ExposureNotification.ignore
index bb1999028ed..3180f222b86 100644
--- a/tests/xtro-sharpie/iOS-ExposureNotification.ignore
+++ b/tests/xtro-sharpie/iOS-ExposureNotification.ignore
@@ -2,7 +2,6 @@
!missing-enum! ENCalibrationConfidence not bound
!missing-enum! ENDiagnosisReportType not bound
!missing-enum! ENErrorCode not bound
-!missing-enum! ENExposureFlags not bound
!missing-enum! ENInfectiousness not bound
!missing-enum! ENStatus not bound
!missing-field! ENErrorDomain not bound
@@ -11,28 +10,61 @@
!missing-selector! ENExposureConfiguration::attenuationLevelValues not bound
!missing-selector! ENExposureConfiguration::attenuationWeight not bound
!missing-selector! ENExposureConfiguration::daysSinceLastExposureLevelValues not bound
+!missing-selector! ENExposureConfiguration::daysSinceLastExposureThreshold not bound
!missing-selector! ENExposureConfiguration::daysSinceLastExposureWeight not bound
!missing-selector! ENExposureConfiguration::durationLevelValues not bound
!missing-selector! ENExposureConfiguration::durationWeight not bound
+!missing-selector! ENExposureConfiguration::immediateDurationWeight not bound
+!missing-selector! ENExposureConfiguration::infectiousnessForDaysSinceOnsetOfSymptoms not bound
+!missing-selector! ENExposureConfiguration::infectiousnessHighWeight not bound
+!missing-selector! ENExposureConfiguration::infectiousnessStandardWeight not bound
+!missing-selector! ENExposureConfiguration::mediumDurationWeight not bound
!missing-selector! ENExposureConfiguration::metadata not bound
!missing-selector! ENExposureConfiguration::minimumRiskScore not bound
!missing-selector! ENExposureConfiguration::minimumRiskScoreFullRange not bound
+!missing-selector! ENExposureConfiguration::nearDurationWeight not bound
+!missing-selector! ENExposureConfiguration::otherDurationWeight not bound
+!missing-selector! ENExposureConfiguration::reportTypeConfirmedClinicalDiagnosisWeight not bound
+!missing-selector! ENExposureConfiguration::reportTypeConfirmedTestWeight not bound
+!missing-selector! ENExposureConfiguration::reportTypeNoneMap not bound
+!missing-selector! ENExposureConfiguration::reportTypeRecursiveWeight not bound
+!missing-selector! ENExposureConfiguration::reportTypeSelfReportedWeight not bound
!missing-selector! ENExposureConfiguration::setAttenuationDurationThresholds: not bound
!missing-selector! ENExposureConfiguration::setAttenuationLevelValues: not bound
!missing-selector! ENExposureConfiguration::setAttenuationWeight: not bound
!missing-selector! ENExposureConfiguration::setDaysSinceLastExposureLevelValues: not bound
+!missing-selector! ENExposureConfiguration::setDaysSinceLastExposureThreshold: not bound
!missing-selector! ENExposureConfiguration::setDaysSinceLastExposureWeight: not bound
!missing-selector! ENExposureConfiguration::setDurationLevelValues: not bound
!missing-selector! ENExposureConfiguration::setDurationWeight: not bound
+!missing-selector! ENExposureConfiguration::setImmediateDurationWeight: not bound
+!missing-selector! ENExposureConfiguration::setInfectiousnessForDaysSinceOnsetOfSymptoms: not bound
+!missing-selector! ENExposureConfiguration::setInfectiousnessHighWeight: not bound
+!missing-selector! ENExposureConfiguration::setInfectiousnessStandardWeight: not bound
+!missing-selector! ENExposureConfiguration::setMediumDurationWeight: not bound
!missing-selector! ENExposureConfiguration::setMetadata: not bound
!missing-selector! ENExposureConfiguration::setMinimumRiskScore: not bound
!missing-selector! ENExposureConfiguration::setMinimumRiskScoreFullRange: not bound
+!missing-selector! ENExposureConfiguration::setNearDurationWeight: not bound
+!missing-selector! ENExposureConfiguration::setOtherDurationWeight: not bound
+!missing-selector! ENExposureConfiguration::setReportTypeConfirmedClinicalDiagnosisWeight: not bound
+!missing-selector! ENExposureConfiguration::setReportTypeConfirmedTestWeight: not bound
+!missing-selector! ENExposureConfiguration::setReportTypeNoneMap: not bound
+!missing-selector! ENExposureConfiguration::setReportTypeRecursiveWeight: not bound
+!missing-selector! ENExposureConfiguration::setReportTypeSelfReportedWeight: not bound
!missing-selector! ENExposureConfiguration::setTransmissionRiskLevelValues: not bound
!missing-selector! ENExposureConfiguration::setTransmissionRiskWeight: not bound
!missing-selector! ENExposureConfiguration::transmissionRiskLevelValues not bound
!missing-selector! ENExposureConfiguration::transmissionRiskWeight not bound
+!missing-selector! ENExposureDaySummary::confirmedClinicalDiagnosisSummary not bound
+!missing-selector! ENExposureDaySummary::confirmedTestSummary not bound
+!missing-selector! ENExposureDaySummary::date not bound
+!missing-selector! ENExposureDaySummary::daySummary not bound
+!missing-selector! ENExposureDaySummary::recursiveSummary not bound
+!missing-selector! ENExposureDaySummary::selfReportedSummary not bound
!missing-selector! ENExposureDetectionSummary::attenuationDurations not bound
!missing-selector! ENExposureDetectionSummary::daysSinceLastExposure not bound
+!missing-selector! ENExposureDetectionSummary::daySummaries not bound
!missing-selector! ENExposureDetectionSummary::matchedKeyCount not bound
!missing-selector! ENExposureDetectionSummary::maximumRiskScore not bound
!missing-selector! ENExposureDetectionSummary::maximumRiskScoreFullRange not bound
@@ -41,24 +73,40 @@
!missing-selector! ENExposureInfo::attenuationDurations not bound
!missing-selector! ENExposureInfo::attenuationValue not bound
!missing-selector! ENExposureInfo::date not bound
+!missing-selector! ENExposureInfo::daysSinceOnsetOfSymptoms not bound
+!missing-selector! ENExposureInfo::diagnosisReportType not bound
!missing-selector! ENExposureInfo::duration not bound
!missing-selector! ENExposureInfo::metadata not bound
!missing-selector! ENExposureInfo::totalRiskScore not bound
!missing-selector! ENExposureInfo::totalRiskScoreFullRange not bound
!missing-selector! ENExposureInfo::transmissionRiskLevel not bound
+!missing-selector! ENExposureSummaryItem::maximumScore not bound
+!missing-selector! ENExposureSummaryItem::scoreSum not bound
+!missing-selector! ENExposureSummaryItem::weightedDurationSum not bound
+!missing-selector! ENExposureWindow::calibrationConfidence not bound
+!missing-selector! ENExposureWindow::date not bound
+!missing-selector! ENExposureWindow::diagnosisReportType not bound
+!missing-selector! ENExposureWindow::infectiousness not bound
+!missing-selector! ENExposureWindow::scanInstances not bound
!missing-selector! ENManager::activateWithCompletionHandler: not bound
+!missing-selector! ENManager::detectExposuresWithConfiguration:completionHandler: not bound
!missing-selector! ENManager::detectExposuresWithConfiguration:diagnosisKeyURLs:completionHandler: not bound
!missing-selector! ENManager::dispatchQueue not bound
!missing-selector! ENManager::exposureNotificationEnabled not bound
!missing-selector! ENManager::exposureNotificationStatus not bound
!missing-selector! ENManager::getDiagnosisKeysWithCompletionHandler: not bound
!missing-selector! ENManager::getExposureInfoFromSummary:userExplanation:completionHandler: not bound
+!missing-selector! ENManager::getExposureWindowsFromSummary:completionHandler: not bound
!missing-selector! ENManager::getTestDiagnosisKeysWithCompletionHandler: not bound
+!missing-selector! ENManager::getUserTraveledWithCompletionHandler: not bound
!missing-selector! ENManager::invalidate not bound
!missing-selector! ENManager::invalidationHandler not bound
!missing-selector! ENManager::setDispatchQueue: not bound
!missing-selector! ENManager::setExposureNotificationEnabled:completionHandler: not bound
!missing-selector! ENManager::setInvalidationHandler: not bound
+!missing-selector! ENScanInstance::minimumAttenuation not bound
+!missing-selector! ENScanInstance::secondsSinceLastScan not bound
+!missing-selector! ENScanInstance::typicalAttenuation not bound
!missing-selector! ENTemporaryExposureKey::keyData not bound
!missing-selector! ENTemporaryExposureKey::rollingPeriod not bound
!missing-selector! ENTemporaryExposureKey::rollingStartNumber not bound
@@ -68,7 +116,11 @@
!missing-selector! ENTemporaryExposureKey::setTransmissionRiskLevel: not bound
!missing-selector! ENTemporaryExposureKey::transmissionRiskLevel not bound
!missing-type! ENExposureConfiguration not bound
+!missing-type! ENExposureDaySummary not bound
!missing-type! ENExposureDetectionSummary not bound
!missing-type! ENExposureInfo not bound
+!missing-type! ENExposureSummaryItem not bound
+!missing-type! ENExposureWindow not bound
!missing-type! ENManager not bound
+!missing-type! ENScanInstance not bound
!missing-type! ENTemporaryExposureKey not bound