mirror of
https://github.com/iDescriptor/iDescriptor.git
synced 2026-06-21 19:35:49 +08:00
skip prereleases & use versioned json for devdiskimgs
This commit is contained in:
@@ -0,0 +1,519 @@
|
||||
{
|
||||
">0.0.0": {
|
||||
"6.0": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/6.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/6.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"6.1": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/6.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/6.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"7.0": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/7.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/7.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"7.1": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/7.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/7.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"8.0": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/8.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/8.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"8.1": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/8.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/8.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"8.2": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/8.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/8.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"8.3": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/8.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/8.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"8.4": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/8.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/8.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"9.0": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/9.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/9.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"9.1": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/9.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/9.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"9.2": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/9.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/9.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"9.3": {
|
||||
"Image": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/9.3%20(13E230)/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/filsv/iOSDeviceSupport/raw/master/9.3%20(13E230)/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"10.0": {
|
||||
"Image": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.0%20(14A345)/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.0%20(14A345)/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"10.1": {
|
||||
"Image": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.1%20(14B72)/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.1%20(14B72)/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"10.2": {
|
||||
"Image": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.2%20(14C5062c)/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.2%20(14C5062c)/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"10.3": {
|
||||
"Image": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/blob/master/Developer%20Disk%20Image/10.3%20(14E269)/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/blob/master/Developer%20Disk%20Image/10.3%20(14E269)/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"11.0": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"11.1": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"11.2": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"11.3": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"11.4": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.0": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.1": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.2": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.3": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.4": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/12/12.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/12/12.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.5": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/12/12.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/12/12.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.0": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.1": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.2": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.3": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.4": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.5": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.6": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.6/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.6/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.7": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.7/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.7/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.0": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.1": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.2": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.3": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.4": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.5": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg"
|
||||
]
|
||||
},
|
||||
"14.6": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.7": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.8": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.0": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.1": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.2": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.3": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.4": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.5": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.6": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.6/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.6/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.7": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.7/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.7/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.8": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.0": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.1": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.2": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.3": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.4": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.5": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.6": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.7": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"17.0": {
|
||||
"Image": [
|
||||
"https://github.com/doronz88/DeveloperDiskImage/raw/main/PersonalizedImages/Xcode_iOS_DDI_Personalized/Image.dmg"
|
||||
],
|
||||
"Trustcache": [
|
||||
"https://github.com/doronz88/DeveloperDiskImage/raw/main/PersonalizedImages/Xcode_iOS_DDI_Personalized/Image.dmg.trustcache"
|
||||
],
|
||||
"BuildManifest": [
|
||||
"https://github.com/doronz88/DeveloperDiskImage/raw/main/PersonalizedImages/Xcode_iOS_DDI_Personalized/BuildManifest.plist"
|
||||
]
|
||||
},
|
||||
"Fallback": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/%@/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/%@/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
Submodule lib/zupdater updated: bd50e5f76d...b292583b66
+1
-1
@@ -62,7 +62,7 @@
|
||||
<file>resources/connect.png</file>
|
||||
<file>resources/airplayer-tutorial.mp4</file>
|
||||
<file>resources/ipad-mockups/ipad.png</file>
|
||||
<file>resources/DeveloperDiskImages.json</file>
|
||||
<file>DeveloperDiskImages.json</file>
|
||||
<file>resources/keychain.mp4</file>
|
||||
<file>resources/wireless-gallery-import.mp4</file>
|
||||
</qresource>
|
||||
|
||||
@@ -1,413 +0,0 @@
|
||||
{
|
||||
"10.0": {
|
||||
"Image": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.0%20(14A345)/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.0%20(14A345)/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"10.1": {
|
||||
"Image": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.1%20(14B72)/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.1%20(14B72)/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"10.2": {
|
||||
"Image": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.2%20(14C5062c)/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/raw/master/Developer%20Disk%20Image/10.2%20(14C5062c)/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"10.3": {
|
||||
"Image": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/blob/master/Developer%20Disk%20Image/10.3%20(14E269)/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/xushuduo/Xcode-iOS-Developer-Disk-Image/blob/master/Developer%20Disk%20Image/10.3%20(14E269)/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"11.0": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"11.1": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"11.2": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"11.3": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"11.4": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/11.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.0": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.1": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.2": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.3": {
|
||||
"Image": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/luannguyenkhoa/LocationSimulator/raw/master/LocationSimulator/12.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.4": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/12/12.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/12/12.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"12.5": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/12/12.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/12/12.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.0": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.1": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.2": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.3": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.4": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.5": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.6": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.6/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.6/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"13.7": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.7/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/13/13.7/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.0": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.1": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.2": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.3": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.4": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.5": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg"
|
||||
]
|
||||
},
|
||||
"14.6": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.7": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"14.8": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/14/14.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.0": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.1": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.2": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.3": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.4": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.5": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.6": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.6/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.6/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.7": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.7/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.7/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"15.8": {
|
||||
"Image": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/pdso/DeveloperDiskImage/raw/master/15/15.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.0": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.0/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.0/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.1": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.1/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.1/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.2": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.2/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.2/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.3": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.3/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.3/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.4": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.4/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.4/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.5": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.6": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"16.7": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/16.5/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
},
|
||||
"17.0": {
|
||||
"Image": [
|
||||
"https://github.com/doronz88/DeveloperDiskImage/raw/main/PersonalizedImages/Xcode_iOS_DDI_Personalized/Image.dmg"
|
||||
],
|
||||
"Trustcache": [
|
||||
"https://github.com/doronz88/DeveloperDiskImage/raw/main/PersonalizedImages/Xcode_iOS_DDI_Personalized/Image.dmg.trustcache"
|
||||
],
|
||||
"BuildManifest": [
|
||||
"https://github.com/doronz88/DeveloperDiskImage/raw/main/PersonalizedImages/Xcode_iOS_DDI_Personalized/BuildManifest.plist"
|
||||
]
|
||||
},
|
||||
"Fallback": {
|
||||
"Image": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/%@/DeveloperDiskImage.dmg"
|
||||
],
|
||||
"Signature": [
|
||||
"https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/raw/master/Developer%20Disk%20Image/%@/DeveloperDiskImage.dmg.signature"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
{
|
||||
">0.0.0": {
|
||||
"sponsors": {
|
||||
"platinum": {
|
||||
"members": [
|
||||
{
|
||||
"name": "Spotify",
|
||||
"url": "https://www.spotify.com",
|
||||
"logo": "sponsors/spotify.png",
|
||||
"description": "Leading music streaming service.",
|
||||
"bundleId": "com.spotify.client"
|
||||
},
|
||||
{
|
||||
"name": "Shopify",
|
||||
"url": "https://www.shopify.com",
|
||||
"logo": "sponsors/shopify.png",
|
||||
"description": "Create an online store within minutes and start selling.",
|
||||
"bundleId": "com.jadedpixel.shopify"
|
||||
}
|
||||
]
|
||||
},
|
||||
"gold": {
|
||||
"members": [
|
||||
{
|
||||
"name": "Spotify",
|
||||
"url": "https://www.spotify.com",
|
||||
"logo": "sponsors/spotify.png",
|
||||
"description": "Leading music streaming service.",
|
||||
"bundleId": "com.spotify.client"
|
||||
},
|
||||
{
|
||||
"name": "Shopify",
|
||||
"url": "https://www.shopify.com",
|
||||
"logo": "sponsors/shopify.png",
|
||||
"description": "Create an online store within minutes and start selling.",
|
||||
"bundleId": "com.jadedpixel.shopify"
|
||||
}
|
||||
]
|
||||
},
|
||||
"silver": {
|
||||
"members": [
|
||||
{
|
||||
"name": "Spotify",
|
||||
"url": "https://www.spotify.com",
|
||||
"logo": "sponsors/spotify.png",
|
||||
"description": "Leading music streaming service.",
|
||||
"bundleId": "com.spotify.client"
|
||||
},
|
||||
{
|
||||
"name": "Shopify",
|
||||
"url": "https://www.shopify.com",
|
||||
"logo": "sponsors/shopify.png",
|
||||
"description": "Create an online store within minutes and start selling.",
|
||||
"bundleId": "com.jadedpixel.shopify"
|
||||
}
|
||||
]
|
||||
},
|
||||
"bronze": {
|
||||
"members": [
|
||||
{
|
||||
"name": "Spotify",
|
||||
"url": "https://www.spotify.com",
|
||||
"logo": "sponsors/spotify.png",
|
||||
"description": "Leading music streaming service.",
|
||||
"bundleId": "com.spotify.client"
|
||||
},
|
||||
{
|
||||
"name": "Shopify",
|
||||
"url": "https://www.shopify.com",
|
||||
"logo": "sponsors/shopify.png",
|
||||
"description": "Create an online store within minutes and start selling.",
|
||||
"bundleId": "com.jadedpixel.shopify"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+38
-118
@@ -25,6 +25,7 @@
|
||||
#include "appstoremanager.h"
|
||||
#include "creddialog.h"
|
||||
#include "iDescriptor-ui.h"
|
||||
#include "iDescriptor.h"
|
||||
#include "keychaindialog.h"
|
||||
#include "logindialog.h"
|
||||
#include "mainwindow.h"
|
||||
@@ -56,7 +57,6 @@
|
||||
#include <QPixmap>
|
||||
#include <QProgressBar>
|
||||
#include <QPushButton>
|
||||
#include <QRegularExpression>
|
||||
#include <QScrollArea>
|
||||
#include <QStyle>
|
||||
#include <QTimer>
|
||||
@@ -64,84 +64,7 @@
|
||||
#include <QWidget>
|
||||
#include <QtConcurrent/QtConcurrent>
|
||||
|
||||
// Helper struct for semantic version comparison
|
||||
struct AppVersion {
|
||||
int major = 0;
|
||||
int minor = 0;
|
||||
int patch = 0;
|
||||
|
||||
static AppVersion fromString(QString versionString)
|
||||
{
|
||||
// Keep only digits and dots for comparison
|
||||
versionString.remove(QRegularExpression("[^\\d.]"));
|
||||
AppVersion v;
|
||||
QStringList parts = versionString.split('.');
|
||||
if (parts.size() > 0)
|
||||
v.major = parts[0].toInt();
|
||||
if (parts.size() > 1)
|
||||
v.minor = parts[1].toInt();
|
||||
if (parts.size() > 2)
|
||||
v.patch = parts[2].toInt();
|
||||
return v;
|
||||
}
|
||||
|
||||
bool operator<(const AppVersion &other) const
|
||||
{
|
||||
if (major != other.major)
|
||||
return major < other.major;
|
||||
if (minor != other.minor)
|
||||
return minor < other.minor;
|
||||
return patch < other.patch;
|
||||
}
|
||||
|
||||
bool operator==(const AppVersion &other) const
|
||||
{
|
||||
return major == other.major && minor == other.minor &&
|
||||
patch == other.patch;
|
||||
}
|
||||
|
||||
bool operator>(const AppVersion &other) const
|
||||
{
|
||||
return !(*this < other || *this == other);
|
||||
}
|
||||
bool operator<=(const AppVersion &other) const
|
||||
{
|
||||
return (*this < other || *this == other);
|
||||
}
|
||||
bool operator>=(const AppVersion &other) const { return !(*this < other); }
|
||||
};
|
||||
|
||||
// Checks if the current app version matches a given version condition
|
||||
bool versionMatches(const QString ¤tVersionStr,
|
||||
const QString &conditionStr)
|
||||
{
|
||||
AppVersion currentVersion = AppVersion::fromString(currentVersionStr);
|
||||
AppVersion conditionVersion = AppVersion::fromString(conditionStr);
|
||||
|
||||
if (conditionStr.startsWith("<="))
|
||||
return currentVersion <= conditionVersion;
|
||||
if (conditionStr.startsWith(">="))
|
||||
return currentVersion >= conditionVersion;
|
||||
if (conditionStr.startsWith("<"))
|
||||
return currentVersion < conditionVersion;
|
||||
if (conditionStr.startsWith(">"))
|
||||
return currentVersion > conditionVersion;
|
||||
|
||||
// Exact match
|
||||
return currentVersion == conditionVersion;
|
||||
}
|
||||
|
||||
QJsonObject getVersionedConfig(const QJsonObject &rootObj)
|
||||
{
|
||||
QStringList keys = rootObj.keys();
|
||||
for (const QString &key : keys) {
|
||||
if (versionMatches(APP_VERSION, key)) {
|
||||
return rootObj[key].toObject();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: watch for login and logout events
|
||||
// FIXME: we dont watch for login and logout events because there is no such api
|
||||
AppsWidget *AppsWidget::sharedInstance()
|
||||
{
|
||||
static AppsWidget *instance = new AppsWidget();
|
||||
@@ -229,8 +152,7 @@ void AppsWidget::setupUI()
|
||||
|
||||
void AppsWidget::init()
|
||||
{
|
||||
// FIXME:update url
|
||||
QUrl sponsorsUrl("http://localhost:5173/sponsors.json");
|
||||
QUrl sponsorsUrl(SPONSORS_JSON_URL);
|
||||
QNetworkRequest request(sponsorsUrl);
|
||||
QNetworkReply *reply = m_networkManager->get(request);
|
||||
connect(reply, &QNetworkReply::finished, this, [this, reply]() {
|
||||
@@ -489,6 +411,38 @@ void AppsWidget::populateDefaultApps()
|
||||
advanceGridPos();
|
||||
}
|
||||
|
||||
for (const QJsonValue &sponsorValue : m_silverSponsors) {
|
||||
QJsonObject sponsorObj = sponsorValue.toObject();
|
||||
QString name = sponsorObj.value("name").toString();
|
||||
QString bundleId = sponsorObj.value("bundleId").toString();
|
||||
QString description = sponsorObj.value("description").toString();
|
||||
QString url = sponsorObj.value("url").toString();
|
||||
QString logoUrl = sponsorObj.value("logo").toString();
|
||||
bool useBundleIdForIcon =
|
||||
sponsorObj.value("useBundleIdForIcon").toBool(true);
|
||||
|
||||
createAppCard(name, bundleId, description, logoUrl, url, gridLayout,
|
||||
row, col, useBundleIdForIcon,
|
||||
SponsorType(SponsorType::Silver));
|
||||
advanceGridPos();
|
||||
}
|
||||
|
||||
for (const QJsonValue &sponsorValue : m_bronzeSponsors) {
|
||||
QJsonObject sponsorObj = sponsorValue.toObject();
|
||||
QString name = sponsorObj.value("name").toString();
|
||||
QString bundleId = sponsorObj.value("bundleId").toString();
|
||||
QString description = sponsorObj.value("description").toString();
|
||||
QString url = sponsorObj.value("url").toString();
|
||||
QString logoUrl = sponsorObj.value("logo").toString();
|
||||
|
||||
bool useBundleIdForIcon =
|
||||
sponsorObj.value("useBundleIdForIcon").toBool(true);
|
||||
createAppCard(name, bundleId, description, logoUrl, url, gridLayout,
|
||||
row, col, useBundleIdForIcon,
|
||||
SponsorType(SponsorType::Bronze));
|
||||
advanceGridPos();
|
||||
}
|
||||
|
||||
if (m_platinumSponsors.empty() && m_goldSponsors.empty()) {
|
||||
createSponsorCard(gridLayout, row, col);
|
||||
advanceGridPos();
|
||||
@@ -525,37 +479,6 @@ void AppsWidget::populateDefaultApps()
|
||||
col);
|
||||
advanceGridPos();
|
||||
|
||||
for (const QJsonValue &sponsorValue : m_silverSponsors) {
|
||||
QJsonObject sponsorObj = sponsorValue.toObject();
|
||||
QString name = sponsorObj.value("name").toString();
|
||||
QString bundleId = sponsorObj.value("bundleId").toString();
|
||||
QString description = sponsorObj.value("description").toString();
|
||||
QString url = sponsorObj.value("url").toString();
|
||||
QString logoUrl = sponsorObj.value("logo").toString();
|
||||
bool useBundleIdForIcon =
|
||||
sponsorObj.value("useBundleIdForIcon").toBool(true);
|
||||
|
||||
createAppCard(name, bundleId, description, logoUrl, url, gridLayout,
|
||||
row, col, useBundleIdForIcon,
|
||||
SponsorType(SponsorType::Silver));
|
||||
advanceGridPos();
|
||||
}
|
||||
|
||||
for (const QJsonValue &sponsorValue : m_bronzeSponsors) {
|
||||
QJsonObject sponsorObj = sponsorValue.toObject();
|
||||
QString name = sponsorObj.value("name").toString();
|
||||
QString bundleId = sponsorObj.value("bundleId").toString();
|
||||
QString description = sponsorObj.value("description").toString();
|
||||
QString url = sponsorObj.value("url").toString();
|
||||
QString logoUrl = sponsorObj.value("logo").toString();
|
||||
|
||||
bool useBundleIdForIcon =
|
||||
sponsorObj.value("useBundleIdForIcon").toBool(true);
|
||||
createAppCard(name, bundleId, description, logoUrl, url, gridLayout,
|
||||
row, col, useBundleIdForIcon,
|
||||
SponsorType(SponsorType::Bronze));
|
||||
advanceGridPos();
|
||||
}
|
||||
gridLayout->setRowStretch(gridLayout->rowCount(), 1);
|
||||
}
|
||||
|
||||
@@ -688,18 +611,15 @@ void AppsWidget::createAppCard(
|
||||
// Add sponsor type indicator
|
||||
if (!sponsorType.isEmpty()) {
|
||||
QLabel *sponsorLabel = new QLabel(sponsorType.name);
|
||||
QString textColor = (sponsorType.level == SponsorType::Platinum ||
|
||||
sponsorType.level == SponsorType::Silver)
|
||||
? "#333"
|
||||
: "white";
|
||||
sponsorLabel->setStyleSheet(QString("font-size: 10px; "
|
||||
"font-weight: bold; "
|
||||
"color: %1; "
|
||||
"color: #333; "
|
||||
"background-color: %2; "
|
||||
"border-radius: 4px; "
|
||||
"padding: 2px 6px; "
|
||||
"margin-left: 8px;")
|
||||
.arg(textColor, sponsorType.color));
|
||||
.arg(sponsorType.color));
|
||||
sponsorLabel->setFixedHeight(16);
|
||||
sponsorLabel->setAlignment(Qt::AlignCenter);
|
||||
nameLayout->addWidget(sponsorLabel);
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ void DevDiskManager::populateImageList()
|
||||
|
||||
connect(reply, &QNetworkReply::finished, this, [this, localPath, reply]() {
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
// FIXME: better have this settings
|
||||
// FIXME: better have this in settings
|
||||
QDir().mkdir(QDir::homePath() + "/.idescriptor");
|
||||
m_imageListJsonData = reply->readAll();
|
||||
QFile file(localPath);
|
||||
@@ -97,14 +97,19 @@ QMap<QString, QMap<QString, QString>> DevDiskManager::parseDiskDir()
|
||||
{
|
||||
QJsonDocument doc = QJsonDocument::fromJson(m_imageListJsonData);
|
||||
if (!doc.isObject()) {
|
||||
qWarning() << "Invalid JSON response from image list API";
|
||||
qWarning() << "parseDiskDir: Invalid JSON response from image list API";
|
||||
return {};
|
||||
}
|
||||
|
||||
QMap<QString, QMap<QString, QString>>
|
||||
imageFiles; // version -> {type -> url}
|
||||
|
||||
QJsonObject root = doc.object();
|
||||
QJsonObject root = getVersionedConfig(doc.object());
|
||||
if (root.isEmpty()) {
|
||||
qWarning() << "parseDiskDir: No valid versioned config found in image "
|
||||
"list JSON";
|
||||
return {};
|
||||
}
|
||||
for (auto it = root.constBegin(); it != root.constEnd(); ++it) {
|
||||
const QString version = it.key();
|
||||
const QJsonObject versionData = it.value().toObject();
|
||||
@@ -166,7 +171,7 @@ QList<ImageInfo> DevDiskManager::getImagesSorted(
|
||||
uint64_t mounted_sig_len)
|
||||
{
|
||||
QList<ImageInfo> allImages;
|
||||
// TODO: what is this ?
|
||||
// FIXME: i guess we could do better here but works for now
|
||||
bool hasConnectedDevice = (deviceMajorVersion > 0);
|
||||
|
||||
for (auto it = imageFiles.constBegin(); it != imageFiles.constEnd(); ++it) {
|
||||
|
||||
@@ -128,8 +128,8 @@ QString DeviceImageWidget::getWallpaperPath() const
|
||||
QString DeviceImageWidget::getMockupNameFromDisplayName(
|
||||
const QString &displayName) const
|
||||
{
|
||||
// Map device names to mockup files
|
||||
if (displayName.contains("iPhone 16", Qt::CaseInsensitive)) {
|
||||
if (displayName.contains("iPhone 16", Qt::CaseInsensitive) ||
|
||||
displayName.contains("iPhone 17", Qt::CaseInsensitive)) {
|
||||
return "16";
|
||||
} else if (displayName.contains("iPhone 15", Qt::CaseInsensitive) ||
|
||||
displayName.contains("iPhone 14", Qt::CaseInsensitive)) {
|
||||
|
||||
+87
-2
@@ -20,7 +20,9 @@
|
||||
#pragma once
|
||||
#include <QDebug>
|
||||
#include <QImage>
|
||||
#include <QJsonObject>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QRegularExpression>
|
||||
#include <QtCore/QObject>
|
||||
#include <libimobiledevice/afc.h>
|
||||
#include <libimobiledevice/installation_proxy.h>
|
||||
@@ -41,7 +43,11 @@
|
||||
#define AFC2_SERVICE_NAME "com.apple.afc2"
|
||||
#define RECOVERY_CLIENT_CONNECTION_TRIES 3
|
||||
#define APPLE_VENDOR_ID 0x05ac
|
||||
#define REPO_URL "https://github.com/uncor3/iDescriptor"
|
||||
#define REPO_URL "https://github.com/iDescriptor/iDescriptor"
|
||||
#define SPONSORS_JSON_URL \
|
||||
"https://raw.githubusercontent.com/iDescriptor/iDescriptor/refs/heads/" \
|
||||
"main/sponsors.json"
|
||||
|
||||
// This is because afc_read_directory accepts "/var/mobile/Media" as "/"
|
||||
#define POSSIBLE_ROOT "../../../../"
|
||||
|
||||
@@ -424,4 +430,83 @@ QByteArray read_afc_file_to_byte_array(afc_client_t afcClient,
|
||||
bool isDarkMode();
|
||||
|
||||
instproxy_error_t install_IPA(idevice_t device, afc_client_t afc,
|
||||
const char *filePath);
|
||||
const char *filePath);
|
||||
|
||||
// Helper struct for semantic version comparison
|
||||
struct AppVersion {
|
||||
int major = 0;
|
||||
int minor = 0;
|
||||
int patch = 0;
|
||||
|
||||
static AppVersion fromString(QString versionString)
|
||||
{
|
||||
// Keep only digits and dots for comparison
|
||||
versionString.remove(QRegularExpression("[^\\d.]"));
|
||||
AppVersion v;
|
||||
QStringList parts = versionString.split('.');
|
||||
if (parts.size() > 0)
|
||||
v.major = parts[0].toInt();
|
||||
if (parts.size() > 1)
|
||||
v.minor = parts[1].toInt();
|
||||
if (parts.size() > 2)
|
||||
v.patch = parts[2].toInt();
|
||||
return v;
|
||||
}
|
||||
|
||||
bool operator<(const AppVersion &other) const
|
||||
{
|
||||
if (major != other.major)
|
||||
return major < other.major;
|
||||
if (minor != other.minor)
|
||||
return minor < other.minor;
|
||||
return patch < other.patch;
|
||||
}
|
||||
|
||||
bool operator==(const AppVersion &other) const
|
||||
{
|
||||
return major == other.major && minor == other.minor &&
|
||||
patch == other.patch;
|
||||
}
|
||||
|
||||
bool operator>(const AppVersion &other) const
|
||||
{
|
||||
return !(*this < other || *this == other);
|
||||
}
|
||||
bool operator<=(const AppVersion &other) const
|
||||
{
|
||||
return (*this < other || *this == other);
|
||||
}
|
||||
bool operator>=(const AppVersion &other) const { return !(*this < other); }
|
||||
};
|
||||
|
||||
// Checks if the current app version matches a given version condition
|
||||
inline bool versionMatches(const QString ¤tVersionStr,
|
||||
const QString &conditionStr)
|
||||
{
|
||||
AppVersion currentVersion = AppVersion::fromString(currentVersionStr);
|
||||
AppVersion conditionVersion = AppVersion::fromString(conditionStr);
|
||||
|
||||
if (conditionStr.startsWith("<="))
|
||||
return currentVersion <= conditionVersion;
|
||||
if (conditionStr.startsWith(">="))
|
||||
return currentVersion >= conditionVersion;
|
||||
if (conditionStr.startsWith("<"))
|
||||
return currentVersion < conditionVersion;
|
||||
if (conditionStr.startsWith(">"))
|
||||
return currentVersion > conditionVersion;
|
||||
|
||||
// Exact match
|
||||
return currentVersion == conditionVersion;
|
||||
}
|
||||
|
||||
inline QJsonObject getVersionedConfig(const QJsonObject &rootObj)
|
||||
{
|
||||
QStringList keys = rootObj.keys();
|
||||
for (const QString &key : keys) {
|
||||
if (versionMatches(APP_VERSION, key)) {
|
||||
qDebug() << "getVersionedConfig picked version:" << key;
|
||||
return rootObj[key].toObject();
|
||||
}
|
||||
}
|
||||
return QJsonObject();
|
||||
}
|
||||
+4
-4
@@ -246,7 +246,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
UpdateProcedure updateProcedure;
|
||||
bool packageManagerManaged = false;
|
||||
bool isPortable = false;
|
||||
|
||||
bool skipPrerelease = true;
|
||||
#ifdef WIN32
|
||||
// dynamic portable detection read .portable file in app dir on Windows
|
||||
QString appDir = QApplication::applicationDirPath();
|
||||
@@ -309,9 +309,9 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
}
|
||||
|
||||
// FIXME: fix repo name
|
||||
m_updater =
|
||||
new ZUpdater("uncor3/libtest", APP_VERSION, "iDescriptor",
|
||||
updateProcedure, isPortable, packageManagerManaged, this);
|
||||
m_updater = new ZUpdater("uncor3/libtest", APP_VERSION, "iDescriptor",
|
||||
updateProcedure, isPortable, packageManagerManaged,
|
||||
skipPrerelease, this);
|
||||
#if defined(PACKAGE_MANAGER_MANAGED) && defined(__linux__)
|
||||
m_updater->setPackageManagerManagedMessage(
|
||||
QString(
|
||||
|
||||
Reference in New Issue
Block a user