diff --git a/.gitignore b/.gitignore index 2ca94d3..f3776ec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,13 @@ .DS_Store +/.build +/Packages +/*.xcodeproj +xcuserdata/ + *.xcscmblueprint xcuserdata -/archive -/build - -/Carthage - /fastlane/*.xcresult /fastlane/*.xml diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/.swiftpm/xcode/package.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/.swiftpm/xcode/package.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..08de0be --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded + + + diff --git a/.swiftpm/xcode/xcshareddata/xcschemes/SRGContentProtection.xcscheme b/.swiftpm/xcode/xcshareddata/xcschemes/SRGContentProtection.xcscheme new file mode 100644 index 0000000..c78c51d --- /dev/null +++ b/.swiftpm/xcode/xcshareddata/xcschemes/SRGContentProtection.xcscheme @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cartfile b/Cartfile deleted file mode 100644 index 70e57f7..0000000 --- a/Cartfile +++ /dev/null @@ -1,2 +0,0 @@ -github "SRGSSR/srgdiagnostics-apple" "2.0.1" -github "SRGSSR/srgnetwork-apple" "2.0.2" \ No newline at end of file diff --git a/Cartfile.resolved b/Cartfile.resolved deleted file mode 100644 index e54fe20..0000000 --- a/Cartfile.resolved +++ /dev/null @@ -1,5 +0,0 @@ -github "SRGSSR/MAKVONotificationCenter" "1.0_srg4" -github "SRGSSR/libextobjc" "0.6_srg2" -github "SRGSSR/srgdiagnostics-apple" "2.0.1" -github "SRGSSR/srglogger-apple" "2.0.1" -github "SRGSSR/srgnetwork-apple" "2.0.2" diff --git a/Common.xcconfig b/Common.xcconfig deleted file mode 100644 index 1791667..0000000 --- a/Common.xcconfig +++ /dev/null @@ -1,25 +0,0 @@ -// Version information -MARKETING_VERSION = 2.0.2 - -// Deployment targets -IPHONEOS_DEPLOYMENT_TARGET = 9.0 -TVOS_DEPLOYMENT_TARGET = 12.0 - -// Configuration to have a single target built for all platforms -// See https://davedelong.com/blog/2018/11/15/building-a-crossplatform-framework/ -SUPPORTED_PLATFORMS = iphoneos iphonesimulator appletvos appletvsimulator -TARGETED_DEVICE_FAMILY = 1,2,3 - -CARTHAGE_PLATFORM[sdk=iphone*] = iOS -CARTHAGE_PLATFORM[sdk=appletv*] = tvOS - -// Setup to enable plaform suffixes to enable sources or resources for a specific platform only -// See https://davedelong.com/blog/2018/07/25/conditional-compilation-in-swift-part-2/ -IOS_FILES = *~ios.* -TVOS_FILES = *~tvos.* - -EXCLUDED_SOURCE_FILE_NAMES = $(IOS_FILES) $(TVOS_FILES) - -INCLUDED_SOURCE_FILE_NAMES = -INCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = $(IOS_FILES) -INCLUDED_SOURCE_FILE_NAMES[sdk=appletv*] = $(TVOS_FILES) diff --git a/Demo/Demo.xcconfig b/Demo/Demo.xcconfig index 7fd3161..be27dba 100644 --- a/Demo/Demo.xcconfig +++ b/Demo/Demo.xcconfig @@ -1,4 +1,25 @@ -#include "../Common.xcconfig" +// Version information +MARKETING_VERSION = 3.0.0 + +// Deployment targets +IPHONEOS_DEPLOYMENT_TARGET = 9.0 +TVOS_DEPLOYMENT_TARGET = 12.0 + +// Configuration to have a single target built for all platforms +// See https://davedelong.com/blog/2018/11/15/building-a-crossplatform-framework/ +SUPPORTED_PLATFORMS = iphoneos iphonesimulator appletvos appletvsimulator +TARGETED_DEVICE_FAMILY = 1,2,3 + +// Setup to enable plaform suffixes to enable sources or resources for a specific platform only +// See https://davedelong.com/blog/2018/07/25/conditional-compilation-in-swift-part-2/ +IOS_FILES = *~ios.* +TVOS_FILES = *~tvos.* + +EXCLUDED_SOURCE_FILE_NAMES = $(IOS_FILES) $(TVOS_FILES) + +INCLUDED_SOURCE_FILE_NAMES = +INCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = $(IOS_FILES) +INCLUDED_SOURCE_FILE_NAMES[sdk=appletv*] = $(TVOS_FILES) LAUNCH_SCREEN[sdk=iphone*] = LaunchScreen~ios LAUNCH_SCREEN[sdk=appletv*] = diff --git a/Demo/SRGContentProtection-demo.entitlements b/Demo/SRGContentProtection-demo.entitlements new file mode 100644 index 0000000..ee95ab7 --- /dev/null +++ b/Demo/SRGContentProtection-demo.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.network.client + + + diff --git a/Demo/SRGContentProtection-demo.xcodeproj/project.pbxproj b/Demo/SRGContentProtection-demo.xcodeproj/project.pbxproj new file mode 100644 index 0000000..eb5556b --- /dev/null +++ b/Demo/SRGContentProtection-demo.xcodeproj/project.pbxproj @@ -0,0 +1,407 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 52; + objects = { + +/* Begin PBXBuildFile section */ + 08E2AF6423108D8F00DCCE74 /* MediaDemoConfiguration.plist in Resources */ = {isa = PBXBuildFile; fileRef = 08E2AF6323108D8F00DCCE74 /* MediaDemoConfiguration.plist */; }; + 08E2AF6923108EBA00DCCE74 /* Media.m in Sources */ = {isa = PBXBuildFile; fileRef = 08E2AF6823108EBA00DCCE74 /* Media.m */; }; + 6F8A93FB20FDCAA800AA6434 /* LaunchScreen~ios.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6F8A93F020FDCAA800AA6434 /* LaunchScreen~ios.storyboard */; }; + 6F8A93FC20FDCAA800AA6434 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6F8A93F120FDCAA800AA6434 /* Images.xcassets */; }; + 6F8A93FD20FDCAA800AA6434 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F8A93F520FDCAA800AA6434 /* main.m */; }; + 6F8A93FE20FDCAA800AA6434 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F8A93F620FDCAA800AA6434 /* AppDelegate.m */; }; + 6F8A93FF20FDCAA800AA6434 /* DemosViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F8A93F920FDCAA800AA6434 /* DemosViewController.m */; }; + 6FF6DAB124C6E4E900A9BDF9 /* SRGContentProtection in Frameworks */ = {isa = PBXBuildFile; productRef = 6FF6DAB024C6E4E900A9BDF9 /* SRGContentProtection */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 0858B69522010C9E000F00CF /* SRGLogger.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SRGLogger.framework; path = Carthage/Build/iOS/SRGLogger.framework; sourceTree = ""; }; + 0858B69622010C9E000F00CF /* libextobjc.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libextobjc.framework; path = Carthage/Build/iOS/libextobjc.framework; sourceTree = ""; }; + 0858B69722010C9E000F00CF /* MAKVONotificationCenter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MAKVONotificationCenter.framework; path = Carthage/Build/iOS/MAKVONotificationCenter.framework; sourceTree = ""; }; + 08E2AF6323108D8F00DCCE74 /* MediaDemoConfiguration.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = MediaDemoConfiguration.plist; sourceTree = ""; }; + 08E2AF6723108EBA00DCCE74 /* Media.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Media.h; sourceTree = ""; }; + 08E2AF6823108EBA00DCCE74 /* Media.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Media.m; sourceTree = ""; }; + 6F0432BC21006E7A002B090A /* SRGNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SRGNetwork.framework; path = Carthage/Build/iOS/SRGNetwork.framework; sourceTree = ""; }; + 6F8A93D820FDCA0800AA6434 /* SRGContentProtection-demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "SRGContentProtection-demo.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6F8A93F020FDCAA800AA6434 /* LaunchScreen~ios.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = "LaunchScreen~ios.storyboard"; sourceTree = ""; }; + 6F8A93F120FDCAA800AA6434 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 6F8A93F420FDCAA800AA6434 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 6F8A93F520FDCAA800AA6434 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 6F8A93F620FDCAA800AA6434 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 6F8A93F820FDCAA800AA6434 /* DemosViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemosViewController.h; sourceTree = ""; }; + 6F8A93F920FDCAA800AA6434 /* DemosViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemosViewController.m; sourceTree = ""; }; + 6F8A93FA20FDCAA800AA6434 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 6FB32D2B2527688100BC599B /* SRGContentProtection-demo.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "SRGContentProtection-demo.entitlements"; sourceTree = ""; }; + 6FBF24302147F3ED00E576A2 /* SRGDiagnostics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SRGDiagnostics.framework; path = Carthage/Build/iOS/SRGDiagnostics.framework; sourceTree = ""; }; + 6FCAB6C023165B0D0043432E /* Demo.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Demo.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 6F8A93D520FDCA0800AA6434 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6FF6DAB124C6E4E900A9BDF9 /* SRGContentProtection in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 08E2AF6623108EBA00DCCE74 /* Models */ = { + isa = PBXGroup; + children = ( + 08E2AF6723108EBA00DCCE74 /* Media.h */, + 08E2AF6823108EBA00DCCE74 /* Media.m */, + ); + path = Models; + sourceTree = ""; + }; + 6F0EB52720FC7F58009C02CF = { + isa = PBXGroup; + children = ( + 6FCAB6C023165B0D0043432E /* Demo.xcconfig */, + 6F8A93FA20FDCAA800AA6434 /* Info.plist */, + 6FB32D2B2527688100BC599B /* SRGContentProtection-demo.entitlements */, + 6F8A93F220FDCAA800AA6434 /* Sources */, + 6F8A93EF20FDCAA800AA6434 /* Resources */, + 6F8A945521006A9E00AA6434 /* Frameworks */, + 6F0EB53220FC7F58009C02CF /* Products */, + ); + sourceTree = ""; + }; + 6F0EB53220FC7F58009C02CF /* Products */ = { + isa = PBXGroup; + children = ( + 6F8A93D820FDCA0800AA6434 /* SRGContentProtection-demo.app */, + ); + name = Products; + sourceTree = ""; + }; + 6F8A93EF20FDCAA800AA6434 /* Resources */ = { + isa = PBXGroup; + children = ( + 08E2AF6323108D8F00DCCE74 /* MediaDemoConfiguration.plist */, + 6F8A93F020FDCAA800AA6434 /* LaunchScreen~ios.storyboard */, + 6F8A93F120FDCAA800AA6434 /* Images.xcassets */, + ); + path = Resources; + sourceTree = ""; + }; + 6F8A93F220FDCAA800AA6434 /* Sources */ = { + isa = PBXGroup; + children = ( + 6F8A93F320FDCAA800AA6434 /* Application */, + 6F8A93F720FDCAA800AA6434 /* Demos */, + 08E2AF6623108EBA00DCCE74 /* Models */, + ); + path = Sources; + sourceTree = ""; + }; + 6F8A93F320FDCAA800AA6434 /* Application */ = { + isa = PBXGroup; + children = ( + 6F8A93F420FDCAA800AA6434 /* AppDelegate.h */, + 6F8A93F620FDCAA800AA6434 /* AppDelegate.m */, + 6F8A93F520FDCAA800AA6434 /* main.m */, + ); + path = Application; + sourceTree = ""; + }; + 6F8A93F720FDCAA800AA6434 /* Demos */ = { + isa = PBXGroup; + children = ( + 6F8A93F820FDCAA800AA6434 /* DemosViewController.h */, + 6F8A93F920FDCAA800AA6434 /* DemosViewController.m */, + ); + path = Demos; + sourceTree = ""; + }; + 6F8A945521006A9E00AA6434 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 0858B69622010C9E000F00CF /* libextobjc.framework */, + 0858B69722010C9E000F00CF /* MAKVONotificationCenter.framework */, + 6FBF24302147F3ED00E576A2 /* SRGDiagnostics.framework */, + 0858B69522010C9E000F00CF /* SRGLogger.framework */, + 6F0432BC21006E7A002B090A /* SRGNetwork.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 6F8A93D720FDCA0800AA6434 /* SRGContentProtection-demo */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6F8A93EB20FDCA0900AA6434 /* Build configuration list for PBXNativeTarget "SRGContentProtection-demo" */; + buildPhases = ( + 6F8A93D420FDCA0800AA6434 /* Sources */, + 6F8A93D520FDCA0800AA6434 /* Frameworks */, + 6F8A93D620FDCA0800AA6434 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "SRGContentProtection-demo"; + packageProductDependencies = ( + 6FF6DAB024C6E4E900A9BDF9 /* SRGContentProtection */, + ); + productName = "SRGContentProtection-demo"; + productReference = 6F8A93D820FDCA0800AA6434 /* SRGContentProtection-demo.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 6F0EB52820FC7F58009C02CF /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1200; + ORGANIZATIONNAME = "SRG SSR"; + TargetAttributes = { + 6F8A93D720FDCA0800AA6434 = { + CreatedOnToolsVersion = 9.4; + }; + }; + }; + buildConfigurationList = 6F0EB52B20FC7F58009C02CF /* Build configuration list for PBXProject "SRGContentProtection-demo" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + it, + de, + fr, + rm, + ); + mainGroup = 6F0EB52720FC7F58009C02CF; + productRefGroup = 6F0EB53220FC7F58009C02CF /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 6F8A93D720FDCA0800AA6434 /* SRGContentProtection-demo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 6F8A93D620FDCA0800AA6434 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6F8A93FB20FDCAA800AA6434 /* LaunchScreen~ios.storyboard in Resources */, + 08E2AF6423108D8F00DCCE74 /* MediaDemoConfiguration.plist in Resources */, + 6F8A93FC20FDCAA800AA6434 /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 6F8A93D420FDCA0800AA6434 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6F8A93FE20FDCAA800AA6434 /* AppDelegate.m in Sources */, + 6F8A93FD20FDCAA800AA6434 /* main.m in Sources */, + 08E2AF6923108EBA00DCCE74 /* Media.m in Sources */, + 6F8A93FF20FDCAA800AA6434 /* DemosViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 6F0EB53720FC7F58009C02CF /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "ch.srgssr.$(TARGET_NAME)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 6F0EB53820FC7F58009C02CF /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "ch.srgssr.$(TARGET_NAME)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 6F8A93EC20FDCA0900AA6434 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6FCAB6C023165B0D0043432E /* Demo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "$(APP_ICONS_SOURCE)"; + CODE_SIGN_ENTITLEMENTS = "SRGContentProtection-demo.entitlements"; + DEVELOPMENT_TEAM = VMGRRW6SG7; + INFOPLIST_FILE = Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + SUPPORTS_MACCATALYST = YES; + }; + name = Debug; + }; + 6F8A93ED20FDCA0900AA6434 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6FCAB6C023165B0D0043432E /* Demo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "$(APP_ICONS_SOURCE)"; + CODE_SIGN_ENTITLEMENTS = "SRGContentProtection-demo.entitlements"; + DEVELOPMENT_TEAM = VMGRRW6SG7; + INFOPLIST_FILE = Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + SUPPORTS_MACCATALYST = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 6F0EB52B20FC7F58009C02CF /* Build configuration list for PBXProject "SRGContentProtection-demo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6F0EB53720FC7F58009C02CF /* Debug */, + 6F0EB53820FC7F58009C02CF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6F8A93EB20FDCA0900AA6434 /* Build configuration list for PBXNativeTarget "SRGContentProtection-demo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6F8A93EC20FDCA0900AA6434 /* Debug */, + 6F8A93ED20FDCA0900AA6434 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCSwiftPackageProductDependency section */ + 6FF6DAB024C6E4E900A9BDF9 /* SRGContentProtection */ = { + isa = XCSwiftPackageProductDependency; + productName = SRGContentProtection; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = 6F0EB52820FC7F58009C02CF /* Project object */; +} diff --git a/SRGContentProtection.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Demo/SRGContentProtection-demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from SRGContentProtection.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Demo/SRGContentProtection-demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/SRGContentProtection.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Demo/SRGContentProtection-demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from SRGContentProtection.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to Demo/SRGContentProtection-demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/SRGContentProtection.xcodeproj/xcshareddata/xcschemes/SRGContentProtection.xcscheme b/Demo/SRGContentProtection-demo.xcodeproj/xcshareddata/xcschemes/SRGContentProtection-demo.xcscheme similarity index 55% rename from SRGContentProtection.xcodeproj/xcshareddata/xcschemes/SRGContentProtection.xcscheme rename to Demo/SRGContentProtection-demo.xcodeproj/xcshareddata/xcschemes/SRGContentProtection-demo.xcscheme index 8c40a32..da2ca08 100644 --- a/SRGContentProtection.xcodeproj/xcshareddata/xcschemes/SRGContentProtection.xcscheme +++ b/Demo/SRGContentProtection-demo.xcodeproj/xcshareddata/xcschemes/SRGContentProtection-demo.xcscheme @@ -1,6 +1,6 @@ + BlueprintIdentifier = "6F8A93D720FDCA0800AA6434" + BuildableName = "SRGContentProtection-demo.app" + BlueprintName = "SRGContentProtection-demo" + ReferencedContainer = "container:SRGContentProtection-demo.xcodeproj"> @@ -26,30 +26,8 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES" - codeCoverageEnabled = "YES"> - - - - + shouldUseLaunchSchemeArgsEnv = "YES"> - - - - - + + BlueprintIdentifier = "6F8A93D720FDCA0800AA6434" + BuildableName = "SRGContentProtection-demo.app" + BlueprintName = "SRGContentProtection-demo" + ReferencedContainer = "container:SRGContentProtection-demo.xcodeproj"> - + - + + BlueprintIdentifier = "6F8A93D720FDCA0800AA6434" + BuildableName = "SRGContentProtection-demo.app" + BlueprintName = "SRGContentProtection-demo" + ReferencedContainer = "container:SRGContentProtection-demo.xcodeproj"> - + diff --git a/Demo/SRGContentProtection-demo.xcworkspace/contents.xcworkspacedata b/Demo/SRGContentProtection-demo.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..4e15798 --- /dev/null +++ b/Demo/SRGContentProtection-demo.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..08de0be --- /dev/null +++ b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded + + + diff --git a/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..08e6bf8 --- /dev/null +++ b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,52 @@ +{ + "object": { + "pins": [ + { + "package": "libextobjc", + "repositoryURL": "https://github.com/SRGSSR/libextobjc.git", + "state": { + "branch": null, + "revision": "30ee5b73bdf57a826978aa146881277f22369be1", + "version": "0.6.0-srg3" + } + }, + { + "package": "MAKVONotificationCenter", + "repositoryURL": "https://github.com/SRGSSR/MAKVONotificationCenter.git", + "state": { + "branch": null, + "revision": "60395e0601ffd4a784856b423d4cac558366276d", + "version": "1.0.0-srg5" + } + }, + { + "package": "SRGDiagnostics", + "repositoryURL": "https://github.com/SRGSSR/srgdiagnostics-apple.git", + "state": { + "branch": null, + "revision": "5d2ef5c833a5cf6e56762a9c506e73f58ccad5e8", + "version": "3.0.0" + } + }, + { + "package": "SRGLogger", + "repositoryURL": "https://github.com/SRGSSR/srglogger-apple.git", + "state": { + "branch": null, + "revision": "cfc39d1223ed039aeb7df38c6c7570977b22d1aa", + "version": "3.0.0" + } + }, + { + "package": "SRGNetwork", + "repositoryURL": "https://github.com/SRGSSR/srgnetwork-apple.git", + "state": { + "branch": null, + "revision": "734fe399088b2f846e9e69d48a43118f6a8dc0d2", + "version": "3.0.0" + } + } + ] + }, + "version": 1 +} diff --git a/Demo/Sources/Application/AppDelegate.h b/Demo/Sources/Application/AppDelegate.h index f4d0f3f..6c099dc 100644 --- a/Demo/Sources/Application/AppDelegate.h +++ b/Demo/Sources/Application/AppDelegate.h @@ -4,7 +4,7 @@ // License information is available from the LICENSE file. // -#import +@import UIKit; NS_ASSUME_NONNULL_BEGIN diff --git a/Demo/Sources/Application/main.m b/Demo/Sources/Application/main.m index 2c2a00b..d0c5776 100644 --- a/Demo/Sources/Application/main.m +++ b/Demo/Sources/Application/main.m @@ -6,7 +6,7 @@ #import "AppDelegate.h" -#import +@import UIKit; int main(int argc, char *argv[]) { diff --git a/Demo/Sources/Demos/DemosViewController.h b/Demo/Sources/Demos/DemosViewController.h index ae10492..a440d45 100644 --- a/Demo/Sources/Demos/DemosViewController.h +++ b/Demo/Sources/Demos/DemosViewController.h @@ -4,7 +4,7 @@ // License information is available from the LICENSE file. // -#import +@import UIKit; NS_ASSUME_NONNULL_BEGIN diff --git a/Demo/Sources/Demos/DemosViewController.m b/Demo/Sources/Demos/DemosViewController.m index 045f7a6..10b6142 100644 --- a/Demo/Sources/Demos/DemosViewController.m +++ b/Demo/Sources/Demos/DemosViewController.m @@ -8,8 +8,8 @@ #import "Media.h" -#import -#import +@import AVKit; +@import SRGContentProtection; @interface DemosViewController () @@ -147,6 +147,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init]; playerViewController.player = player; + playerViewController.allowsPictureInPicturePlayback = NO; [self presentViewController:playerViewController animated:YES completion:^{ [player play]; diff --git a/Demo/Sources/Models/Media.h b/Demo/Sources/Models/Media.h index 0a2264f..ee63331 100644 --- a/Demo/Sources/Models/Media.h +++ b/Demo/Sources/Models/Media.h @@ -4,7 +4,7 @@ // License information is available from the LICENSE file. // -#import +@import Foundation; NS_ASSUME_NONNULL_BEGIN diff --git a/Framework/Framework.xcconfig b/Framework/Framework.xcconfig deleted file mode 100644 index e7cd65d..0000000 --- a/Framework/Framework.xcconfig +++ /dev/null @@ -1,3 +0,0 @@ -#include "../Common.xcconfig" - -OTHER_LDFLAGS = -framework libextobjc -framework MAKVONotificationCenter -framework SRGDiagnostics -framework SRGLogger -framework SRGNetwork diff --git a/Framework/Info.plist b/Framework/Info.plist deleted file mode 100644 index fcd3639..0000000 --- a/Framework/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/Framework/Resources/Info.plist b/Framework/Resources/Info.plist deleted file mode 100644 index 1f571be..0000000 --- a/Framework/Resources/Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - BNDL - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/Framework/Sources/Categories/NSBundle+SRGContentProtection.m b/Framework/Sources/Categories/NSBundle+SRGContentProtection.m deleted file mode 100644 index 7b0255b..0000000 --- a/Framework/Sources/Categories/NSBundle+SRGContentProtection.m +++ /dev/null @@ -1,32 +0,0 @@ -// -// Copyright (c) SRG SSR. All rights reserved. -// -// License information is available from the LICENSE file. -// - -#import "NSBundle+SRGContentProtection.h" - -#import "SRGAkamaiAssetResourceLoaderDelegate.h" - -NSString *SRGContentProtectionNonLocalizedString(NSString *string) -{ - return string; -} - -@implementation NSBundle (SRGContentProtection) - -#pragma mark Class methods - -+ (instancetype)srg_contentProtectionBundle -{ - static NSBundle *s_bundle; - static dispatch_once_t s_onceToken; - dispatch_once(&s_onceToken, ^{ - NSString *bundlePath = [[NSBundle bundleForClass:SRGAkamaiAssetResourceLoaderDelegate.class].bundlePath stringByAppendingPathComponent:@"SRGContentProtection.bundle"]; - s_bundle = [NSBundle bundleWithPath:bundlePath]; - NSAssert(s_bundle, @"Please add SRGContentProtection.bundle to your project resources"); - }); - return s_bundle; -} - -@end diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 index 57cc62c..7aa3caf --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,19 @@ -(c) SRG SSR, all rights reserved. +The MIT License (MIT) -This library can not be copied and/or distributed without express permission. \ No newline at end of file +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/Makefile b/Makefile index 9fd77ea..b3806e7 100644 --- a/Makefile +++ b/Makefile @@ -1,47 +1,24 @@ #!/usr/bin/xcrun make -f -CARTHAGE_FOLDER=Carthage -CARTHAGE_FLAGS=--platform iOS,tvOS --cache-builds --new-resolver - .PHONY: all -all: bootstrap - @echo "Building the project..." - @xcodebuild build - @echo "... done.\n" - -.PHONY: bootstrap -bootstrap: - @echo "Bootstrapping dependencies..." - @carthage bootstrap $(CARTHAGE_FLAGS) - @echo "... done.\n" - -.PHONY: update -update: - @echo "Updating dependencies..." - @carthage update $(CARTHAGE_FLAGS) - @echo "... done.\n" +all: test-ios test-tvos -.PHONY: package -package: bootstrap - @echo "Packaging binaries..." - @mkdir -p archive - @carthage build --no-skip-current - @carthage archive --output archive +.PHONY: test-ios +test-ios: + @echo "Running iOS unit tests..." + @xcodebuild test -scheme SRGContentProtection -destination 'platform=iOS Simulator,name=iPhone 11' 2> /dev/null @echo "... done.\n" -.PHONY: clean -clean: - @echo "Cleaning up build products..." - @xcodebuild clean - @rm -rf $(CARTHAGE_FOLDER) +.PHONY: test-tvos +test-tvos: + @echo "Running tvOS unit tests..." + @xcodebuild test -scheme SRGContentProtection -destination 'platform=tvOS Simulator,name=Apple TV' 2> /dev/null @echo "... done.\n" .PHONY: help help: @echo "The following targets are available:" - @echo " all Build project dependencies and the project" - @echo " bootstrap Build dependencies as declared in Cartfile.resolved" - @echo " update Update and build dependencies" - @echo " package Build and package the framework for attaching to github releases" - @echo " clean Clean the project and its dependencies" - @echo " help Display this message" + @echo " all Build and run unit tests for all platforms" + @echo " test-ios Build and run unit tests for iOS" + @echo " test-tvos Build and run unit tests for tvOS" + @echo " help Display this help message" \ No newline at end of file diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..08e6bf8 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,52 @@ +{ + "object": { + "pins": [ + { + "package": "libextobjc", + "repositoryURL": "https://github.com/SRGSSR/libextobjc.git", + "state": { + "branch": null, + "revision": "30ee5b73bdf57a826978aa146881277f22369be1", + "version": "0.6.0-srg3" + } + }, + { + "package": "MAKVONotificationCenter", + "repositoryURL": "https://github.com/SRGSSR/MAKVONotificationCenter.git", + "state": { + "branch": null, + "revision": "60395e0601ffd4a784856b423d4cac558366276d", + "version": "1.0.0-srg5" + } + }, + { + "package": "SRGDiagnostics", + "repositoryURL": "https://github.com/SRGSSR/srgdiagnostics-apple.git", + "state": { + "branch": null, + "revision": "5d2ef5c833a5cf6e56762a9c506e73f58ccad5e8", + "version": "3.0.0" + } + }, + { + "package": "SRGLogger", + "repositoryURL": "https://github.com/SRGSSR/srglogger-apple.git", + "state": { + "branch": null, + "revision": "cfc39d1223ed039aeb7df38c6c7570977b22d1aa", + "version": "3.0.0" + } + }, + { + "package": "SRGNetwork", + "repositoryURL": "https://github.com/SRGSSR/srgnetwork-apple.git", + "state": { + "branch": null, + "revision": "734fe399088b2f846e9e69d48a43118f6a8dc0d2", + "version": "3.0.0" + } + } + ] + }, + "version": 1 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..e4ea551 --- /dev/null +++ b/Package.swift @@ -0,0 +1,45 @@ +// swift-tools-version:5.3 + +import PackageDescription + +struct ProjectSettings { + static let marketingVersion: String = "3.0.0" +} + +let package = Package( + name: "SRGContentProtection", + defaultLocalization: "en", + platforms: [ + .iOS(.v9), + .tvOS(.v12) + ], + products: [ + .library( + name: "SRGContentProtection", + targets: ["SRGContentProtection"] + ) + ], + dependencies: [ + .package(name: "SRGDiagnostics", url: "https://github.com/SRGSSR/srgdiagnostics-apple.git", .upToNextMinor(from: "3.0.0")), + .package(name: "SRGNetwork", url: "https://github.com/SRGSSR/srgnetwork-apple.git", .upToNextMinor(from: "3.0.0")) + ], + targets: [ + .target( + name: "SRGContentProtection", + dependencies: ["SRGDiagnostics", "SRGNetwork"], + resources: [ + .process("Resources") + ], + cSettings: [ + .define("MARKETING_VERSION", to: "\"\(ProjectSettings.marketingVersion)\"") + ] + ), + .testTarget( + name: "SRGContentProtectionTests", + dependencies: ["SRGContentProtection"], + cSettings: [ + .headerSearchPath("Private") + ] + ) + ] +) diff --git a/SRGContentProtection.xcodeproj/project.pbxproj b/SRGContentProtection.xcodeproj/project.pbxproj deleted file mode 100644 index 7382c3f..0000000 --- a/SRGContentProtection.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1246 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 08E2AF6423108D8F00DCCE74 /* MediaDemoConfiguration.plist in Resources */ = {isa = PBXBuildFile; fileRef = 08E2AF6323108D8F00DCCE74 /* MediaDemoConfiguration.plist */; }; - 08E2AF6923108EBA00DCCE74 /* Media.m in Sources */ = {isa = PBXBuildFile; fileRef = 08E2AF6823108EBA00DCCE74 /* Media.m */; }; - 6F0C98EE2121E1D600073AB6 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6FCBFEF7210B578B006BC355 /* Localizable.strings */; }; - 6F0C98F12121E26A00073AB6 /* SRGContentProtection.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 6F0C98E62121E1C200073AB6 /* SRGContentProtection.bundle */; }; - 6F0EB54020FC7FA9009C02CF /* SRGContentProtection.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F0EB53E20FC7FA9009C02CF /* SRGContentProtection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6F0EB54320FC7FF4009C02CF /* SRGContentProtection.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F0EB54220FC7FF4009C02CF /* SRGContentProtection.m */; }; - 6F0EB54720FC8049009C02CF /* NSBundle+SRGContentProtection.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F0EB54520FC8049009C02CF /* NSBundle+SRGContentProtection.m */; }; - 6F0EB54820FC8049009C02CF /* NSBundle+SRGContentProtection.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F0EB54620FC8049009C02CF /* NSBundle+SRGContentProtection.h */; }; - 6F7B786A2108A05C001E3BBE /* SRGAkamaiToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F7B78682108A05C001E3BBE /* SRGAkamaiToken.h */; }; - 6F7B786B2108A05C001E3BBE /* SRGAkamaiToken.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F7B78692108A05C001E3BBE /* SRGAkamaiToken.m */; }; - 6F8A93D220FDB3D200AA6434 /* SRGFairPlayAssetResourceLoaderDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F8A93D020FDB3D200AA6434 /* SRGFairPlayAssetResourceLoaderDelegate.h */; }; - 6F8A93D320FDB3D200AA6434 /* SRGFairPlayAssetResourceLoaderDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F8A93D120FDB3D200AA6434 /* SRGFairPlayAssetResourceLoaderDelegate.m */; }; - 6F8A93FB20FDCAA800AA6434 /* LaunchScreen~ios.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6F8A93F020FDCAA800AA6434 /* LaunchScreen~ios.storyboard */; }; - 6F8A93FC20FDCAA800AA6434 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6F8A93F120FDCAA800AA6434 /* Images.xcassets */; }; - 6F8A93FD20FDCAA800AA6434 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F8A93F520FDCAA800AA6434 /* main.m */; }; - 6F8A93FE20FDCAA800AA6434 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F8A93F620FDCAA800AA6434 /* AppDelegate.m */; }; - 6F8A93FF20FDCAA800AA6434 /* DemosViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F8A93F920FDCAA800AA6434 /* DemosViewController.m */; }; - 6FB74D6C2101D4D200E2D365 /* SRGContentProtection.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F0EB53120FC7F58009C02CF /* SRGContentProtection.framework */; }; - 6FB74D772101D5D600E2D365 /* AkamaiResourceLoaderTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FB74D742101D5D600E2D365 /* AkamaiResourceLoaderTestCase.m */; }; - 6FB74D782101D5D600E2D365 /* FairPlayResourceLoaderTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FB74D752101D5D600E2D365 /* FairPlayResourceLoaderTestCase.m */; }; - 6FBCA7412109A9F4004CD02D /* AkamaiTokenTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FBCA7402109A9F4004CD02D /* AkamaiTokenTestCase.m */; }; - 6FBF24372147FE2E00E576A2 /* SRGAssetResourceLoaderDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FBF24362147FE2E00E576A2 /* SRGAssetResourceLoaderDelegate.m */; }; - 6FBF243A21480DB300E576A2 /* SRGContentProtectionConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FBF243821480DB300E576A2 /* SRGContentProtectionConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6FBF243B21480DB300E576A2 /* SRGContentProtectionConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FBF243921480DB300E576A2 /* SRGContentProtectionConstants.m */; }; - 6FCAB6CE231673B00043432E /* SRGContentProtection.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F0EB53120FC7F58009C02CF /* SRGContentProtection.framework */; }; - 6FCAB6CF231673B00043432E /* SRGContentProtection.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6F0EB53120FC7F58009C02CF /* SRGContentProtection.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 6FD810F420FCB58500F250B9 /* AVURLAsset+SRGContentProtection.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FD810F220FCB58500F250B9 /* AVURLAsset+SRGContentProtection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6FD810F520FCB58500F250B9 /* AVURLAsset+SRGContentProtection.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FD810F320FCB58500F250B9 /* AVURLAsset+SRGContentProtection.m */; }; - 6FD8110120FCC22500F250B9 /* SRGAkamaiAssetResourceLoaderDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FD810FF20FCC22500F250B9 /* SRGAkamaiAssetResourceLoaderDelegate.h */; }; - 6FD8110220FCC22500F250B9 /* SRGAkamaiAssetResourceLoaderDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FD8110020FCC22500F250B9 /* SRGAkamaiAssetResourceLoaderDelegate.m */; }; - 6FDE576520FC9DC700719525 /* SRGContentProtectionError.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FDE576320FC9DC700719525 /* SRGContentProtectionError.m */; }; - 6FDE576620FC9DC700719525 /* SRGContentProtectionError.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FDE576420FC9DC700719525 /* SRGContentProtectionError.h */; }; - 6FE021DD2119B58800DF6617 /* SRGAssetResourceLoaderDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FE021DC2119B58800DF6617 /* SRGAssetResourceLoaderDelegate.h */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 6F0C98EF2121E26400073AB6 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6F0EB52820FC7F58009C02CF /* Project object */; - proxyType = 1; - remoteGlobalIDString = 6F0C98E52121E1C200073AB6; - remoteInfo = "SRGContentProtection-resources"; - }; - 6F8A940520FDD01B00AA6434 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6F0EB52820FC7F58009C02CF /* Project object */; - proxyType = 1; - remoteGlobalIDString = 6F0EB53020FC7F58009C02CF; - remoteInfo = SRGContentProtection; - }; - 6FB74D6D2101D4D200E2D365 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6F0EB52820FC7F58009C02CF /* Project object */; - proxyType = 1; - remoteGlobalIDString = 6F0EB53020FC7F58009C02CF; - remoteInfo = SRGContentProtection; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 6FCAB6D0231673B00043432E /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 6FCAB6CF231673B00043432E /* SRGContentProtection.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0858B69522010C9E000F00CF /* SRGLogger.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SRGLogger.framework; path = Carthage/Build/iOS/SRGLogger.framework; sourceTree = ""; }; - 0858B69622010C9E000F00CF /* libextobjc.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libextobjc.framework; path = Carthage/Build/iOS/libextobjc.framework; sourceTree = ""; }; - 0858B69722010C9E000F00CF /* MAKVONotificationCenter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MAKVONotificationCenter.framework; path = Carthage/Build/iOS/MAKVONotificationCenter.framework; sourceTree = ""; }; - 08CED68E231EF5BF00C2C6DA /* Common.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Common.xcconfig; sourceTree = ""; }; - 08E2AF6323108D8F00DCCE74 /* MediaDemoConfiguration.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = MediaDemoConfiguration.plist; sourceTree = ""; }; - 08E2AF6723108EBA00DCCE74 /* Media.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Media.h; sourceTree = ""; }; - 08E2AF6823108EBA00DCCE74 /* Media.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Media.m; sourceTree = ""; }; - 6F0432BC21006E7A002B090A /* SRGNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SRGNetwork.framework; path = Carthage/Build/iOS/SRGNetwork.framework; sourceTree = ""; }; - 6F0C98E62121E1C200073AB6 /* SRGContentProtection.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SRGContentProtection.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 6F0EB53120FC7F58009C02CF /* SRGContentProtection.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SRGContentProtection.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6F0EB53E20FC7FA9009C02CF /* SRGContentProtection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SRGContentProtection.h; sourceTree = ""; }; - 6F0EB53F20FC7FA9009C02CF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6F0EB54220FC7FF4009C02CF /* SRGContentProtection.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SRGContentProtection.m; sourceTree = ""; }; - 6F0EB54520FC8049009C02CF /* NSBundle+SRGContentProtection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSBundle+SRGContentProtection.m"; sourceTree = ""; }; - 6F0EB54620FC8049009C02CF /* NSBundle+SRGContentProtection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSBundle+SRGContentProtection.h"; sourceTree = ""; }; - 6F7B78682108A05C001E3BBE /* SRGAkamaiToken.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SRGAkamaiToken.h; sourceTree = ""; }; - 6F7B78692108A05C001E3BBE /* SRGAkamaiToken.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SRGAkamaiToken.m; sourceTree = ""; }; - 6F8A93D020FDB3D200AA6434 /* SRGFairPlayAssetResourceLoaderDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SRGFairPlayAssetResourceLoaderDelegate.h; sourceTree = ""; }; - 6F8A93D120FDB3D200AA6434 /* SRGFairPlayAssetResourceLoaderDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SRGFairPlayAssetResourceLoaderDelegate.m; sourceTree = ""; }; - 6F8A93D820FDCA0800AA6434 /* SRGContentProtection-demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "SRGContentProtection-demo.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6F8A93F020FDCAA800AA6434 /* LaunchScreen~ios.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = "LaunchScreen~ios.storyboard"; sourceTree = ""; }; - 6F8A93F120FDCAA800AA6434 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 6F8A93F420FDCAA800AA6434 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 6F8A93F520FDCAA800AA6434 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 6F8A93F620FDCAA800AA6434 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 6F8A93F820FDCAA800AA6434 /* DemosViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemosViewController.h; sourceTree = ""; }; - 6F8A93F920FDCAA800AA6434 /* DemosViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemosViewController.m; sourceTree = ""; }; - 6F8A93FA20FDCAA800AA6434 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6FB74D672101D4D200E2D365 /* SRGContentProtection-tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SRGContentProtection-tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6FB74D742101D5D600E2D365 /* AkamaiResourceLoaderTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AkamaiResourceLoaderTestCase.m; sourceTree = ""; }; - 6FB74D752101D5D600E2D365 /* FairPlayResourceLoaderTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FairPlayResourceLoaderTestCase.m; sourceTree = ""; }; - 6FB74D762101D5D600E2D365 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6FBCA7402109A9F4004CD02D /* AkamaiTokenTestCase.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AkamaiTokenTestCase.m; sourceTree = ""; }; - 6FBF24302147F3ED00E576A2 /* SRGDiagnostics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SRGDiagnostics.framework; path = Carthage/Build/iOS/SRGDiagnostics.framework; sourceTree = ""; }; - 6FBF24362147FE2E00E576A2 /* SRGAssetResourceLoaderDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SRGAssetResourceLoaderDelegate.m; sourceTree = ""; }; - 6FBF243821480DB300E576A2 /* SRGContentProtectionConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SRGContentProtectionConstants.h; sourceTree = ""; }; - 6FBF243921480DB300E576A2 /* SRGContentProtectionConstants.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SRGContentProtectionConstants.m; sourceTree = ""; }; - 6FCAB6C023165B0D0043432E /* Demo.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Demo.xcconfig; sourceTree = ""; }; - 6FCBFEF8210B578B006BC355 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 6FCBFEFA210B57BD006BC355 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 6FCBFEFB210B57BD006BC355 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 6FCBFEFC210B57BE006BC355 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 6FCBFEFD210B57BE006BC355 /* rm */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = rm; path = rm.lproj/Localizable.strings; sourceTree = ""; }; - 6FD810F220FCB58500F250B9 /* AVURLAsset+SRGContentProtection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AVURLAsset+SRGContentProtection.h"; sourceTree = ""; }; - 6FD810F320FCB58500F250B9 /* AVURLAsset+SRGContentProtection.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "AVURLAsset+SRGContentProtection.m"; sourceTree = ""; }; - 6FD810FF20FCC22500F250B9 /* SRGAkamaiAssetResourceLoaderDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SRGAkamaiAssetResourceLoaderDelegate.h; sourceTree = ""; }; - 6FD8110020FCC22500F250B9 /* SRGAkamaiAssetResourceLoaderDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SRGAkamaiAssetResourceLoaderDelegate.m; sourceTree = ""; }; - 6FDE576320FC9DC700719525 /* SRGContentProtectionError.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SRGContentProtectionError.m; sourceTree = ""; }; - 6FDE576420FC9DC700719525 /* SRGContentProtectionError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SRGContentProtectionError.h; sourceTree = ""; }; - 6FE021DC2119B58800DF6617 /* SRGAssetResourceLoaderDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SRGAssetResourceLoaderDelegate.h; sourceTree = ""; }; - 6FE6E5E32148DC1D00228573 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6FEDF728231576E000BEE8E1 /* Framework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Framework.xcconfig; sourceTree = ""; }; - 6FEDF729231576F400BEE8E1 /* Tests.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Tests.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 6F0C98E32121E1C200073AB6 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6F0EB52D20FC7F58009C02CF /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6F8A93D520FDCA0800AA6434 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6FCAB6CE231673B00043432E /* SRGContentProtection.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6FB74D642101D4D200E2D365 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6FB74D6C2101D4D200E2D365 /* SRGContentProtection.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 08E2AF6623108EBA00DCCE74 /* Models */ = { - isa = PBXGroup; - children = ( - 08E2AF6723108EBA00DCCE74 /* Media.h */, - 08E2AF6823108EBA00DCCE74 /* Media.m */, - ); - path = Models; - sourceTree = ""; - }; - 6F0EB52720FC7F58009C02CF = { - isa = PBXGroup; - children = ( - 08CED68E231EF5BF00C2C6DA /* Common.xcconfig */, - 6F0EB53C20FC7FA9009C02CF /* Framework */, - 6FB74D722101D5D600E2D365 /* Tests */, - 6F8A93EE20FDCAA800AA6434 /* Demo */, - 6F8A945521006A9E00AA6434 /* Frameworks */, - 6F0EB53220FC7F58009C02CF /* Products */, - ); - sourceTree = ""; - }; - 6F0EB53220FC7F58009C02CF /* Products */ = { - isa = PBXGroup; - children = ( - 6F0EB53120FC7F58009C02CF /* SRGContentProtection.framework */, - 6F8A93D820FDCA0800AA6434 /* SRGContentProtection-demo.app */, - 6FB74D672101D4D200E2D365 /* SRGContentProtection-tests.xctest */, - 6F0C98E62121E1C200073AB6 /* SRGContentProtection.bundle */, - ); - name = Products; - sourceTree = ""; - }; - 6F0EB53C20FC7FA9009C02CF /* Framework */ = { - isa = PBXGroup; - children = ( - 6F0EB53D20FC7FA9009C02CF /* Sources */, - 6FCBFEF6210B571C006BC355 /* Resources */, - 6F0EB53F20FC7FA9009C02CF /* Info.plist */, - 6FEDF728231576E000BEE8E1 /* Framework.xcconfig */, - ); - path = Framework; - sourceTree = ""; - }; - 6F0EB53D20FC7FA9009C02CF /* Sources */ = { - isa = PBXGroup; - children = ( - 6F0EB54420FC8049009C02CF /* Categories */, - 6FD810FE20FCC22500F250B9 /* ResourceLoaders */, - 6F7B78682108A05C001E3BBE /* SRGAkamaiToken.h */, - 6F7B78692108A05C001E3BBE /* SRGAkamaiToken.m */, - 6F0EB53E20FC7FA9009C02CF /* SRGContentProtection.h */, - 6F0EB54220FC7FF4009C02CF /* SRGContentProtection.m */, - 6FBF243821480DB300E576A2 /* SRGContentProtectionConstants.h */, - 6FBF243921480DB300E576A2 /* SRGContentProtectionConstants.m */, - 6FDE576420FC9DC700719525 /* SRGContentProtectionError.h */, - 6FDE576320FC9DC700719525 /* SRGContentProtectionError.m */, - ); - path = Sources; - sourceTree = ""; - }; - 6F0EB54420FC8049009C02CF /* Categories */ = { - isa = PBXGroup; - children = ( - 6FD810F220FCB58500F250B9 /* AVURLAsset+SRGContentProtection.h */, - 6FD810F320FCB58500F250B9 /* AVURLAsset+SRGContentProtection.m */, - 6F0EB54620FC8049009C02CF /* NSBundle+SRGContentProtection.h */, - 6F0EB54520FC8049009C02CF /* NSBundle+SRGContentProtection.m */, - ); - path = Categories; - sourceTree = ""; - }; - 6F8A93EE20FDCAA800AA6434 /* Demo */ = { - isa = PBXGroup; - children = ( - 6F8A93F220FDCAA800AA6434 /* Sources */, - 6F8A93EF20FDCAA800AA6434 /* Resources */, - 6F8A93FA20FDCAA800AA6434 /* Info.plist */, - 6FCAB6C023165B0D0043432E /* Demo.xcconfig */, - ); - path = Demo; - sourceTree = ""; - }; - 6F8A93EF20FDCAA800AA6434 /* Resources */ = { - isa = PBXGroup; - children = ( - 08E2AF6323108D8F00DCCE74 /* MediaDemoConfiguration.plist */, - 6F8A93F020FDCAA800AA6434 /* LaunchScreen~ios.storyboard */, - 6F8A93F120FDCAA800AA6434 /* Images.xcassets */, - ); - path = Resources; - sourceTree = ""; - }; - 6F8A93F220FDCAA800AA6434 /* Sources */ = { - isa = PBXGroup; - children = ( - 6F8A93F320FDCAA800AA6434 /* Application */, - 6F8A93F720FDCAA800AA6434 /* Demos */, - 08E2AF6623108EBA00DCCE74 /* Models */, - ); - path = Sources; - sourceTree = ""; - }; - 6F8A93F320FDCAA800AA6434 /* Application */ = { - isa = PBXGroup; - children = ( - 6F8A93F420FDCAA800AA6434 /* AppDelegate.h */, - 6F8A93F620FDCAA800AA6434 /* AppDelegate.m */, - 6F8A93F520FDCAA800AA6434 /* main.m */, - ); - path = Application; - sourceTree = ""; - }; - 6F8A93F720FDCAA800AA6434 /* Demos */ = { - isa = PBXGroup; - children = ( - 6F8A93F820FDCAA800AA6434 /* DemosViewController.h */, - 6F8A93F920FDCAA800AA6434 /* DemosViewController.m */, - ); - path = Demos; - sourceTree = ""; - }; - 6F8A945521006A9E00AA6434 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 0858B69622010C9E000F00CF /* libextobjc.framework */, - 0858B69722010C9E000F00CF /* MAKVONotificationCenter.framework */, - 6FBF24302147F3ED00E576A2 /* SRGDiagnostics.framework */, - 0858B69522010C9E000F00CF /* SRGLogger.framework */, - 6F0432BC21006E7A002B090A /* SRGNetwork.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 6FB74D722101D5D600E2D365 /* Tests */ = { - isa = PBXGroup; - children = ( - 6FB74D732101D5D600E2D365 /* Sources */, - 6FB74D762101D5D600E2D365 /* Info.plist */, - 6FEDF729231576F400BEE8E1 /* Tests.xcconfig */, - ); - path = Tests; - sourceTree = SOURCE_ROOT; - }; - 6FB74D732101D5D600E2D365 /* Sources */ = { - isa = PBXGroup; - children = ( - 6FB74D742101D5D600E2D365 /* AkamaiResourceLoaderTestCase.m */, - 6FBCA7402109A9F4004CD02D /* AkamaiTokenTestCase.m */, - 6FB74D752101D5D600E2D365 /* FairPlayResourceLoaderTestCase.m */, - ); - path = Sources; - sourceTree = ""; - }; - 6FCBFEF6210B571C006BC355 /* Resources */ = { - isa = PBXGroup; - children = ( - 6FCBFEF7210B578B006BC355 /* Localizable.strings */, - 6FE6E5E32148DC1D00228573 /* Info.plist */, - ); - path = Resources; - sourceTree = ""; - }; - 6FD810FE20FCC22500F250B9 /* ResourceLoaders */ = { - isa = PBXGroup; - children = ( - 6FD810FF20FCC22500F250B9 /* SRGAkamaiAssetResourceLoaderDelegate.h */, - 6FD8110020FCC22500F250B9 /* SRGAkamaiAssetResourceLoaderDelegate.m */, - 6FE021DC2119B58800DF6617 /* SRGAssetResourceLoaderDelegate.h */, - 6FBF24362147FE2E00E576A2 /* SRGAssetResourceLoaderDelegate.m */, - 6F8A93D020FDB3D200AA6434 /* SRGFairPlayAssetResourceLoaderDelegate.h */, - 6F8A93D120FDB3D200AA6434 /* SRGFairPlayAssetResourceLoaderDelegate.m */, - ); - path = ResourceLoaders; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 6F0EB52E20FC7F58009C02CF /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 6F0EB54020FC7FA9009C02CF /* SRGContentProtection.h in Headers */, - 6FD810F420FCB58500F250B9 /* AVURLAsset+SRGContentProtection.h in Headers */, - 6FBF243A21480DB300E576A2 /* SRGContentProtectionConstants.h in Headers */, - 6FD8110120FCC22500F250B9 /* SRGAkamaiAssetResourceLoaderDelegate.h in Headers */, - 6F8A93D220FDB3D200AA6434 /* SRGFairPlayAssetResourceLoaderDelegate.h in Headers */, - 6FDE576620FC9DC700719525 /* SRGContentProtectionError.h in Headers */, - 6F0EB54820FC8049009C02CF /* NSBundle+SRGContentProtection.h in Headers */, - 6F7B786A2108A05C001E3BBE /* SRGAkamaiToken.h in Headers */, - 6FE021DD2119B58800DF6617 /* SRGAssetResourceLoaderDelegate.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 6F0C98E52121E1C200073AB6 /* SRGContentProtection-resources */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6F0C98E92121E1C200073AB6 /* Build configuration list for PBXNativeTarget "SRGContentProtection-resources" */; - buildPhases = ( - 6F0C98E22121E1C200073AB6 /* Sources */, - 6F0C98E32121E1C200073AB6 /* Frameworks */, - 6F0C98E42121E1C200073AB6 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "SRGContentProtection-resources"; - productName = "SRGContentProtection-resources"; - productReference = 6F0C98E62121E1C200073AB6 /* SRGContentProtection.bundle */; - productType = "com.apple.product-type.bundle"; - }; - 6F0EB53020FC7F58009C02CF /* SRGContentProtection */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6F0EB53920FC7F58009C02CF /* Build configuration list for PBXNativeTarget "SRGContentProtection" */; - buildPhases = ( - 6F0EB52C20FC7F58009C02CF /* Sources */, - 6F0EB52D20FC7F58009C02CF /* Frameworks */, - 6F0EB52E20FC7F58009C02CF /* Headers */, - 6F0EB52F20FC7F58009C02CF /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 6F0C98F02121E26400073AB6 /* PBXTargetDependency */, - ); - name = SRGContentProtection; - productName = SRGContentProtection; - productReference = 6F0EB53120FC7F58009C02CF /* SRGContentProtection.framework */; - productType = "com.apple.product-type.framework"; - }; - 6F8A93D720FDCA0800AA6434 /* SRGContentProtection-demo */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6F8A93EB20FDCA0900AA6434 /* Build configuration list for PBXNativeTarget "SRGContentProtection-demo" */; - buildPhases = ( - 6F8A93D420FDCA0800AA6434 /* Sources */, - 6F8A93D520FDCA0800AA6434 /* Frameworks */, - 6F8A93D620FDCA0800AA6434 /* Resources */, - 6FCAB6CC2316732B0043432E /* Embed Frameworks (Carthage) */, - 6FCAB6D0231673B00043432E /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 6F8A940620FDD01B00AA6434 /* PBXTargetDependency */, - ); - name = "SRGContentProtection-demo"; - productName = "SRGContentProtection-demo"; - productReference = 6F8A93D820FDCA0800AA6434 /* SRGContentProtection-demo.app */; - productType = "com.apple.product-type.application"; - }; - 6FB74D662101D4D200E2D365 /* SRGContentProtection-tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6FB74D712101D4D200E2D365 /* Build configuration list for PBXNativeTarget "SRGContentProtection-tests" */; - buildPhases = ( - 6FB74D632101D4D200E2D365 /* Sources */, - 6FB74D642101D4D200E2D365 /* Frameworks */, - 6FB74D652101D4D200E2D365 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 6FB74D6E2101D4D200E2D365 /* PBXTargetDependency */, - ); - name = "SRGContentProtection-tests"; - productName = "SRGContentProtection-tests"; - productReference = 6FB74D672101D4D200E2D365 /* SRGContentProtection-tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 6F0EB52820FC7F58009C02CF /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1100; - ORGANIZATIONNAME = "SRG SSR"; - TargetAttributes = { - 6F0C98E52121E1C200073AB6 = { - CreatedOnToolsVersion = 9.4; - }; - 6F0EB53020FC7F58009C02CF = { - CreatedOnToolsVersion = 9.4; - }; - 6F8A93D720FDCA0800AA6434 = { - CreatedOnToolsVersion = 9.4; - }; - 6FB74D662101D4D200E2D365 = { - CreatedOnToolsVersion = 9.4; - }; - }; - }; - buildConfigurationList = 6F0EB52B20FC7F58009C02CF /* Build configuration list for PBXProject "SRGContentProtection" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - it, - de, - fr, - rm, - ); - mainGroup = 6F0EB52720FC7F58009C02CF; - productRefGroup = 6F0EB53220FC7F58009C02CF /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 6F0EB53020FC7F58009C02CF /* SRGContentProtection */, - 6F0C98E52121E1C200073AB6 /* SRGContentProtection-resources */, - 6FB74D662101D4D200E2D365 /* SRGContentProtection-tests */, - 6F8A93D720FDCA0800AA6434 /* SRGContentProtection-demo */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 6F0C98E42121E1C200073AB6 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6F0C98EE2121E1D600073AB6 /* Localizable.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6F0EB52F20FC7F58009C02CF /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6F0C98F12121E26A00073AB6 /* SRGContentProtection.bundle in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6F8A93D620FDCA0800AA6434 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6F8A93FB20FDCAA800AA6434 /* LaunchScreen~ios.storyboard in Resources */, - 08E2AF6423108D8F00DCCE74 /* MediaDemoConfiguration.plist in Resources */, - 6F8A93FC20FDCAA800AA6434 /* Images.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6FB74D652101D4D200E2D365 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 6FCAB6CC2316732B0043432E /* Embed Frameworks (Carthage) */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/Carthage/Build/$(CARTHAGE_PLATFORM)/libextobjc.framework", - "$(SRCROOT)/Carthage/Build/$(CARTHAGE_PLATFORM)/MAKVONotificationCenter.framework", - "$(SRCROOT)/Carthage/Build/$(CARTHAGE_PLATFORM)/SRGDiagnostics.framework", - "$(SRCROOT)/Carthage/Build/$(CARTHAGE_PLATFORM)/SRGLogger.framework", - "$(SRCROOT)/Carthage/Build/$(CARTHAGE_PLATFORM)/SRGNetwork.framework", - ); - name = "Embed Frameworks (Carthage)"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/usr/local/bin/carthage copy-frameworks\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 6F0C98E22121E1C200073AB6 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6F0EB52C20FC7F58009C02CF /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6F0EB54720FC8049009C02CF /* NSBundle+SRGContentProtection.m in Sources */, - 6F0EB54320FC7FF4009C02CF /* SRGContentProtection.m in Sources */, - 6FBF24372147FE2E00E576A2 /* SRGAssetResourceLoaderDelegate.m in Sources */, - 6FD8110220FCC22500F250B9 /* SRGAkamaiAssetResourceLoaderDelegate.m in Sources */, - 6F7B786B2108A05C001E3BBE /* SRGAkamaiToken.m in Sources */, - 6FDE576520FC9DC700719525 /* SRGContentProtectionError.m in Sources */, - 6F8A93D320FDB3D200AA6434 /* SRGFairPlayAssetResourceLoaderDelegate.m in Sources */, - 6FD810F520FCB58500F250B9 /* AVURLAsset+SRGContentProtection.m in Sources */, - 6FBF243B21480DB300E576A2 /* SRGContentProtectionConstants.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6F8A93D420FDCA0800AA6434 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6F8A93FE20FDCAA800AA6434 /* AppDelegate.m in Sources */, - 6F8A93FD20FDCAA800AA6434 /* main.m in Sources */, - 08E2AF6923108EBA00DCCE74 /* Media.m in Sources */, - 6F8A93FF20FDCAA800AA6434 /* DemosViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6FB74D632101D4D200E2D365 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6FB74D772101D5D600E2D365 /* AkamaiResourceLoaderTestCase.m in Sources */, - 6FB74D782101D5D600E2D365 /* FairPlayResourceLoaderTestCase.m in Sources */, - 6FBCA7412109A9F4004CD02D /* AkamaiTokenTestCase.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 6F0C98F02121E26400073AB6 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 6F0C98E52121E1C200073AB6 /* SRGContentProtection-resources */; - targetProxy = 6F0C98EF2121E26400073AB6 /* PBXContainerItemProxy */; - }; - 6F8A940620FDD01B00AA6434 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 6F0EB53020FC7F58009C02CF /* SRGContentProtection */; - targetProxy = 6F8A940520FDD01B00AA6434 /* PBXContainerItemProxy */; - }; - 6FB74D6E2101D4D200E2D365 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 6F0EB53020FC7F58009C02CF /* SRGContentProtection */; - targetProxy = 6FB74D6D2101D4D200E2D365 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 6FCBFEF7210B578B006BC355 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - 6FCBFEF8210B578B006BC355 /* en */, - 6FCBFEFA210B57BD006BC355 /* it */, - 6FCBFEFB210B57BD006BC355 /* de */, - 6FCBFEFC210B57BE006BC355 /* fr */, - 6FCBFEFD210B57BE006BC355 /* rm */, - ); - name = Localizable.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 6F0C98DA2121E14000073AB6 /* Debug-static */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "ch.srgssr.$(TARGET_NAME)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = "Debug-static"; - }; - 6F0C98DB2121E14000073AB6 /* Debug-static */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF728231576E000BEE8E1 /* Framework.xcconfig */; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_CODE_COVERAGE = NO; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)/Static", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Debug-static"; - }; - 6F0C98DC2121E14000073AB6 /* Debug-static */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FCAB6C023165B0D0043432E /* Demo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "$(APP_ICONS_SOURCE)"; - DEVELOPMENT_TEAM = VMGRRW6SG7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - ); - INFOPLIST_FILE = Demo/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - }; - name = "Debug-static"; - }; - 6F0C98DD2121E14000073AB6 /* Debug-static */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF729231576F400BEE8E1 /* Tests.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "$(FRAMEWORK_SEARCH_PATHS)", - ); - }; - name = "Debug-static"; - }; - 6F0C98DE2121E14600073AB6 /* Release-static */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "ch.srgssr.$(TARGET_NAME)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - VALIDATE_PRODUCT = YES; - }; - name = "Release-static"; - }; - 6F0C98DF2121E14600073AB6 /* Release-static */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF728231576E000BEE8E1 /* Framework.xcconfig */; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ENABLE_CODE_COVERAGE = NO; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)/Static", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Release-static"; - }; - 6F0C98E02121E14600073AB6 /* Release-static */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FCAB6C023165B0D0043432E /* Demo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "$(APP_ICONS_SOURCE)"; - DEVELOPMENT_TEAM = VMGRRW6SG7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - ); - INFOPLIST_FILE = Demo/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - }; - name = "Release-static"; - }; - 6F0C98E12121E14600073AB6 /* Release-static */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF729231576F400BEE8E1 /* Tests.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "$(FRAMEWORK_SEARCH_PATHS)", - ); - }; - name = "Release-static"; - }; - 6F0C98EA2121E1C200073AB6 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF728231576E000BEE8E1 /* Framework.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = Framework/Resources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - PRODUCT_NAME = SRGContentProtection; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 6F0C98EB2121E1C200073AB6 /* Debug-static */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF728231576E000BEE8E1 /* Framework.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = Framework/Resources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - PRODUCT_NAME = SRGContentProtection; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = "Debug-static"; - }; - 6F0C98EC2121E1C200073AB6 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF728231576E000BEE8E1 /* Framework.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = Framework/Resources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - PRODUCT_NAME = SRGContentProtection; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - 6F0C98ED2121E1C200073AB6 /* Release-static */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF728231576E000BEE8E1 /* Framework.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = Framework/Resources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - PRODUCT_NAME = SRGContentProtection; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = "Release-static"; - }; - 6F0EB53720FC7F58009C02CF /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "ch.srgssr.$(TARGET_NAME)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 6F0EB53820FC7F58009C02CF /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "ch.srgssr.$(TARGET_NAME)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 6F0EB53A20FC7F58009C02CF /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF728231576E000BEE8E1 /* Framework.xcconfig */; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 6F0EB53B20FC7F58009C02CF /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF728231576E000BEE8E1 /* Framework.xcconfig */; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; - 6F8A93EC20FDCA0900AA6434 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FCAB6C023165B0D0043432E /* Demo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "$(APP_ICONS_SOURCE)"; - DEVELOPMENT_TEAM = VMGRRW6SG7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - ); - INFOPLIST_FILE = Demo/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - }; - name = Debug; - }; - 6F8A93ED20FDCA0900AA6434 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FCAB6C023165B0D0043432E /* Demo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "$(APP_ICONS_SOURCE)"; - DEVELOPMENT_TEAM = VMGRRW6SG7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - ); - INFOPLIST_FILE = Demo/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - }; - name = Release; - }; - 6FB74D6F2101D4D200E2D365 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF729231576F400BEE8E1 /* Tests.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "$(FRAMEWORK_SEARCH_PATHS)", - ); - }; - name = Debug; - }; - 6FB74D702101D4D200E2D365 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FEDF729231576F400BEE8E1 /* Tests.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/$(CARTHAGE_PLATFORM)", - ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "$(FRAMEWORK_SEARCH_PATHS)", - ); - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 6F0C98E92121E1C200073AB6 /* Build configuration list for PBXNativeTarget "SRGContentProtection-resources" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6F0C98EA2121E1C200073AB6 /* Debug */, - 6F0C98EB2121E1C200073AB6 /* Debug-static */, - 6F0C98EC2121E1C200073AB6 /* Release */, - 6F0C98ED2121E1C200073AB6 /* Release-static */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 6F0EB52B20FC7F58009C02CF /* Build configuration list for PBXProject "SRGContentProtection" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6F0EB53720FC7F58009C02CF /* Debug */, - 6F0C98DA2121E14000073AB6 /* Debug-static */, - 6F0EB53820FC7F58009C02CF /* Release */, - 6F0C98DE2121E14600073AB6 /* Release-static */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 6F0EB53920FC7F58009C02CF /* Build configuration list for PBXNativeTarget "SRGContentProtection" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6F0EB53A20FC7F58009C02CF /* Debug */, - 6F0C98DB2121E14000073AB6 /* Debug-static */, - 6F0EB53B20FC7F58009C02CF /* Release */, - 6F0C98DF2121E14600073AB6 /* Release-static */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 6F8A93EB20FDCA0900AA6434 /* Build configuration list for PBXNativeTarget "SRGContentProtection-demo" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6F8A93EC20FDCA0900AA6434 /* Debug */, - 6F0C98DC2121E14000073AB6 /* Debug-static */, - 6F8A93ED20FDCA0900AA6434 /* Release */, - 6F0C98E02121E14600073AB6 /* Release-static */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 6FB74D712101D4D200E2D365 /* Build configuration list for PBXNativeTarget "SRGContentProtection-tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6FB74D6F2101D4D200E2D365 /* Debug */, - 6F0C98DD2121E14000073AB6 /* Debug-static */, - 6FB74D702101D4D200E2D365 /* Release */, - 6F0C98E12121E14600073AB6 /* Release-static */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 6F0EB52820FC7F58009C02CF /* Project object */; -} diff --git a/Framework/Sources/Categories/AVURLAsset+SRGContentProtection.m b/Sources/SRGContentProtection/AVURLAsset+SRGContentProtection.m similarity index 100% rename from Framework/Sources/Categories/AVURLAsset+SRGContentProtection.m rename to Sources/SRGContentProtection/AVURLAsset+SRGContentProtection.m diff --git a/Framework/Sources/Categories/NSBundle+SRGContentProtection.h b/Sources/SRGContentProtection/NSBundle+SRGContentProtection.h similarity index 58% rename from Framework/Sources/Categories/NSBundle+SRGContentProtection.h rename to Sources/SRGContentProtection/NSBundle+SRGContentProtection.h index fa5c901..02dae4f 100644 --- a/Framework/Sources/Categories/NSBundle+SRGContentProtection.h +++ b/Sources/SRGContentProtection/NSBundle+SRGContentProtection.h @@ -4,7 +4,7 @@ // License information is available from the LICENSE file. // -#import +@import Foundation; NS_ASSUME_NONNULL_BEGIN @@ -20,15 +20,6 @@ OBJC_EXPORT NSString *SRGContentProtectionNonLocalizedString(NSString *string); /** * Convenience macro for localized strings associated with the framework. */ -#define SRGContentProtectionLocalizedString(key, comment) [NSBundle.srg_contentProtectionBundle localizedStringForKey:(key) value:@"" table:nil] - -@interface NSBundle (SRGContentProtection) - -/** - * The framework resource bundle. - */ -@property (class, nonatomic, readonly) NSBundle *srg_contentProtectionBundle; - -@end +#define SRGContentProtectionLocalizedString(key, comment) [SWIFTPM_MODULE_BUNDLE localizedStringForKey:(key) value:@"" table:nil] NS_ASSUME_NONNULL_END diff --git a/Sources/SRGContentProtection/NSBundle+SRGContentProtection.m b/Sources/SRGContentProtection/NSBundle+SRGContentProtection.m new file mode 100644 index 0000000..f2fcfa2 --- /dev/null +++ b/Sources/SRGContentProtection/NSBundle+SRGContentProtection.m @@ -0,0 +1,12 @@ +// +// Copyright (c) SRG SSR. All rights reserved. +// +// License information is available from the LICENSE file. +// + +#import "NSBundle+SRGContentProtection.h" + +NSString *SRGContentProtectionNonLocalizedString(NSString *string) +{ + return string; +} diff --git a/Framework/Resources/de.lproj/Localizable.strings b/Sources/SRGContentProtection/Resources/de.lproj/Localizable.strings similarity index 100% rename from Framework/Resources/de.lproj/Localizable.strings rename to Sources/SRGContentProtection/Resources/de.lproj/Localizable.strings diff --git a/Framework/Resources/en.lproj/Localizable.strings b/Sources/SRGContentProtection/Resources/en.lproj/Localizable.strings similarity index 100% rename from Framework/Resources/en.lproj/Localizable.strings rename to Sources/SRGContentProtection/Resources/en.lproj/Localizable.strings diff --git a/Framework/Resources/fr.lproj/Localizable.strings b/Sources/SRGContentProtection/Resources/fr.lproj/Localizable.strings similarity index 100% rename from Framework/Resources/fr.lproj/Localizable.strings rename to Sources/SRGContentProtection/Resources/fr.lproj/Localizable.strings diff --git a/Framework/Resources/it.lproj/Localizable.strings b/Sources/SRGContentProtection/Resources/it.lproj/Localizable.strings similarity index 100% rename from Framework/Resources/it.lproj/Localizable.strings rename to Sources/SRGContentProtection/Resources/it.lproj/Localizable.strings diff --git a/Framework/Resources/rm.lproj/Localizable.strings b/Sources/SRGContentProtection/Resources/rm.lproj/Localizable.strings similarity index 100% rename from Framework/Resources/rm.lproj/Localizable.strings rename to Sources/SRGContentProtection/Resources/rm.lproj/Localizable.strings diff --git a/Framework/Sources/ResourceLoaders/SRGAkamaiAssetResourceLoaderDelegate.h b/Sources/SRGContentProtection/SRGAkamaiAssetResourceLoaderDelegate.h similarity index 100% rename from Framework/Sources/ResourceLoaders/SRGAkamaiAssetResourceLoaderDelegate.h rename to Sources/SRGContentProtection/SRGAkamaiAssetResourceLoaderDelegate.h diff --git a/Framework/Sources/ResourceLoaders/SRGAkamaiAssetResourceLoaderDelegate.m b/Sources/SRGContentProtection/SRGAkamaiAssetResourceLoaderDelegate.m similarity index 99% rename from Framework/Sources/ResourceLoaders/SRGAkamaiAssetResourceLoaderDelegate.m rename to Sources/SRGContentProtection/SRGAkamaiAssetResourceLoaderDelegate.m index 7e3d86d..76a71e3 100644 --- a/Framework/Sources/ResourceLoaders/SRGAkamaiAssetResourceLoaderDelegate.m +++ b/Sources/SRGContentProtection/SRGAkamaiAssetResourceLoaderDelegate.m @@ -10,7 +10,7 @@ #import "SRGAkamaiToken.h" #import "SRGContentProtectionError.h" -#import +@import SRGDiagnostics; static NSString * const SRGStandardURLSchemePrefix = @"akamai"; diff --git a/Framework/Sources/SRGAkamaiToken.h b/Sources/SRGContentProtection/SRGAkamaiToken.h similarity index 97% rename from Framework/Sources/SRGAkamaiToken.h rename to Sources/SRGContentProtection/SRGAkamaiToken.h index 8fe3ecf..194f82b 100644 --- a/Framework/Sources/SRGAkamaiToken.h +++ b/Sources/SRGContentProtection/SRGAkamaiToken.h @@ -4,7 +4,7 @@ // License information is available from the LICENSE file. // -#import +@import SRGNetwork; NS_ASSUME_NONNULL_BEGIN diff --git a/Framework/Sources/SRGAkamaiToken.m b/Sources/SRGContentProtection/SRGAkamaiToken.m similarity index 100% rename from Framework/Sources/SRGAkamaiToken.m rename to Sources/SRGContentProtection/SRGAkamaiToken.m diff --git a/Framework/Sources/ResourceLoaders/SRGAssetResourceLoaderDelegate.h b/Sources/SRGContentProtection/SRGAssetResourceLoaderDelegate.h similarity index 96% rename from Framework/Sources/ResourceLoaders/SRGAssetResourceLoaderDelegate.h rename to Sources/SRGContentProtection/SRGAssetResourceLoaderDelegate.h index eb8ed30..9d8a34a 100644 --- a/Framework/Sources/ResourceLoaders/SRGAssetResourceLoaderDelegate.h +++ b/Sources/SRGContentProtection/SRGAssetResourceLoaderDelegate.h @@ -6,7 +6,7 @@ #import "SRGContentProtectionConstants.h" -#import +@import AVFoundation; NS_ASSUME_NONNULL_BEGIN diff --git a/Framework/Sources/ResourceLoaders/SRGAssetResourceLoaderDelegate.m b/Sources/SRGContentProtection/SRGAssetResourceLoaderDelegate.m similarity index 100% rename from Framework/Sources/ResourceLoaders/SRGAssetResourceLoaderDelegate.m rename to Sources/SRGContentProtection/SRGAssetResourceLoaderDelegate.m diff --git a/Framework/Sources/SRGContentProtection.m b/Sources/SRGContentProtection/SRGContentProtection.m similarity index 61% rename from Framework/Sources/SRGContentProtection.m rename to Sources/SRGContentProtection/SRGContentProtection.m index 5af2d90..487a465 100644 --- a/Framework/Sources/SRGContentProtection.m +++ b/Sources/SRGContentProtection/SRGContentProtection.m @@ -10,10 +10,5 @@ NSString *SRGContentProtectionMarketingVersion(void) { - return NSBundle.srg_contentProtectionBundle.infoDictionary[@"CFBundleShortVersionString"]; -} - -BOOL SRGContentProtectionIsPublic(void) -{ - return NO; + return @MARKETING_VERSION; } diff --git a/Framework/Sources/SRGContentProtectionConstants.m b/Sources/SRGContentProtection/SRGContentProtectionConstants.m similarity index 100% rename from Framework/Sources/SRGContentProtectionConstants.m rename to Sources/SRGContentProtection/SRGContentProtectionConstants.m diff --git a/Framework/Sources/SRGContentProtectionError.h b/Sources/SRGContentProtection/SRGContentProtectionError.h similarity index 93% rename from Framework/Sources/SRGContentProtectionError.h rename to Sources/SRGContentProtection/SRGContentProtectionError.h index 63059bf..d9232ea 100644 --- a/Framework/Sources/SRGContentProtectionError.h +++ b/Sources/SRGContentProtection/SRGContentProtectionError.h @@ -4,7 +4,7 @@ // License information is available from the LICENSE file. // -#import +@import Foundation; NS_ASSUME_NONNULL_BEGIN diff --git a/Framework/Sources/SRGContentProtectionError.m b/Sources/SRGContentProtection/SRGContentProtectionError.m similarity index 100% rename from Framework/Sources/SRGContentProtectionError.m rename to Sources/SRGContentProtection/SRGContentProtectionError.m diff --git a/Framework/Sources/ResourceLoaders/SRGFairPlayAssetResourceLoaderDelegate.h b/Sources/SRGContentProtection/SRGFairPlayAssetResourceLoaderDelegate.h similarity index 100% rename from Framework/Sources/ResourceLoaders/SRGFairPlayAssetResourceLoaderDelegate.h rename to Sources/SRGContentProtection/SRGFairPlayAssetResourceLoaderDelegate.h diff --git a/Framework/Sources/ResourceLoaders/SRGFairPlayAssetResourceLoaderDelegate.m b/Sources/SRGContentProtection/SRGFairPlayAssetResourceLoaderDelegate.m similarity index 98% rename from Framework/Sources/ResourceLoaders/SRGFairPlayAssetResourceLoaderDelegate.m rename to Sources/SRGContentProtection/SRGFairPlayAssetResourceLoaderDelegate.m index 5f651f1..f077560 100644 --- a/Framework/Sources/ResourceLoaders/SRGFairPlayAssetResourceLoaderDelegate.m +++ b/Sources/SRGContentProtection/SRGFairPlayAssetResourceLoaderDelegate.m @@ -10,8 +10,8 @@ #import "SRGContentProtectionConstants.h" #import "SRGContentProtectionError.h" -#import -#import +@import SRGDiagnostics; +@import SRGNetwork; static BOOL SRGIsFairPlayURL(NSURL *URL) { diff --git a/Framework/Sources/Categories/AVURLAsset+SRGContentProtection.h b/Sources/SRGContentProtection/include/AVURLAsset+SRGContentProtection.h similarity index 97% rename from Framework/Sources/Categories/AVURLAsset+SRGContentProtection.h rename to Sources/SRGContentProtection/include/AVURLAsset+SRGContentProtection.h index 50ccc9c..9ddfcf0 100644 --- a/Framework/Sources/Categories/AVURLAsset+SRGContentProtection.h +++ b/Sources/SRGContentProtection/include/AVURLAsset+SRGContentProtection.h @@ -6,7 +6,7 @@ #import "SRGContentProtectionConstants.h" -#import +@import AVFoundation; NS_ASSUME_NONNULL_BEGIN diff --git a/Framework/Sources/SRGContentProtection.h b/Sources/SRGContentProtection/include/SRGContentProtection.h similarity index 66% rename from Framework/Sources/SRGContentProtection.h rename to Sources/SRGContentProtection/include/SRGContentProtection.h index af262eb..e597bd4 100644 --- a/Framework/Sources/SRGContentProtection.h +++ b/Sources/SRGContentProtection/include/SRGContentProtection.h @@ -4,14 +4,11 @@ // License information is available from the LICENSE file. // -#import +@import Foundation; // Official version number. FOUNDATION_EXPORT NSString *SRGContentProtectionMarketingVersion(void); -// Return `YES` iff run in a public (open source) setup. Always `NO`. -FOUNDATION_EXPORT BOOL SRGContentProtectionIsPublic(void); - // Public headers. #import "AVURLAsset+SRGContentProtection.h" #import "SRGContentProtectionConstants.h" diff --git a/Framework/Sources/SRGContentProtectionConstants.h b/Sources/SRGContentProtection/include/SRGContentProtectionConstants.h similarity index 95% rename from Framework/Sources/SRGContentProtectionConstants.h rename to Sources/SRGContentProtection/include/SRGContentProtectionConstants.h index 070e077..9d2828f 100644 --- a/Framework/Sources/SRGContentProtectionConstants.h +++ b/Sources/SRGContentProtection/include/SRGContentProtectionConstants.h @@ -4,7 +4,7 @@ // License information is available from the LICENSE file. // -#import +@import Foundation; /** * Options applied when loading a resource. diff --git a/Tests/Info.plist b/Tests/Info.plist deleted file mode 100644 index 26b175d..0000000 --- a/Tests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/Tests/Sources/AkamaiResourceLoaderTestCase.m b/Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m similarity index 96% rename from Tests/Sources/AkamaiResourceLoaderTestCase.m rename to Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m index 6ddc3ad..77e2d95 100644 --- a/Tests/Sources/AkamaiResourceLoaderTestCase.m +++ b/Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m @@ -4,9 +4,9 @@ // License information is available from the LICENSE file. // -#import -#import -#import +@import AVFoundation; +@import SRGContentProtection; +@import XCTest; @interface AkamaiResourceLoaderTestCase : XCTestCase diff --git a/Tests/Sources/AkamaiTokenTestCase.m b/Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m similarity index 97% rename from Tests/Sources/AkamaiTokenTestCase.m rename to Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m index c9d1278..2d8b042 100644 --- a/Tests/Sources/AkamaiTokenTestCase.m +++ b/Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m @@ -4,8 +4,8 @@ // License information is available from the LICENSE file. // -#import -#import +@import SRGContentProtection; +@import XCTest; #import "SRGAkamaiToken.h" diff --git a/Tests/Sources/FairPlayResourceLoaderTestCase.m b/Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m similarity index 96% rename from Tests/Sources/FairPlayResourceLoaderTestCase.m rename to Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m index 15d2bfd..b2243f7 100644 --- a/Tests/Sources/FairPlayResourceLoaderTestCase.m +++ b/Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m @@ -4,9 +4,9 @@ // License information is available from the LICENSE file. // -#import -#import -#import +@import AVFoundation; +@import SRGContentProtection; +@import XCTest; static NSURL *FairPlayCertificateURL(void) { diff --git a/Tests/SRGContentProtectionTests/Private/SRGAkamaiToken.h b/Tests/SRGContentProtectionTests/Private/SRGAkamaiToken.h new file mode 120000 index 0000000..92fb40a --- /dev/null +++ b/Tests/SRGContentProtectionTests/Private/SRGAkamaiToken.h @@ -0,0 +1 @@ +../../../Sources/SRGContentProtection/SRGAkamaiToken.h \ No newline at end of file diff --git a/Tests/Tests.xcconfig b/Tests/Tests.xcconfig deleted file mode 100644 index 1403f74..0000000 --- a/Tests/Tests.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "../Common.xcconfig" diff --git a/docs/README.md b/docs/README.md index c05e8f0..52a28cd 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,91 +1,35 @@ [![SRG Content Protection logo](README-images/logo.png)](https://github.com/SRGSSR/srgcontentprotection-apple) -[![GitHub releases](https://img.shields.io/github/v/release/SRGSSR/srgcontentprotection-fake-apple)](https://github.com/SRGSSR/srgcontentprotection-apple/releases) [![platform](https://img.shields.io/badge/platfom-ios%20%7C%20tvos-blue)](https://github.com/SRGSSR/srgcontentprotection-apple) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![GitHub license](https://img.shields.io/badge/license-(c)%20SRG%20SSR-lightgrey)](https://github.com/SRGSSR/srgcontentprotection-apple/blob/master/LICENSE) +[![GitHub releases](https://img.shields.io/github/v/release/SRGSSR/srgcontentprotection-fake-apple)](https://github.com/SRGSSR/srgcontentprotection-apple/releases) [![platform](https://img.shields.io/badge/platfom-ios%20%7C%20tvos-blue)](https://github.com/SRGSSR/srgcontentprotection-apple) [![SPM compatible](https://img.shields.io/badge/SPM-compatible-4BC51D.svg?style=flat)](https://swift.org/package-manager) [![GitHub license](https://img.shields.io/badge/license-(c)%20SRG%20SSR-lightgrey)](https://github.com/SRGSSR/srgcontentprotection-apple/blob/master/LICENSE) ## About -The SRG Content Protection framework contains the sensitive logic required for protected media playback. The following protection measures are currently supported: +The SRG Content Protection framework contains the logic required for encrypted media playback. The following protection measures are currently supported: * Akamai secure token. * Digital Rights Management via FairPlay. ## Compatibility -The library is suitable for applications running on iOS 9, tvOS 12 and above. The project is meant to be opened with the latest Xcode version. +The library is suitable for applications running on iOS 9, tvOS 12 and above. The project is meant to be compiled with the latest Xcode version. ## Contributing If you want to contribute to the project, have a look at our [contributing guide](CONTRIBUTING.md). -## Installation +## Integration -The library can be added to a project using [Carthage](https://github.com/Carthage/Carthage) by adding the following dependency to your `Cartfile`: - -``` -github "SRGSSR/srgcontentprotection-apple" -``` - -For more information about Carthage and its use, refer to the [official documentation](https://github.com/Carthage/Carthage). - -### Dependencies - -The library requires the following frameworks to be added to any target requiring it: - -* `libextobjc`: A utility framework. -* `MAKVONotificationCenter`: A safe KVO framework. -* `SRGContentProtection`: The content protection library framework. -* `SRGDiagnostics`: Framework for collecting diagnostic information. -* `SRGLogger`: The framework used for internal logging. -* `SRGNetwork`: A networking framework. - -### Dynamic framework integration - -1. Run `carthage update` to update the dependencies (which is equivalent to `carthage update --configuration Release`). -2. Add the frameworks listed above and generated in the `Carthage/Build/iOS` folder to your target _Embedded binaries_. - -If your target is building an application, a few more steps are required: - -1. Add a _Run script_ build phase to your target, with `/usr/local/bin/carthage copy-frameworks` as command. -2. Add each of the required frameworks above as input file `$(SRCROOT)/Carthage/Build/iOS/FrameworkName.framework`. - -### Static framework integration - -1. Run `carthage update --configuration Release-static` to update the dependencies. -2. Add the frameworks listed above and generated in the `Carthage/Build/iOS/Static` folder to the _Linked frameworks and libraries_ list of your target. -3. Also add any resource bundle `.bundle` found within the `.framework` folders to your target directly. -4. Add the `-all_load` flag to your target _Other linker flags_. - -## Building the project - -A [Makefile](../Makefile) provides several targets to build and package the library. The available targets can be listed by running the following command from the project root folder: - -``` -make help -``` - -Alternatively, you can of course open the project with Xcode and use the available schemes. +The library must be integrated using [Swift Package Manager](https://swift.org/package-manager) directly [within Xcode](https://developer.apple.com/documentation/xcode/adding_package_dependencies_to_your_app). You can also declare the library as a dependency of another one directly in the associated `Package.swift` manifest. ## Usage -When you want to use classes or functions provided by the library in your code, you must import it from your source files first. - -### Usage from Objective-C source files - -Import the global header file using: - -```objective-c -#import -``` - -or directly import the module itself: +When you want to use classes or functions provided by the library in your code, you must import it from your source files first. In Objective-C: ```objective-c @import SRGContentProtection; ``` -### Usage from Swift source files - -Import the module where needed: +or in Swift: ```swift import SRGContentProtection @@ -93,7 +37,7 @@ import SRGContentProtection ### Playing a protected media -To play a protected content with AVPlayer, create an asset through one of the methods from the `AVURLAsset (SRGContentProtection)` category, and use it to instantiate the `AVPlayerItem` which will be played. +To play a protected content with `AVPlayer`, create an asset through one of the methods from the `AVURLAsset (SRGContentProtection)` category, and use it to instantiate the `AVPlayerItem` which will be played. If the protection used does not match the one required by the content, playback will likely fail.