Add deviceids.h

Makes identifying models easier for our helpers in the Discord. Also add ASU fallback for migrate directory function.
This commit is contained in:
Eilionoir Tunnicliff authored and GitHub committed 2023-01-19 10:47:01 -05:00
1 parent 8577636a4e
commit 21aa26bbf8
3 files changed
+134 -8

No files matched your search

+111
View File
@@ -0,0 +1,111 @@
//
// DeviceIdentifiers.h
// Labradorite
//
// Created by Eilionoir Tunnicliff on 9/26/22.
//
#import <Foundation/Foundation.h>
NSDictionary *deviceid_dict = @{
@"iPhone8,1" : @"iPhone 6s",
@"iPhone8,2" : @"iPhone 6s Plus",
@"iPhone8,4" : @"iPhone SE (1st generation)",
@"iPhone9,1" : @"iPhone 7",
@"iPhone9,2" : @"iPhone 7 Plus",
@"iPhone9,3" : @"iPhone 7",
@"iPhone9,4" : @"iPhone 7 Plus",
@"iPhone10,1" : @"iPhone 8",
@"iPhone10,2" : @"iPhone 8 Plus",
@"iPhone10,3" : @"iPhone X",
@"iPhone10,4" : @"iPhone 8",
@"iPhone10,5" : @"iPhone 8 Plus",
@"iPhone10,6" : @"iPhone X",
@"iPhone11,2" : @"iPhone XS",
@"iPhone11,4" : @"iPhone XS Max",
@"iPhone11,6" : @"iPhone XS Max",
@"iPhone11,8" : @"iPhone XR",
@"iPhone12,1" : @"iPhone 11",
@"iPhone12,3" : @"iPhone 11 Pro",
@"iPhone12,5" : @"iPhone 11 Pro Max",
@"iPhone12,8" : @"iPhone SE (2nd generation)",
@"iPhone13,1" : @"iPhone 12 mini",
@"iPhone13,2" : @"iPhone 12",
@"iPhone13,3" : @"iPhone 12 Pro",
@"iPhone13,4" : @"iPhone 12 Pro Max",
@"iPhone14,2" : @"iPhone 13 Pro",
@"iPhone14,3" : @"iPhone 13 Pro Max",
@"iPhone14,4" : @"iPhone 13 mini",
@"iPhone14,5" : @"iPhone 13",
@"iPhone14,6" : @"iPhone SE (3rd generation)",
@"iPhone14,7" : @"iPhone 14",
@"iPhone14,8" : @"iPhone 14 Plus",
@"iPhone15,2" : @"iPhone 14 Pro",
@"iPhone15,3" : @"iPhone 14 Pro Max",
@"iPad5,1" : @"iPad mini (4th generation)",
@"iPad5,2" : @"iPad mini (4th generation)",
@"iPad5,3" : @"iPad Air (2nd generation)",
@"iPad5,4" : @"iPad Air (2nd generation)",
@"iPad6,3" : @"iPad Pro (9.7-inch)",
@"iPad6,4" : @"iPad Pro (9.7-inch)",
@"iPad6,7" : @"iPad Pro (12.9-inch, 1st generation)",
@"iPad6,8" : @"iPad Pro (12.9-inch, 1st generation)",
@"iPad6,11" : @"iPad (5th generation)",
@"iPad6,12" : @"iPad (5th generation)",
@"iPad7,1" : @"iPad Pro (12.9-inch, 2nd generation)",
@"iPad7,2" : @"iPad Pro (12.9-inch, 2nd generation)",
@"iPad7,3" : @"iPad Pro (10.5-inch)",
@"iPad7,4" : @"iPad Pro (10.5-inch)",
@"iPad7,5" : @"iPad (6th generation)",
@"iPad7,6" : @"iPad (6th generation)",
@"iPad7,11" : @"iPad (7th generation)",
@"iPad7,12" : @"iPad (7th generation)",
@"iPad8,1" : @"iPad Pro (11-inch, 1st generation)",
@"iPad8,2" : @"iPad Pro (11-inch, 1st generation)",
@"iPad8,3" : @"iPad Pro (11-inch, 1st generation)",
@"iPad8,4" : @"iPad Pro (11-inch, 1st generation)",
@"iPad8,5" : @"iPad Pro (12.9-inch, 3rd generation)",
@"iPad8,6" : @"iPad Pro (12.9-inch, 3rd generation)",
@"iPad8,7" : @"iPad Pro (12.9-inch, 3rd generation)",
@"iPad8,8" : @"iPad Pro (12.9-inch, 3rd generation)",
@"iPad8,9" : @"iPad Pro (11-inch, 2nd generation)",
@"iPad8,10" : @"iPad Pro (11-inch, 2nd generation)",
@"iPad8,11" : @"iPad Pro (12.9-inch, 4th generation)",
@"iPad8,12" : @"iPad Pro (12.9-inch, 4th generation)",
@"iPad11,1" : @"iPad mini (5th generation)",
@"iPad11,2" : @"iPad mini (5th generation)",
@"iPad11,3" : @"iPad Air (3rd generation)",
@"iPad11,4" : @"iPad Air (3rd generation)",
@"iPad11,6" : @"iPad (8th generation)",
@"iPad11,7" : @"iPad (8th generation)",
@"iPad12,1" : @"iPad (9th generation)",
@"iPad12,2" : @"iPad (9th generation)",
@"iPad13,1" : @"iPad Air (4th generation)",
@"iPad13,2" : @"iPad Air (4th generation)",
@"iPad13,4" : @"iPad Pro (11-inch, 3rd generation)",
@"iPad13,5" : @"iPad Pro (11-inch, 3rd generation)",
@"iPad13,6" : @"iPad Pro (11-inch, 3rd generation)",
@"iPad13,7" : @"iPad Pro (11-inch, 3rd generation)",
@"iPad13,8" : @"iPad Pro (12.9-inch, 5th generation)",
@"iPad13,9" : @"iPad Pro (12.9-inch, 5th generation)",
@"iPad13,10" : @"iPad Pro (12.9-inch, 5th generation)",
@"iPad13,11" : @"iPad Pro (12.9-inch, 5th generation)",
@"iPad13,16" : @"iPad Air (5th generation)",
@"iPad13,17" : @"iPad Air (5th generation)",
@"iPad13,18" : @"iPad (10th generation)",
@"iPad13,19" : @"iPad (10th generation)",
@"iPad14,1" : @"iPad mini (6th generation)",
@"iPad14,2" : @"iPad mini (6th generation)",
@"iPad14,3" : @"iPad Pro (11-inch, 4th generation)",
@"iPad14,4" : @"iPad Pro (11-inch, 4th generation)",
@"iPad14,5" : @"iPad Pro (12.9-inch, 6th generation)",
@"iPad14,6" : @"iPad Pro (12.9-inch, 6th generation)",
@"iPod9,1" : @"iPod touch (7th generation)",
@"AppleTV5,3" : @"Apple TV HD (4th generation)",
@"AppleTV6,2" : @"Apple TV 4K (1st generation)",
@"AppleTV11,1" : @"Apple TV 4K (2nd generation)",
@"AppleTV14,1" : @"Apple TV 4K (3rd generation)"
};
+20 -8
View File
@@ -23,6 +23,7 @@
#include "JavaLauncher.h"
#include "utils.h"
#include "codesign.h"
#include "deviceids.h"
#define CS_PLATFORM_BINARY 0x4000000
#define PT_TRACE_ME 0
@@ -99,18 +100,25 @@ void init_checkForJailbreak() {
}
void init_logDeviceAndVer(char *argument) {
// Hardware + Software
struct utsname systemInfo;
uname(&systemInfo);
const char *deviceHardware = systemInfo.machine;
const char *deviceSoftware = [[UIDevice currentDevice] systemVersion].UTF8String;
// PojavLauncher version
NSLog(@"[Pre-Init] PojavLauncher version: %s-%s, branch: %s, commit: %s",
[NSBundle.mainBundle.infoDictionary[@"CFBundleShortVersionString"] UTF8String],
CONFIG_TYPE, CONFIG_BRANCH, CONFIG_COMMIT);
setenv("POJAV_DETECTEDHW", deviceHardware, 1);
// Hardware + Software
struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceHardware = [NSString stringWithFormat:@"%s", systemInfo.machine];
const char *deviceSoftware = [[UIDevice currentDevice] systemVersion].UTF8String;
NSString *friendlyName = [deviceid_dict objectForKey:deviceHardware];
if(friendlyName != nil) {
setenv("POJAV_DETECTEDHW", friendlyName.UTF8String, 1);
} else {
setenv("POJAV_DETECTEDHW", deviceHardware.UTF8String, 1);
NSLog(@"[Pre-Init] Device model not recognized. Use appledb.dev to identify it!");
}
setenv("POJAV_DETECTEDSW", deviceSoftware, 1);
NSString *tsPath = [NSString stringWithFormat:@"%s/../_TrollStore", getenv("BUNDLE_PATH")];
@@ -140,7 +148,11 @@ void init_logDeviceAndVer(char *argument) {
void init_migrateDirIfNecessary() {
NSString *oldDir = @"/usr/share/pojavlauncher";
if ([fm fileExistsAtPath:oldDir]) {
NSString *newDir = [NSString stringWithFormat:@"%s/Documents", getenv("HOME")];
if ([@(getenv("HOME")) isEqualToString:@"/var/mobile"]) {
NSString *newDir = [NSString stringWithFormat:@"%s/Documents/PojavLauncher", getenv("HOME")];
} else {
NSString *newDir = [NSString stringWithFormat:@"%s/Documents", getenv("HOME")];
}
[fm moveItemAtPath:oldDir toPath:newDir error:nil];
[fm removeItemAtPath:oldDir error:nil];
}
+3
View File
@@ -20,6 +20,9 @@
# define CONFIG_COMMIT "unspecified"
#endif
// Remove date + time from NSLog, unneeded
#define NSLog(...) {}
// Control button actions
#define ACTION_DOWN 0
#define ACTION_UP 1