-
Notifications
You must be signed in to change notification settings - Fork 511
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
- README
- xcode13.0 Binding Status
- xcode13.1 Binding Status
- xcode13.2 Binding Status
- xcode13.3 Binding Status
- xcode13.4 Binding Status
- xcode14.0 Binding Status
- xcode14.1 Binding Status
- xcode14.2 Binding Status
- xcode14.3 Binding Status
- xcode15.0 Binding Status
- xcode15.1 Binding Status
- xcode15.3 Binding Status
- xcode15.4 Binding Status
- xcode16.0 Binding Status
- xcode16.1 Binding Status