Commit Graph

329 Commits

Author SHA1 Message Date
osy
97232fec1e Preserve device specific keys in Info.plist
Apple's Info.plist support platform and device specific keys to augment existing
keys. For example `UISupportedInterfaceOrientations~ipad` replaces
`UISupportedInterfaceOrientations` when running on an iPad.

By using Bundle.infoDictionary, Apple will pre-process the Info.plist and replace
any key with its device specific variant. Since AltStore does not support iPad,
this will strip out any iPad specific keys for the installing app.

We add an extension Bundle.completeInfoDictionary that will return the original
de-serialized dictionary including all the device specific keys.

See: https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//apple_ref/doc/uid/TP40009254-SW9

# Conflicts:
#	AltKit/Extensions/Bundle+AltStore.swift
#	AltStore/Model/DatabaseManager.swift
2020-08-31 12:47:11 -07:00
Riley Testut
11ac99af97 Updates apps.json 2020-08-31 12:39:41 -07:00
Riley Testut
fff044344a Migrates from Core Data model v6 to v7 2020-08-28 13:25:20 -07:00
Riley Testut
89f214e872 Updates apps.json for 1.3.6 2020-08-28 12:58:54 -07:00
Riley Testut
b33c72959d Merge branch 'accessibility_improvements' into develop
# Conflicts:
#	AltStore/Sources/SourcesViewController.swift
2020-08-28 12:39:05 -07:00
Riley Testut
c6beba4412 Adds altstore://source?url=[link] deep link to add sources 2020-08-28 12:15:15 -07:00
Riley Testut
1b0f6a19f1 Shows source errors in SourcesViewController 2020-08-27 16:39:03 -07:00
Riley Testut
08bcd9b9fd Improves error handling when fetching multiple sources
Fetching sources is no longer all or nothing. Now if a source cannot be fetched, it won’t prevent other sources from being updated.
2020-08-27 16:28:13 -07:00
Riley Testut
1d8ef12686 Improves News tab accessibility
Combines News item name + subtitle into single accessibility group.
2020-08-27 15:27:38 -07:00
Riley Testut
ba34999c71 Improves My Apps tab accessibility 2020-08-27 15:25:52 -07:00
Riley Testut
a49c48b15b Announces errors when VoiceOver is enabled 2020-08-27 15:24:26 -07:00
Riley Testut
3e600ca2d8 Improves AppBannerView accessibility 2020-08-27 15:23:21 -07:00
Riley Testut
ecce91d630 Updates patreon access token 2020-08-14 12:27:13 -07:00
Riley Testut
87a6e0f2d0 Updates apps.json for AltStore 1.4b4 2020-07-27 13:31:09 -07:00
Riley Testut
af6f57f945 Fixes installing AltStore versions containing app extensions 2020-07-24 13:02:48 -07:00
Riley Testut
a4d7bb75ff Updates apps.json for 1.3.5 2020-07-15 14:28:54 -07:00
Riley Testut
b6c1b51a44 Merge branch '1.3.5' into develop 2020-07-15 14:28:06 -07:00
Riley Testut
b3c82cf054 Fixes Bonjour discovery on iOS 14
iOS 14 requires apps to specify which Bonjour services they support as well as a usage description in order to browse the local network.
2020-07-15 11:55:48 -07:00
Riley Testut
db959c42b8 Adds 1.4 prerelease versions to apps(-alpha).json 2020-06-22 16:03:49 -07:00
Riley Testut
23a2d57f36 Adds Clip 1.0 to apps.json 2020-06-22 16:03:08 -07:00
Riley Testut
556a2541a3 [AltDaemon] Updates version to 0.2 2020-06-11 17:57:14 -07:00
Riley Testut
e3f0359f3e Adds “Install AltDaemon” option to settings (jailbreak only)
Exports AltDaemon that can be installed with Filza or another file/package manager.
2020-06-07 10:02:41 -07:00
Riley Testut
feae50520d Replaces cached AltStore every launch for DEBUG builds 2020-06-07 09:49:29 -07:00
Riley Testut
7a9dfdfe5e Improves error messages when there’s an underlying error 2020-06-05 15:32:10 -07:00
Riley Testut
4311db2cf7 Supports installing/refreshings apps w/o computer on jailbroken devices
AltStore will use AltDaemon as a local AltServer if it’s installed and running. AltStore remains a regular sandboxed app, but AltDaemon has private entitlements necessary to perform AltServer operations without a computer.
2020-06-04 19:53:10 -07:00
Riley Testut
4cd3ede535 Updates apps.json for 1.3.4 2020-05-27 10:11:02 -07:00
Riley Testut
c06d7d636a Adds option to explicitly back up installed apps 2020-05-19 11:47:43 -07:00
Riley Testut
1ab36874be Fixes “invalid entitlements” when refreshing AltStore
Replaces “resigned” app group ID with “base” app group ID before resigning AltStore.
2020-05-18 16:00:08 -07:00
Riley Testut
fcc1cea73a Limits new (de-)activation flow to 13.5 or later 2020-05-18 00:04:09 -07:00
Riley Testut
b2c09049be Adds altstore://install?url=[link] deep link to install remote .ipa’s 2020-05-17 23:47:26 -07:00
Riley Testut
47d206ad19 Removes active app extension limits on 13.5 or later 2020-05-17 23:47:26 -07:00
Riley Testut
7cd01b97bb Uses real app icon for AltBackup icon 2020-05-17 23:47:26 -07:00
Riley Testut
c895ebb1a2 [AltBackup] UI reflects whether backup/restore/nothing is happening 2020-05-17 23:47:26 -07:00
Riley Testut
9d3621a872 Adds option to manually restore backup for active apps that have one 2020-05-17 23:47:26 -07:00
Riley Testut
b79051e247 Adds option to export backups for inactive apps 2020-05-17 23:47:26 -07:00
Riley Testut
c968f15181 Activates apps by reinstalling then restoring backup on iOS 13.5+
To activate an inactive app that has been deleted from the phone, AltStore will reinstall the app, as well as restore any app data from when it was deactivated.
2020-05-17 23:47:26 -07:00
Riley Testut
46469838f8 Deactivates apps by backing up + deleting them on iOS 13.5+
Deactivating apps by removing their profiles no longer works on iOS 13.5. Instead, AltStore will now back up the app by temporarily replacing it with AltBackup, then remove the app from the phone.
2020-05-17 23:47:26 -07:00
Riley Testut
75d1084b5f Supports removing inactive apps from My Apps 2020-05-17 23:47:26 -07:00
Riley Testut
faa93a6aa0 Adds RemoveAppBackupOperation to remove backed up app data 2020-05-17 23:47:26 -07:00
Riley Testut
407a259221 Adds RemoveAppOperation for removing inactive apps 2020-05-17 23:47:26 -07:00
Riley Testut
dafc87d899 Fixes updating App IDs with no app groups 2020-05-17 23:47:26 -07:00
Riley Testut
92781d3380 Adds BackupAppOperation to backup and restore app data 2020-05-17 23:47:26 -07:00
Riley Testut
775f0e67e1 Adds option to not cache downloaded app during installation 2020-05-17 23:47:26 -07:00
Riley Testut
3ac2beecfc Embeds original bundle ID under ALTBundleIdentifier Info.plist key 2020-05-17 23:47:26 -07:00
Riley Testut
973cede232 Supports resigning apps with multiple app groups 2020-05-17 23:47:24 -07:00
Riley Testut
89fba9f3ad Fixes missing error descriptions when using NSError.withLocalizedFailure() 2020-05-15 14:54:46 -07:00
Riley Testut
f9b1208e73 Replaces ConnectionError.errorDescription with .failureReason
Improves error messages where ConnectionError was the underlying failure, but not the main error.
2020-05-15 14:54:46 -07:00
Riley Testut
7d2dad1ebc Adds additional checks before considering apps deleted 2020-05-15 14:54:46 -07:00
Riley Testut
5ac442638c Supports custom entitlements when fetching provisioning profiles 2020-05-15 14:54:43 -07:00
Riley Testut
c0b9e798c9 Fixes RefreshGroup strong reference cycle 2020-05-14 16:31:23 -07:00