Skip to content

ExposureNotification macOS xcode13.0 rc

Alex Soto edited this page Sep 14, 2021 · 1 revision

#ExposureNotification.framework

diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ENCommon.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ENCommon.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ENCommon.h	2021-08-09 03:25:25.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ENCommon.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,513 +0,0 @@
-/*
-	Copyright (C) 2020 Apple Inc. All Rights Reserved.
-*/
-
-#pragma once
-
-#ifndef EXPOSURE_NOTIFICATION_INDIRECT_INCLUDES
-#error "Please #import <ExposureNotification/ExposureNotification.h> instead of this file directly."
-#endif
-
-#import <dispatch/dispatch.h>
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-@class ENExposureSummaryItem;
-@class ENScanInstance;
-
-//===========================================================================================================================
-// MARK: -
-// MARK: == Configuration ==
-
-/// General API support available. Allows compile-time conditionalization of code.
-#ifndef EN_FEATURE_GENERAL
-	#if TARGET_OS_IOS
-		#define EN_FEATURE_GENERAL		1
-	#else
-		#define EN_FEATURE_GENERAL		0
-	#endif
-#endif
-
-/// Indicates the platforms this API is available for version 1 of the API. Used for non-exportable items, such as typedefs.
-#define EN_API_AVAILABLE			API_AVAILABLE( ios( 12.5 ) ) API_UNAVAILABLE(macos, tvos, watchos)
-
-/// Indicates the platforms this API is available for version 2 of the API. Used for non-exportable items, such as typedefs.
-#define EN_API_AVAILABLE_V2			API_AVAILABLE( ios( 12.5 ) ) API_UNAVAILABLE(macos, tvos, watchos)
-
-/// Indicates the platforms this API is available for version 3 of the API. Used for non-exportable items, such as typedefs.
-#define EN_API_AVAILABLE_V3			API_AVAILABLE( ios( 14.4 ) ) API_UNAVAILABLE(macos, tvos, watchos)
-
-/// Indicates the platforms this API is available for version 1 of the API and exports the symbol via the framework.
-#define EN_API_AVAILABLE_EXPORT		EN_API_AVAILABLE __attribute__( ( visibility( "default" ) ) )
-
-/// Indicates the platforms this API is available for version 2 of the API and exports the symbol via the framework.
-#define EN_API_AVAILABLE_EXPORT_V2	EN_API_AVAILABLE_V2 __attribute__( ( visibility( "default" ) ) )
-
-/// Converts value to string
-#define ENStringify( X )            # X
-#define ENStringifyExpansion( X )   ENStringify( X )
-
-//===========================================================================================================================
-// MARK: -
-// MARK: == Errors ==
-
-/// NSError domain for Exposure Notification errors.
-EN_API_AVAILABLE_EXPORT
-extern NSErrorDomain const		ENErrorDomain;
-
-/// Error codes used with ENErrorDomain.
-typedef NS_ERROR_ENUM( ENErrorDomain, ENErrorCode )
-{
-	ENErrorCodeUnknown					= 1,  /// Underlying failure with an unknown cause.
-	ENErrorCodeBadParameter				= 2,  /// Missing or incorrect parameter.
-	ENErrorCodeNotEntitled				= 3,  /// Calling process doesn't have the correct entitlement.
-	ENErrorCodeNotAuthorized			= 4,  /// User denied this process access to Exposure Notification functionality.
-	ENErrorCodeUnsupported				= 5,  /// Operation is not supported.
-	ENErrorCodeInvalidated				= 6,  /// Invalidate was called before the operation completed normally.
-	ENErrorCodeBluetoothOff				= 7,  /// Bluetooth was turned off the by user.
-	ENErrorCodeInsufficientStorage		= 8,  /// Insufficient storage space to enable Exposure Notification.
-	ENErrorCodeNotEnabled				= 9,  /// Exposure Notification has not been enabled.
-	ENErrorCodeAPIMisuse				= 10, /// The API was used incorrectly.
-	ENErrorCodeInternal					= 11, /// Internal error. This indicates a bug in this framework.
-	ENErrorCodeInsufficientMemory		= 12, /// Not enough memory to perform an operation.
-	ENErrorCodeRateLimited				= 13, /// API called too frequently. See API for acceptable frequency.
-	ENErrorCodeRestricted				= 14, /// Exposure Notification is disabled due to system policies.
-	ENErrorCodeBadFormat				= 15, /// File or data format problem.
-	ENErrorCodeDataInaccessible			= 16, /// The device must be unlocked before data is accessible.
-	ENErrorCodeTravelStatusNotAvailable	= 17, /// Travel status is not available
-	
-}	EN_API_AVAILABLE;
-
-/// Type for returning NSError's from functions. Avoids long and repetitious method signatures.
-typedef NSError * _Nullable __autoreleasing * _Nullable		ENErrorOutType EN_API_AVAILABLE;
-
-//===========================================================================================================================
-// MARK: -
-// MARK: == Misc ==
-
-//===========================================================================================================================
-/*!	@brief	Attenuation of a radio signal. This is the Advertised Transmit Power - Measured RSSI.
-
-	Note: The attenuation value may be misleading because more attenuation doesn’t necessarily mean the device is farther 
-	away. For example, two people could be very close and facing each other with their phones in their back pockets. This 
-	may report higher attenuation (i.e. weaker received signal) even though the individuals are very close together.
-*/
-typedef uint8_t		ENAttenuation EN_API_AVAILABLE;
-enum
-{
-	ENAttenuationMin EN_API_AVAILABLE = 0,
-	ENAttenuationMax EN_API_AVAILABLE = 0xFF,
-};
-
-//===========================================================================================================================
-/*!	@brief	Indicates the status of authorization for the app.
-*/
-typedef NS_ENUM( NSInteger, ENAuthorizationStatus )
-{
-	/// Authorization status has not yet been determined.
-	/// This status means the user has not been prompted yet. Using the API in this state may prompt the user.
-	ENAuthorizationStatusUnknown		= 0,
-	
-	/// This app is not authorized to use Exposure Notification. The user cannot change this app's authorization status.
-	/// This status may be due to active restrictions, such as parental controls being in place.
-	ENAuthorizationStatusRestricted		= 1,
-	
-	/// The user denied authorization for this app.
-	ENAuthorizationStatusNotAuthorized	= 2,
-	
-	/// The user has authorized this app to use Exposure Notification.
-	ENAuthorizationStatusAuthorized		= 3,
-	
-}	EN_API_AVAILABLE;
-
-//===========================================================================================================================
-/*!	@brief	Confidence in calibration data.
-*/
-typedef NS_ENUM( uint8_t, ENCalibrationConfidence )
-{
-	/// No calibration data.
-	ENCalibrationConfidenceLowest	= 0,
-	
-	/// Using average calibration over phones of this manufacturer or Android beacons from EN API version < 1.5.
-	ENCalibrationConfidenceLow		= 1,
-	
-	/// Using single-antenna orientation for a similar phone model or iPhone beacons from EN API version < 1.5.
-	ENCalibrationConfidenceMedium	= 2,
-	
-	/// Determined using significant calibration data for this model.
-	ENCalibrationConfidenceHigh		= 3,
-	
-}	EN_API_AVAILABLE_V2;
-
-//===========================================================================================================================
-/*!	@brief	The value used when days since onset of symptoms is unspecified.
-*/
-API_DEPRECATED( "Server must provide keys with days_since_onset_of_symptoms set.", ios( 14.0, 14.2 ) )
-static const NSInteger ENDaysSinceOnsetOfSymptomsUnknown = NSIntegerMax;
-
-//===========================================================================================================================
-/*!	@brief	How positive diagnosis was reported.
-*/
-typedef NS_ENUM( uint32_t, ENDiagnosisReportType )
-{
-	/// Diagnosis type unknown or not available.
-	ENDiagnosisReportTypeUnknown					= 0,
-	
-	/// Confirmed test.
-	ENDiagnosisReportTypeConfirmedTest				= 1,
-	
-	/// Confirmed clinical diagnosis.
-	ENDiagnosisReportTypeConfirmedClinicalDiagnosis	= 2,
-	
-	/// User reported positive diagnosis without health authority involvement.
-	ENDiagnosisReportTypeSelfReported				= 3,
-	
-	/// Person determined to be positive based on exposure to another person confirmed to be positive. This report type
-	/// is reserved for future use and keys with this report type are not matched by iOS.
-	ENDiagnosisReportTypeRecursive					= 4,
-	
-	/// Negative test. This is mainly to negate a previous self report or clinical diagnosis that may have been in error.
-	ENDiagnosisReportTypeRevoked					= 5,
-	
-}	EN_API_AVAILABLE_V2;
-
-//===========================================================================================================================
-/*!	@brief	How infectious based on days since onset of symptoms.
-*/
-typedef NS_ENUM( uint32_t, ENInfectiousness )
-{
-	ENInfectiousnessNone		= 0, /// Never returned through the API, but used for configuration.
-	ENInfectiousnessStandard	= 1,
-	ENInfectiousnessHigh		= 2,
-	
-}	EN_API_AVAILABLE_V2;
-
-//===========================================================================================================================
-/*!	@brief	ENIntervalNumber (ENIN)
-	
-	A number for each 10 minute window that is shared between all devices participating in the protocol.
-	These time windows are based Unix Time (epoch 1970-01-01 00:00:00). It's calculated as:
-	
-	ENIN = <Seconds since 1970-01-01 00:00:00> / ( 60 * 10 )
-	
-	It's encoded as an unsigned 32-bit (uint32_t), little endian value.
-*/
-typedef uint32_t	ENIntervalNumber EN_API_AVAILABLE;
-
-//===========================================================================================================================
-/*!	@brief	Represents a risk level, ranging from 0-7.
-*/
-typedef uint8_t		ENRiskLevel EN_API_AVAILABLE;
-enum
-{
-	ENRiskLevelMin EN_API_AVAILABLE = 0,
-	ENRiskLevelMax EN_API_AVAILABLE = 7,
-};
-
-//===========================================================================================================================
-/*!	@brief	The value, ranging from 0 to 8, that the app assigns to each Risk Level in each of the Risk Level Parameters.
-*/
-typedef uint8_t		ENRiskLevelValue EN_API_AVAILABLE;
-enum
-{
-	ENRiskLevelValueMin EN_API_AVAILABLE = 0,
-	ENRiskLevelValueMax EN_API_AVAILABLE = 8,
-};
-
-//===========================================================================================================================
-/*!	@brief	Represents estimated risk calculated by a scoring algorithm. Range is 0-255. 255 is the highest risk.
-*/
-typedef uint8_t		ENRiskScore EN_API_AVAILABLE;
-enum
-{
-	ENRiskScoreMin EN_API_AVAILABLE = 0,
-	ENRiskScoreMax EN_API_AVAILABLE = 255,
-};
-
-//===========================================================================================================================
-/*!	@brief	Constants for risk weights.
-*/
-enum
-{
-	ENRiskWeightDefault		EN_API_AVAILABLE	= 1,
-	ENRiskWeightDefaultV2	EN_API_AVAILABLE_V2	= 100,
-	ENRiskWeightMin			EN_API_AVAILABLE	= 0,
-	ENRiskWeightMax			EN_API_AVAILABLE	= 100,
-	ENRiskWeightMaxV2		EN_API_AVAILABLE_V2	= 250,
-};
-
-//===========================================================================================================================
-// MARK: -
-// MARK: == Handlers ==
-
-/// Invoked when an operation completes. Error is nil for success or non-nil if an error occurred.
-EN_API_AVAILABLE
-typedef void ( ^ENErrorHandler )( NSError * _Nullable error );
-
-// MARK: -
-// MARK: == Classes ==
-
-//===========================================================================================================================
-/*!	@brief	Configuration parameters for exposure detection.
-
-	Configuration parameters are used to calculate an exposure duration for each exposure using the following formula.
-	
-	exposureDuration = 
-		( ( immediateDuration * immediateDurationWeight ) + 
-		  ( nearDuration      * nearDurationWeight ) + 
-		  ( mediumDuration    * mediumDurationWeight ) + 
-		  ( otherDuration     * otherDurationWeight ) )
-		* infectiousnessWeight )
-		* reportTypeWeight )
-*/
-EN_API_AVAILABLE_EXPORT
-@interface ENExposureConfiguration : NSObject
-
-/// Weights to apply to durations at each proximity level based on attenuation. Range is 0-250%.
-@property (readwrite, assign, nonatomic) double immediateDurationWeight EN_API_AVAILABLE_V2;
-@property (readwrite, assign, nonatomic) double nearDurationWeight EN_API_AVAILABLE_V2;
-@property (readwrite, assign, nonatomic) double mediumDurationWeight EN_API_AVAILABLE_V2;
-@property (readwrite, assign, nonatomic) double otherDurationWeight EN_API_AVAILABLE_V2;
-
-/// Maps daysSinceOnsetOfSymptoms to infectiousness. Must be configured if using V2 scoring.
-/// Key is a daysSinceOnsetOfSymptoms: -14 to 14. Value is an ENInfectiousness.
-/// Defaults to ENInfectiousnessNone for days not specified.
-/// If a value is set to ENInfectiousnessNone, diagnosis keys for it should be ignored.
-@property (readwrite, copy, nonatomic, nullable) NSDictionary <NSNumber *, NSNumber *> *infectiousnessForDaysSinceOnsetOfSymptoms EN_API_AVAILABLE_V2;
-
-/// Weights to apply for infectiousness. Range is 0-250%.
-@property (readwrite, assign, nonatomic) double infectiousnessStandardWeight EN_API_AVAILABLE_V2;
-@property (readwrite, assign, nonatomic) double infectiousnessHighWeight EN_API_AVAILABLE_V2;
-
-/// Weights to apply for each report type. Range is 0-250%.
-@property (readwrite, assign, nonatomic) double reportTypeConfirmedTestWeight EN_API_AVAILABLE_V2;
-@property (readwrite, assign, nonatomic) double reportTypeConfirmedClinicalDiagnosisWeight EN_API_AVAILABLE_V2;
-@property (readwrite, assign, nonatomic) double reportTypeSelfReportedWeight EN_API_AVAILABLE_V2;
-@property (readwrite, assign, nonatomic) double reportTypeRecursiveWeight EN_API_AVAILABLE_V2;
-
-/// Maps scenarios when Report Type is not present into one of the available report types.
-/// If this is set to ENDiagnosisReportTypeUnknown, the key will be ignored if it does not contain a report type.
-@property (readwrite, assign, nonatomic) ENDiagnosisReportType reportTypeNoneMap EN_API_AVAILABLE_V2;
-
-//---------------------------------------------------------------------------------------------------------------------------
-
-/// Thresholds for calculating attenuationDurations. Defaults to [50, 70, 90].
-///
-/// Index		|0	|1	|2		
-/// Variable	|X	|Y	|Z
-@property (readwrite, copy, nonatomic) NSArray <NSNumber *> *		attenuationDurationThresholds;
-
-/// Exclude exposures with daysSinceLastExposure > this value. Defaults to 0 (don't filter).
-@property (readwrite, assign, nonatomic) NSInteger					daysSinceLastExposureThreshold EN_API_AVAILABLE_V2;
-
-/// Minimum risk score. Excludes exposure incidents with scores lower than this. Full range and not capped to ENRiskScore.
-@property (readwrite, assign, nonatomic) double						minimumRiskScoreFullRange;
-
-//---------------------------------------------------------------------------------------------------------------------------
-// Soon to be deprecated parameters. Use the parameters above instead.
-
-@property (readwrite, copy, nonatomic) NSArray <NSNumber *> *		attenuationLevelValues;
-@property (readwrite, assign, nonatomic) double						attenuationWeight;
-@property (readwrite, copy, nonatomic) NSArray <NSNumber *> *		daysSinceLastExposureLevelValues;
-@property (readwrite, assign, nonatomic) double						daysSinceLastExposureWeight;
-@property (readwrite, copy, nonatomic) NSArray <NSNumber *> *		durationLevelValues;
-@property (readwrite, assign, nonatomic) double						durationWeight;
-@property (readwrite, copy, nullable, nonatomic) NSDictionary *		metadata;
-@property (readwrite, assign, nonatomic) ENRiskScore				minimumRiskScore;
-@property (readwrite, copy, nonatomic) NSArray <NSNumber *> *		transmissionRiskLevelValues;
-@property (readwrite, assign, nonatomic) double						transmissionRiskWeight;
-
-@end
-
-//===========================================================================================================================
-/*!	@brief	Summary of exposure info for a single day.
-*/
-EN_API_AVAILABLE_EXPORT_V2
-@interface ENExposureDaySummary : NSObject
-
-/// Day the exposure occurred.
-@property (readonly, copy, nonatomic) NSDate *date;
-
-/// Summary of all exposures on this day of a specific diagnosis report type.
-@property (readonly, strong, nullable, nonatomic) ENExposureSummaryItem *confirmedTestSummary;
-@property (readonly, strong, nullable, nonatomic) ENExposureSummaryItem *confirmedClinicalDiagnosisSummary;
-@property (readonly, strong, nullable, nonatomic) ENExposureSummaryItem *recursiveSummary;
-@property (readonly, strong, nullable, nonatomic) ENExposureSummaryItem *selfReportedSummary;
-
-/// Summary of all exposures on this day.
-@property (readonly, strong, nonatomic) ENExposureSummaryItem *daySummary;
-
-@end
-
-//===========================================================================================================================
-/*!	@brief	Summary of exposure detection.
-*/
-EN_API_AVAILABLE_EXPORT
-@interface ENExposureDetectionSummary : NSObject
-
-/// Array of durations in seconds at certain radio signal attenuations.
-/// Array index 0: Sum of durations for all exposures when attenuation <= X
-/// Array index 1: Sum of durations for all exposures when attenuation <= Y
-/// Array index 2: Sum of durations for all exposures when attenuation <= Z
-/// Array index 3: Sum of durations for all exposures when attenuation >  Z
-/// X, Y, Z come from the attenuationDurationThresholds on the configuration object.
-@property (readonly, copy, nonatomic) NSArray <NSNumber *> *					attenuationDurations;
-
-/// Number of days since the most recent exposure. 0 = today, 1 = yesterday, etc. Only valid if matchedKeyCount > 0.
-@property (readonly, assign, nonatomic) NSInteger								daysSinceLastExposure;
-
-/// Number of diagnosis keys that matched.
-@property (readonly, assign, nonatomic) uint64_t								matchedKeyCount;
-
-/// Highest risk score of all exposure incidents.
-@property (readonly, assign, nonatomic) ENRiskScore								maximumRiskScore;
-
-/// Highest risk score of all exposure incidents.
-@property (readonly, assign, nonatomic) double									maximumRiskScoreFullRange;
-
-/// Metadata associated with the summary.
-@property (readonly, copy, nullable, nonatomic) NSDictionary *					metadata;
-
-/// Sum of risk scores for all exposures. Summed using the full range risk scores before capping to ENRiskScore.
-@property (readonly, assign, nonatomic) double									riskScoreSumFullRange;
-
-/// Summary of each day containing an exposure.
-@property (readonly, copy, nonatomic) NSArray <ENExposureDaySummary *> *		daySummaries EN_API_AVAILABLE_V2;
-
-@end
-
-//===========================================================================================================================
-/*!	@brief	Info about an exposure.
-*/
-EN_API_AVAILABLE_EXPORT
-@interface ENExposureInfo : NSObject
-
-/// Array of durations in seconds at certain radio signal attenuations.
-/// Array index 0: Sum of durations for this exposure when attenuation <= X
-/// Array index 1: Sum of durations for this exposure when attenuation <= Y
-/// Array index 2: Sum of durations for this exposure when attenuation <= Z
-/// Array index 3: Sum of durations for this exposure when attenuation >  Z
-/// X, Y, Z come from the attenuationDurationThresholds on the configuration object.
-@property (readonly, copy, nonatomic) NSArray <NSNumber *> *		attenuationDurations;
-
-/// Duration-weighted average of the attenuations associated with this exposure.
-@property (readonly, assign, nonatomic) ENAttenuation				attenuationValue;
-
-/// Date when the exposure occurred. This may have reduced precision, such as within 1 day of the actual time.
-@property (readonly, copy, nonatomic) NSDate *						date;
-
-/// Number of days since the onset of symptoms. Defaults to ENDaysSinceOnsetOfSymptomsUnknown.
-@property (readonly, assign, nonatomic) NSInteger					daysSinceOnsetOfSymptoms EN_API_AVAILABLE_V2;
-
-/// How positive diagnosis was reported.
-@property (readonly, assign, nonatomic) ENDiagnosisReportType		diagnosisReportType EN_API_AVAILABLE_V2;
-
-/// Length of exposure in 5 minute increments with a 30 minute maximum.
-@property (readonly, assign, nonatomic) NSTimeInterval				duration;
-
-/// Metadata associated with the exposure.
-@property (readonly, copy, nullable, nonatomic) NSDictionary *		metadata;
-
-/// Indicates the total risk calculated for this exposure incident. Capped to ENRiskScore range.
-@property (readonly, assign, nonatomic) ENRiskScore					totalRiskScore;
-
-/// Indicates the total risk calculated for this exposure incident. Full range and not capped to ENRiskScore.
-@property (readonly, assign, nonatomic) double						totalRiskScoreFullRange;
-
-/// Indicates the transmission risk associated with the diagnosis key.
-@property (readonly, assign, nonatomic) ENRiskLevel					transmissionRiskLevel;
-
-@end
-
-//===========================================================================================================================
-/*!	@brief	Summary for a specific time period or report type.
-*/
-EN_API_AVAILABLE_EXPORT_V2
-@interface ENExposureSummaryItem : NSObject
-
-/// Highest score of all exposures for this item.
-@property (readonly, assign, nonatomic) double maximumScore;
-
-/// Sum of scores for all exposure for this item.
-@property (readonly, assign, nonatomic) double scoreSum;
-
-/// Sum of exposure durations weighted by their attenuation.
-/// weightedDurationSum = 
-///		( immediateDuration * immediateDurationWeight ) +
-///		( nearDuration      * nearDurationWeight ) +
-///		( mediumDuration    * mediumDurationWeight ) +
-///		( otherDuration     * otherDurationWeight ).
-@property (readonly, assign, nonatomic) NSTimeInterval weightedDurationSum;
-
-@end
-
-//===========================================================================================================================
-/*!	@brief	A duration of up to 30 minutes during which beacons from a TEK were observed.
-*/
-EN_API_AVAILABLE_EXPORT_V2
-@interface ENExposureWindow : NSObject
-
-/// Transmitting device's calibration confidence.
-@property (readonly, assign, nonatomic) ENCalibrationConfidence			calibrationConfidence;
-
-/// Day the exposure occurred.
-@property (readonly, copy, nonatomic) NSDate *							date;
-
-/// How positive diagnosis was reported for this the TEK observed for this window.
-@property (readonly, assign, nonatomic) ENDiagnosisReportType			diagnosisReportType;
-
-/// How infectious based on days since onset of symptoms.
-@property (readonly, assign, nonatomic) ENInfectiousness				infectiousness;
-
-/// Each scan instance corresponds to a scan (of a few seconds) when a beacon with a TEK causing this exposure was observed.
-@property (readonly, copy, nonatomic) NSArray <ENScanInstance *> *		scanInstances;
-
-@end
-
-//===========================================================================================================================
-/*!	@brief	Aggregation of attenuations of all of this TEK's beacons received during a scan.
-*/
-EN_API_AVAILABLE_EXPORT_V2
-@interface ENScanInstance : NSObject
-
-/// Minimum attenuation of all of this TEK's beacons received during the scan.
-@property (readonly, assign, nonatomic) ENAttenuation		minimumAttenuation;
-
-/// Aggregation of the attenuations of all of this TEK's beacons received during the scan.
-@property (readonly, assign, nonatomic) ENAttenuation		typicalAttenuation;
-
-/// Seconds elapsed since the the previous scan.
-@property (readonly, assign, nonatomic) NSInteger			secondsSinceLastScan;
-
-@end
-
-//===========================================================================================================================
-/*!	@brief	Key used to generate rolling proximity identifiers.
-*/
-EN_API_AVAILABLE_EXPORT
-@interface ENTemporaryExposureKey : NSObject
-
-/// Key material used to generate Rolling Proximity Identifiers.
-@property (readwrite, copy, nonatomic) NSData *					keyData;
-
-/// Duration this key is valid. It's the number of 10-minute windows between key rolling.
-@property (readwrite, assign, nonatomic) ENIntervalNumber		rollingPeriod;
-
-/// Interval number when the key's EKRollingPeriod started.
-@property (readwrite, assign, nonatomic) ENIntervalNumber		rollingStartNumber;
-
-/// Risk of transmission associated with the person this key came from.
-@property (readwrite, assign, nonatomic) ENRiskLevel			transmissionRiskLevel;
-
-@end
-
-#ifdef __cplusplus
-}
-#endif
-
-NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ENManager.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ENManager.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ENManager.h	2021-08-07 08:54:18.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ENManager.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,279 +0,0 @@
-/*
-	Copyright (C) 2020 Apple Inc. All Rights Reserved.
-*/
-
-#pragma once
-
-#ifndef EXPOSURE_NOTIFICATION_INDIRECT_INCLUDES
-#error "Please #import <ExposureNotification/ExposureNotification.h> instead of this file directly."
-#endif
-
-#import <ExposureNotification/ENCommon.h>
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@class ENExposureConfiguration;
-@class ENExposureDetectionSummary;
-@class ENExposureInfo;
-
-//===========================================================================================================================
-/*!	@brief	Overall status of Exposure Notification on the system.
-*/
-typedef NS_ENUM( NSInteger, ENStatus )
-{
-	/// Status of Exposure Notification is unknown. This is the status before ENManager has activated successfully.
-	ENStatusUnknown			= 0,
-	
-	/// Exposure Notification is active on the system.
-	ENStatusActive			= 1,
-	
-	/// Exposure Notification is disabled. setExposureNotificationEnabled:completionHandler can be used to enable it.
-	ENStatusDisabled		= 2,
-	
-	/// Bluetooth has been turned off on the system. Bluetooth is required for Exposure Notification.
-	/// Note: this may not match the state of Bluetooth as reported by CoreBluetooth.
-	/// Exposure Notification is a system service and can use Bluetooth in situations when apps cannot.
-	/// So for the purposes of Exposure Notification, it's better to use this API instead of CoreBluetooth.
-	ENStatusBluetoothOff	= 3,
-	
-	/// Exposure Notification is not active due to system restrictions, such as parental controls.
-	/// When in this state, the app cannot enable Exposure Notification.
-	ENStatusRestricted		= 4,
-	
-	/// For future use. Not returned by any APIs yet.
-	ENStatusPaused			= 5,
-
-	/// Exposure Notification is not available due to insufficient authorization.
-	ENStatusUnauthorized	= 6,
-	
-}	EN_API_AVAILABLE;
-
-//===========================================================================================================================
-/*!	@brief	Activities that occurred while the app might not be running.
-*/
-typedef NS_OPTIONS( uint32_t, ENActivityFlags )
-{
-	/// Reserved field
-	ENActivityFlagsReserved1							     = ( 1U << 0 ),
-	
-	/// Reserved field
-	ENActivityFlagsReserved2							     = ( 1U << 1 ),
-	
-	/// The app launched in the background to perform periodic operations on iOS 12.5.
-	ENActivityFlagsPeriodicRun      						 = ( 1U << 2 ),
-	
-	/// The app launched in the foreground to display information about the pre-authorized key release
-	ENActivityFlagsPreAuthorizedKeyReleaseNotificationTapped = ( 1U << 3 )
-	
-}	EN_API_AVAILABLE_V2;
-
-//===========================================================================================================================
-
-/// Invoked after the app is launched to report activities that occurred while the app might not be running.
-EN_API_AVAILABLE_V2
-typedef void ( ^ENActivityHandler )( ENActivityFlags activityFlags );
-
-/// Invoked when getDiagnosisKeysWithCompletionHandler completes.
-/// If it completes successfully, keys will contain the Diagnosis Keys for this device and error will be nil.
-/// If it fails, keys will be nil and error indicates the reason it failed.
-EN_API_AVAILABLE
-typedef void ( ^ENGetDiagnosisKeysHandler )( NSArray <ENTemporaryExposureKey *> * _Nullable keys, NSError * _Nullable error );
-
-/// Invoked when detecting exposures completes. It provides a summary of exposures.
-/// If it completes successfully, summary will contain a summary of exposures and error will be nil.
-/// If it fails, summary will be nil and error indicates the reason it failed.
-EN_API_AVAILABLE
-typedef void ( ^ENDetectExposuresHandler )( ENExposureDetectionSummary * _Nullable summary, NSError * _Nullable error );
-
-// Invoked after requestPreAuthorizedDiagnosisKeys if the user pre-authorized
-EN_API_AVAILABLE_V3
-typedef void ( ^ENDiagnosisKeysAvailableHandler )( NSArray <ENTemporaryExposureKey *> *keys );
-
-/// Invoked when getting exposures completes. It provides info about each exposure.
-/// If it completes successfully, exposures will contain info about each exposure and error will be nil.
-/// If it fails, exposures will be nil and error indicates the reason it failed.
-EN_API_AVAILABLE
-typedef void ( ^ENGetExposureInfoHandler )( NSArray <ENExposureInfo *> * _Nullable exposures, NSError * _Nullable error );
-
-/// Invoked when getExposureWindows completes. It provides info about each exposure window.
-/// If it completes successfully, exposureWindows will non-nil and error will be nil.
-/// If it fails, exposureWindows will be nil and error indicates the reason it failed.
-EN_API_AVAILABLE_V2
-typedef void ( ^ENGetExposureWindowsHandler )( NSArray <ENExposureWindow *> * _Nullable exposureWindows, NSError * _Nullable error );
-
-/// Invoked when getUserTraveled completes.
-EN_API_AVAILABLE_V2
-typedef void ( ^ENGetUserTraveledHandler )( BOOL traveled, NSError * _Nullable error );
-
-//===========================================================================================================================
-/*!	@brief	Manages Exposure Notification functionality.
-*/
-EN_API_AVAILABLE_EXPORT
-@interface ENManager : NSObject
-
-// MARK: == General ==
-
-//---------------------------------------------------------------------------------------------------------------------------
-/*!	@defgroup	General
-	
-	Before an instance of this class can be used, activateWithCompletionHandler must be called. If that completes 
-	successfully, the remaining properties and methods on the class can be used. Note activating this object doesn't
-	enable Exposure Notification. It only allows this object to be used. Once activated, Exposure Notification can be 
-	enabled with setExposureNotificationEnabled:completionHandler, if needed.
-	
-	If the app no longer needs an instance of this class, invalidate must be called. This stops any outstanding operations
-	and causes the invalidation handler to be invoked.
-	
-	Note: invalidation is asynchronous so it's possible for handlers to be invoked after calling invalidate. 
-	The invalidation handler will be invoked when invalidation has finished. No handlers will be invoked after that.
-	The invalidation handler will be invoked exactly once even if invalidate is called multiple times.
-	Once invalidate is called, the object cannot be reused. A new object must be created for subsequent use.
-	
-	All strong references are cleared when invalidation completes to break potential retain cycles.
-	You don't need to use weak references within your handlers to avoid retain cycles when using this class.
-*/
-
-/// Invoked when the app is launched for an activity while it might not be running.
-/// When the app is launched, it should create an ENManager instance, set this handler, and then activate the manager.
-@property (readwrite, copy, nullable, nonatomic) ENActivityHandler activityHandler EN_API_AVAILABLE_V2;
-
-/// Dispatch queue to invoke handlers on. Defaults to the main queue.
-#if defined( OS_OBJECT_USE_OBJC ) && OS_OBJECT_USE_OBJC
-@property (readwrite, strong, nonatomic) dispatch_queue_t dispatchQueue;
-#endif
-
-/// Overall status of Exposure Notification. KVO may be used to monitor for changes.
-@property (readonly, assign, nonatomic) ENStatus exposureNotificationStatus;
-
-/// Invoked exactly once when invalidation completes. This property is cleared before it's invoked to break retain cycles.
-@property (readwrite, copy, nullable, nonatomic) dispatch_block_t invalidationHandler;
-
-/// Activates the object to prepare it for use. Properties may not be usable until the completion handler reports success.
-- (void) activateWithCompletionHandler:(ENErrorHandler) completionHandler;
-
-/// Stops any outstanding operations and invalidates this object. Once this is called, the object can no longer be used.
-/// To start using ENManager again, a new instance of the class must be created and activated.
-- (void) invalidate;
-
-/// Reports if the user traveled within an exposure period (e.g. 14 days).
-- (void) getUserTraveledWithCompletionHandler:(ENGetUserTraveledHandler) completionHandler
-EN_API_AVAILABLE_V2;
-
-// MARK: == Authorization ==
-
-//---------------------------------------------------------------------------------------------------------------------------
-/*!	@defgroup	Authorization
-	
-	Before Exposure Notification can be enabled by the app, the user must consent and give permission to the app.
-	When the app first starts using Exposure Notification functionality, such as enabling it, the user will be prompted
-	by the system to ask for permission. If the user grants permission, the API can be used normally. If the user denies
-	the app, Exposure Notification APIs will return ENErrorCodeNotAuthorized.
-*/
-
-/// Reports the current authorization status of the app.
-/// Apps can use this property to preflight authorization in order to determine if the user will be prompted.
-@property (class, readonly, assign, nonatomic) ENAuthorizationStatus authorizationStatus;
-
-// MARK: == Settings ==
-
-//---------------------------------------------------------------------------------------------------------------------------
-/*!	@defgroup	Settings
-	
-	This allows the app to determine and change settings related to Exposure Notification.
-*/
-
-/// Indicates if Exposure Notification is enabled on the system. KVO may be used to monitor for changes.
-/// This will be NO until activateWithCompletionHandler has completed successfully.
-/// Note that even if it's enabled, it may be inactive for other reasons, such as Bluetooth being turned off.
-/// The exposureNotificationStatus property can be monitored for the overall status of Exposure Notification.
-@property (readonly, assign, nonatomic) BOOL exposureNotificationEnabled;
-
-/// Enables or disables Exposure Notification.
-/// If not previously authorized, this shows a user dialog for consent to enable Exposure Notification.
-/// Note: Disabling stops Bluetooth advertising and scanning related to Exposure Notification, but the 
-/// Diagnosis Keys and data will remain.
-- (void) setExposureNotificationEnabled:(BOOL) enabled completionHandler:(ENErrorHandler) completionHandler;
-
-// MARK: == Exposure Detection ==
-
-//---------------------------------------------------------------------------------------------------------------------------
-/*!	@defgroup	Exposure Detection
-	
-	This allows an app to supply positive diagnosis keys from a server and a configuration to detect exposure.
-*/
-
-/// Detects exposures using the specified configuration to control the scoring algorithm.
-/// This uses the diagnosis keys already known to the system.
-/// Only available to apps with ENAPIVersion 2 or higher.
-- (NSProgress *)
-	detectExposuresWithConfiguration:	(ENExposureConfiguration *) configuration
-	completionHandler:					(ENDetectExposuresHandler)	completionHandler
-EN_API_AVAILABLE_V2
-NS_SWIFT_NAME(detectExposures(configuration:completionHandler:));
-
-/// Detects exposures using the specified configuration to control the scoring algorithm and URLs to specify the 
-/// files containing diagnosis keys the app has downloaded. The diagnosis key files must be signed appropriately.
-/// When the app's ENAPIVersion is 2 or higher, keys already known to the system are included in the analysis.
-- (NSProgress *)
-	detectExposuresWithConfiguration:	(ENExposureConfiguration *) configuration
-	diagnosisKeyURLs:					(NSArray <NSURL *> *)		diagnosisKeyURLs
-	completionHandler:					(ENDetectExposuresHandler)	completionHandler
-NS_SWIFT_NAME(detectExposures(configuration:diagnosisKeyURLs:completionHandler:));
-
-/// Gets info about each exposure from the summary provided when exposure detection completes.
-/// Using this API will inform the user that their exposure details have been revealed to the app.
-/// The user explanation string will be displayed as part of the UI to inform the user of using this API.
-- (NSProgress *)
-	getExposureInfoFromSummary:	(ENExposureDetectionSummary *)	summary
-	userExplanation:			(NSString *)					userExplanation
-	completionHandler:			(ENGetExposureInfoHandler)		completionHandler
-API_DEPRECATED( "Use getExposureWindowsFromSummary, if needed.", ios( 13.5, 13.6 ) )
-NS_SWIFT_NAME(getExposureInfo(summary:userExplanation:completionHandler:));
-
-/// Gets info about each exposure window from the summary provided when exposure detection completes.
-- (NSProgress *)
-	getExposureWindowsFromSummary:	(ENExposureDetectionSummary *)	summary
-	completionHandler:				(ENGetExposureWindowsHandler)	completionHandler
-EN_API_AVAILABLE_V2
-NS_SWIFT_NAME(getExposureWindows(summary:completionHandler:));
-
-// MARK: == Diagnosis Keys and Data ==
-
-//---------------------------------------------------------------------------------------------------------------------------
-/*!	@defgroup	Diagnosis Keys and Data
-	
-	If a user has a positive diagnosis, they have the option to upload their keys to allow other users to determine if 
-	they may have been exposed. This should only be used after proper verification is performed and after the user has 
-	agreed to share this information.
-*/
-
-/// Requests the temporary exposure keys used by this device to share with a server.
-/// Each use of this API will present the user with system UI to authorize it.
-- (void) getDiagnosisKeysWithCompletionHandler:(ENGetDiagnosisKeysHandler) completionHandler;
-
-/// Requests the temporary exposure keys, including the current key, used by this device for testing.
-/// Each use of this API will present the user with system UI to authorize it.
-/// WARNING: This API is only for use by developers. It requires a special entitlement that is not allowed in the app store.
-/// It's only intended to allow developers to test without needing to wait 24 hours for a key to be released.
-- (void) getTestDiagnosisKeysWithCompletionHandler:(ENGetDiagnosisKeysHandler) completionHandler;
-
-/// Invoked after requestPreAuthorizedDiagnosisKeys if user authorization is still valid.
-@property (readwrite, copy, nullable, nonatomic) ENDiagnosisKeysAvailableHandler diagnosisKeysAvailableHandler
-EN_API_AVAILABLE_V3;
-
-/// Authorizes a one-time, future release of diagnosis keys without a user prompt at the time of release.
-/// This allows the user to authorize ahead of time in case they are unable to approve at the time of positive diagnosis.
-/// WARNING: Application should be in foreground to request the authorization
-- (void) preAuthorizeDiagnosisKeysWithCompletionHandler:(ENErrorHandler) completionHandler
-EN_API_AVAILABLE_V3;
-
-/// Requests diagnosis keys after previously using preAuthorizeDiagnosisKeys successfully.
-/// This will display a notification to the user for the user to know the keys will be returned.
-/// Keys are returned by invoking diagnosisKeysAvailable, which must be set before calling this.
-- (void) requestPreAuthorizedDiagnosisKeysWithCompletionHandler:(ENErrorHandler) completionHandler
-EN_API_AVAILABLE_V3;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ExposureNotification.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ExposureNotification.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ExposureNotification.h	2021-08-02 02:15:04.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ExposureNotification.framework/Headers/ExposureNotification.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,14 +0,0 @@
-/*
-	Copyright (C) 2020 Apple Inc. All Rights Reserved.
-*/
-
-#pragma once
-
-#ifndef EXPOSURE_NOTIFICATION_INDIRECT_INCLUDES
-#define EXPOSURE_NOTIFICATION_INDIRECT_INCLUDES
-#endif
-
-#import <ExposureNotification/ENCommon.h>
-#import <ExposureNotification/ENManager.h>
-
-#undef EXPOSURE_NOTIFICATION_INDIRECT_INCLUDES
Clone this wiki locally