From 7ebecc353a8c049ae3f58f6e137cf23667e8710e Mon Sep 17 00:00:00 2001 From: Fabian Thies Date: Tue, 29 Nov 2022 14:30:51 +0100 Subject: [PATCH] Add missing App Permission Types (#159) * Add missing app permission types * Remove old unused icons for photos, background fetch and background audio permission types * Add missing icons for contacts and reminders permission types * Add missing camera permission icon and name * Switch permission icons to filled versions for a more cohesive look --- AltStore.xcodeproj/project.pbxproj | 4 +- .../App Detail/AppContentViewController.swift | 3 +- .../Contents.json | 22 ----------- .../sound@2x.png | Bin 1896 -> 0 bytes .../sound@3x.png | Bin 2991 -> 0 bytes .../Contents.json | 22 ----------- .../fetch@2x.png | Bin 2443 -> 0 bytes .../fetch@3x.png | Bin 3974 -> 0 bytes .../Assets.xcassets/Permissions/Contents.json | 6 --- .../PhotosPermission.imageset/Contents.json | 22 ----------- .../PhotosPermission.imageset/photos@2x.png | Bin 6167 -> 0 bytes .../PhotosPermission.imageset/photos@3x.png | Bin 10703 -> 0 bytes AltStoreCore/Model/AppPermission.swift | 37 ++++++++++++++++-- AltStoreCore/Types/ALTAppPermission.h | 14 +++++++ AltStoreCore/Types/ALTAppPermission.m | 14 +++++++ 15 files changed, 65 insertions(+), 79 deletions(-) delete mode 100644 AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/Contents.json delete mode 100644 AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/sound@2x.png delete mode 100644 AltStore/Resources/Assets.xcassets/Permissions/BackgroundAudioPermission.imageset/sound@3x.png delete mode 100644 AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/Contents.json delete mode 100644 AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/fetch@2x.png delete mode 100644 AltStore/Resources/Assets.xcassets/Permissions/BackgroundFetchPermission.imageset/fetch@3x.png delete mode 100644 AltStore/Resources/Assets.xcassets/Permissions/Contents.json delete mode 100644 AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/Contents.json delete mode 100644 AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/photos@2x.png delete mode 100644 AltStore/Resources/Assets.xcassets/Permissions/PhotosPermission.imageset/photos@3x.png 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 f7121412e6dd319cdc26a9ada4996aea5e870ae6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1896 zcmY*ac{m%`7LU+cT6+~$L^5R_B?wh%B0<^+vBXkT`3MntLPF9?rq!_zZGA$dsM5|< ztF+@;I;vAkq(SYf(;C!ThBAU0Ol^5d+t>Hr{l0VWx##}Q?|07qr; zsHHX3+S*)#FlVr1nPDvRSO(-X$$xk-Bu02Vh0dhVVnI^gFe2>&6A1=Og}#o@buuZD z|5b`*d}&M4AXIt+wX(2;e&v>=BBW8cXFP=@QI_&MSRp!s&L9ZET)sjQf;)hbR>OHKiD1W{o-Kr5lGk&!ErF8g;fu%Gq^VyGZ2 za=Ay;bcu}Ygv~V?ZZ^)bQGJaJZPj&81J2@h+NhOqcko(T5FteEpK%(q8pE7gbd+Oe zs)7GwZ2FqOeo8Y8gFfe(F^s*aNUZ?h_j}@q9`x&uKKH>UtM}?$1|SQS{ynhj)Lm-< zn^ICJECfF@MNcmewD~=)*doYO)U~ratx}NN^PdMR7CfoYUuAc>Z8{j` zy6R6;#3L77r?q!0RTQ_V+3Jzt>3aQzOHKjmEo@6>e?G3dWT7g}f2Jr?(0Vx4)qncY zk&k0`0y^{2RcnPS=A2 zX&5_jh;sXu#i|(l`)yoMBo6?ZbliAh4D#ZYybZbk?B`6`^XB4-_LKMK(Z{F)a%Dj)N0_KenOze915aid{Xx1!lyc)xmJhuqQW z>)OHG$yd!JOyfv=vEuB#FoxbrSCIGt{Pw-m#%QnTbj2w`vRx@ z-0|!C2r~`*H(`T?mKxogf>A*SFfnTrH>E!%+lt5-_ie?$Dl!}4Bt_ITQ=T?}#|^dx zc0)z(Kqn5>cBYIU@c3?d+7D^?ke9EL>4hL+h+O^4CeUP@H@LKyY`cG{bl_TT(=T`? zVoUAX_7bn8Q~SGV{&8dg>Vj^rDntbs;iM~0O5#u(U!!>Lqs*xKP~)D1#N`GN)>* z8E!$>h$b7^9?=Ap*KA1~fpFO%xB3F7obj4ns@lC=`%4UDn%__hG2X<4{JFzp+INXs z?#Eynd%w>{2XA1t0uMedeb~1|WEW>*sQ0?ed`4VI#hI4dDy);>i$yth!c~V`+NS~+ zEA@W5az_c=cfOg-j@~_#Yd>yFxG3(9)%iA6=dEK-Wg~3i^3YbL+N2NRM6O#5c>3U9 zzoyKzB{<&^0`2a=nlHkUh#LGIR0h#%P$6;G}%H^>g46W$T|dJnfqW83^=$(x^`?1D(mZVOd9W?IW;~+( zw@H`}uh(Vx?$jNRP|lQBDqEdvB(qXK+rxRyiUSUn+{o?;3jIj$Ej6xlL#4W?w><0{ ziYMQXg!F{dmM_ItV$&JP&j%quZ?fAgQhoGy{_?SZLs3QhSpG@wqw 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 23bbdff5899b43403db59b2c41f56b9568fd6a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2991 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 T&z+w=`5f!(m>>z)T<-h_M~`Ii 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 63dcd17722e888a4a481b62ae4b655ed11fd1f39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6167 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 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 522b8bd84b98aa455e33bf2da466cb0e5eb6e8c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10703 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 BGOhps 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";