Skip to content

Commit 20ad9ae

Browse files
committed
Add more descriptions, support bypassing limit for Sideloadly
1 parent 11166cf commit 20ad9ae

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

Sources/ContentView.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ struct ContentView: View {
101101
testBypassAppLimit()
102102
}
103103
.disabled(taskRunning)
104+
} footer: {
105+
Text("Hide free developer apps from installd, so you could install more than 3 apps. You need to apply this for each 3 apps you install or update.")
104106
}
105107
Section {
106108
Toggle("Reboot after finish restoring", isOn: $reboot)

Sources/LogView.swift

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,15 @@ struct LogView: View {
8383
var argv = restoreArgs.map{ strdup($0) }
8484
let result = idevicebackup2_main(Int32(restoreArgs.count), &argv)
8585
print("idevicebackup2 exited with code \(result)")
86-
guard log.contains("crash_on_purpose") else { return }
8786

88-
print("Restore succeeded")
89-
90-
if willReboot && result == 0 {
91-
isRebooting.toggle()
92-
MobileDevice.rebootDevice(udid: udid)
87+
if log.contains("Domain name cannot contain a slash") {
88+
print("ERROR: this iOS version is not supported.")
89+
} else if log.contains("crash_on_purpose") {
90+
print("Restore succeeded")
91+
if willReboot && result == 0 {
92+
isRebooting.toggle()
93+
MobileDevice.rebootDevice(udid: udid)
94+
}
9395
}
9496

9597
logPipe.fileHandleForReading.readabilityHandler = nil

Sources/SparseRestore/Restore.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ struct Restore {
3535
guard !bundleID.isEmpty,
3636
let value = value.value as? [String: AnyCodable],
3737
let bundlePath = value["Path"]?.value as? String,
38-
// Note: this only works for AltStore/SideStore, need another method for Sideloadly
39-
bundlePath.hasSuffix("/App.app")
38+
// Find all apps containing mobileprovision
39+
// while this is not 100% accurate, it ensures this is applied to all sideloaded apps
40+
access(bundlePath.appending("/embedded.mobileprovision"), F_OK) == 0
4041
else { continue }
4142
print("Found \(bundleID): \(bundlePath)")
4243
files.append(Directory(

0 commit comments

Comments
 (0)