diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index 93b00522..07abc778 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -2735,7 +2735,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = AltStoreCore/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.2; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2771,7 +2771,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = AltStoreCore/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.2; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/AltStore/App Detail/AppContentViewController.swift b/AltStore/App Detail/AppContentViewController.swift index d1129d08..6b7d556b 100644 --- a/AltStore/App Detail/AppContentViewController.swift +++ b/AltStore/App Detail/AppContentViewController.swift @@ -173,7 +173,8 @@ private extension AppContentViewController dataSource.cellConfigurationHandler = { (cell, permission, indexPath) in let cell = cell as! PermissionCollectionViewCell cell.button.setImage(permission.type.icon, for: .normal) - cell.textLabel.text = permission.type.localizedShortName + cell.button.tintColor = .label + cell.textLabel.text = permission.type.localizedShortName ?? permission.type.localizedName } return dataSource diff --git a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/Contents.json b/AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/Contents.json deleted file mode 100644 index fcc90b1f..00000000 --- a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "sound@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "sound@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/sound@2x.png b/AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/sound@2x.png deleted file mode 100644 index f7121412..00000000 Binary files a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/sound@2x.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/sound@3x.png b/AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/sound@3x.png deleted file mode 100644 index 23bbdff5..00000000 Binary files a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/sound@3x.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/Contents.json b/AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/Contents.json deleted file mode 100644 index 04671484..00000000 --- a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "fetch@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "fetch@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/fetch@2x.png b/AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/fetch@2x.png deleted file mode 100644 index c44c3dee..00000000 Binary files a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/fetch@2x.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/fetch@3x.png b/AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/fetch@3x.png deleted file mode 100644 index 6c05606a..00000000 Binary files a/AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/fetch@3x.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/Permissions/Contents.json b/AltStore/Resources/Assets.xcassets/Permissions/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/AltStore/Resources/Assets.xcassets/Permissions/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/Contents.json b/AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/Contents.json deleted file mode 100644 index de4d09de..00000000 --- a/AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "photos@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "photos@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/photos@2x.png b/AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/photos@2x.png deleted file mode 100644 index 63dcd177..00000000 Binary files a/AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/photos@2x.png and /dev/null differ diff --git a/AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/photos@3x.png b/AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/photos@3x.png deleted file mode 100644 index 522b8bd8..00000000 Binary files a/AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/photos@3x.png and /dev/null differ diff --git a/AltStoreCore/Model/AppPermission.swift b/AltStoreCore/Model/AppPermission.swift index 1124c3c1..2763f95c 100644 --- a/AltStoreCore/Model/AppPermission.swift +++ b/AltStoreCore/Model/AppPermission.swift @@ -25,8 +25,22 @@ public extension ALTAppPermissionType switch self { case .photos: return NSLocalizedString("Photos", comment: "") + case .camera: return NSLocalizedString("Camera", comment: "") + case .location: return NSLocalizedString("Location", comment: "") + case .contacts: return NSLocalizedString("Contacts", comment: "") + case .reminders: return NSLocalizedString("Reminders", comment: "") + case .appleMusic: return NSLocalizedString("Apple Music", comment: "") + case .microphone: return NSLocalizedString("Microphone", comment: "") + case .speechRecognition: return NSLocalizedString("Speech Recognition", comment: "") case .backgroundAudio: return NSLocalizedString("Background Audio", comment: "") case .backgroundFetch: return NSLocalizedString("Background Fetch", comment: "") + case .bluetooth: return NSLocalizedString("Bluetooth", comment: "") + case .network: return NSLocalizedString("Network", comment: "") + case .calendars: return NSLocalizedString("Calendars", comment: "") + case .touchID: return NSLocalizedString("Touch ID", comment: "") + case .faceID: return NSLocalizedString("Face ID", comment: "") + case .siri: return NSLocalizedString("Siri", comment: "") + case .motion: return NSLocalizedString("Motion", comment: "") default: return nil } } @@ -34,10 +48,25 @@ public extension ALTAppPermissionType var icon: UIImage? { switch self { - case .photos: return UIImage(named: "PhotosPermission") - case .backgroundAudio: return UIImage(named: "BackgroundAudioPermission") - case .backgroundFetch: return UIImage(named: "BackgroundFetchPermission") - default: return nil + case .photos: return UIImage(systemName: "photo.on.rectangle.angled") + case .camera: return UIImage(systemName: "camera.fill") + case .location: return UIImage(systemName: "location.fill") + case .contacts: return UIImage(systemName: "person.2.fill") + case .reminders: return UIImage(systemName: "checklist") + case .appleMusic: return UIImage(systemName: "music.note") + case .microphone: return UIImage(systemName: "mic.fill") + case .speechRecognition: return UIImage(systemName: "waveform.and.mic") + case .backgroundAudio: return UIImage(systemName: "speaker.fill") + case .backgroundFetch: return UIImage(systemName: "square.and.arrow.down") + case .bluetooth: return UIImage(systemName: "wave.3.right") + case .network: return UIImage(systemName: "network") + case .calendars: return UIImage(systemName: "calendar") + case .touchID: return UIImage(systemName: "touchid") + case .faceID: return UIImage(systemName: "faceid") + case .siri: return UIImage(systemName: "mic.and.signal.meter.fill") + case .motion: return UIImage(systemName: "figure.walk.motion") + default: + return nil } } } diff --git a/AltStoreCore/Types/ALTAppPermission.h b/AltStoreCore/Types/ALTAppPermission.h index 5c68b1b1..d84e616c 100644 --- a/AltStoreCore/Types/ALTAppPermission.h +++ b/AltStoreCore/Types/ALTAppPermission.h @@ -10,5 +10,19 @@ typedef NSString *ALTAppPermissionType NS_TYPED_EXTENSIBLE_ENUM; extern ALTAppPermissionType const ALTAppPermissionTypePhotos; +extern ALTAppPermissionType const ALTAppPermissionTypeCamera; +extern ALTAppPermissionType const ALTAppPermissionTypeLocation; +extern ALTAppPermissionType const ALTAppPermissionTypeContacts; +extern ALTAppPermissionType const ALTAppPermissionTypeReminders; +extern ALTAppPermissionType const ALTAppPermissionTypeAppleMusic; +extern ALTAppPermissionType const ALTAppPermissionTypeMicrophone; +extern ALTAppPermissionType const ALTAppPermissionTypeSpeechRecognition; extern ALTAppPermissionType const ALTAppPermissionTypeBackgroundAudio; extern ALTAppPermissionType const ALTAppPermissionTypeBackgroundFetch; +extern ALTAppPermissionType const ALTAppPermissionTypeBluetooth; +extern ALTAppPermissionType const ALTAppPermissionTypeNetwork; +extern ALTAppPermissionType const ALTAppPermissionTypeCalendars; +extern ALTAppPermissionType const ALTAppPermissionTypeTouchID; +extern ALTAppPermissionType const ALTAppPermissionTypeFaceID; +extern ALTAppPermissionType const ALTAppPermissionTypeSiri; +extern ALTAppPermissionType const ALTAppPermissionTypeMotion; diff --git a/AltStoreCore/Types/ALTAppPermission.m b/AltStoreCore/Types/ALTAppPermission.m index 7eee2905..a67e536d 100644 --- a/AltStoreCore/Types/ALTAppPermission.m +++ b/AltStoreCore/Types/ALTAppPermission.m @@ -9,5 +9,19 @@ #import "ALTAppPermission.h" ALTAppPermissionType const ALTAppPermissionTypePhotos = @"photos"; +ALTAppPermissionType const ALTAppPermissionTypeCamera = @"camera"; +ALTAppPermissionType const ALTAppPermissionTypeLocation = @"location"; +ALTAppPermissionType const ALTAppPermissionTypeContacts = @"contacts"; +ALTAppPermissionType const ALTAppPermissionTypeReminders = @"reminders"; +ALTAppPermissionType const ALTAppPermissionTypeAppleMusic = @"music"; +ALTAppPermissionType const ALTAppPermissionTypeMicrophone = @"microphone"; +ALTAppPermissionType const ALTAppPermissionTypeSpeechRecognition = @"speech-recognition"; ALTAppPermissionType const ALTAppPermissionTypeBackgroundAudio = @"background-audio"; ALTAppPermissionType const ALTAppPermissionTypeBackgroundFetch = @"background-fetch"; +ALTAppPermissionType const ALTAppPermissionTypeBluetooth = @"bluetooth"; +ALTAppPermissionType const ALTAppPermissionTypeNetwork = @"network"; +ALTAppPermissionType const ALTAppPermissionTypeCalendars = @"calendars"; +ALTAppPermissionType const ALTAppPermissionTypeTouchID = @"touchid"; +ALTAppPermissionType const ALTAppPermissionTypeFaceID = @"faceid"; +ALTAppPermissionType const ALTAppPermissionTypeSiri = @"siri"; +ALTAppPermissionType const ALTAppPermissionTypeMotion = @"motion";