diff options
Diffstat (limited to 'data/uikittools/2_sbreload.diff')
-rw-r--r-- | data/uikittools/2_sbreload.diff | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/data/uikittools/2_sbreload.diff b/data/uikittools/2_sbreload.diff new file mode 100644 index 000000000..88dcd40f4 --- /dev/null +++ b/data/uikittools/2_sbreload.diff @@ -0,0 +1,43 @@ +diff --git a/sbreload.m b/sbreload.m +index e36134f..85b8e17 100644 +--- a/sbreload.m ++++ b/sbreload.m +@@ -49,6 +49,7 @@ + #define FLAG_PLATFORMIZE (1 << 1) + #include <dlfcn.h> + #include <objc/runtime.h> ++#include <xpc/xpc.h> + + @interface FBSSystemService + +(id)sharedService; +@@ -143,16 +144,26 @@ void platformizeme() { + case kCFNumberLongType: + case kCFNumberLongLongType: + CFNumberGetValue(cfr, kCFNumberLongLongType, &n); +- r = launch_data_alloc(LAUNCH_DATA_INTEGER); +- launch_data_set_integer(r, n); ++ if (kCFCoreFoundationVersionNumber >= 1443.00) { ++ r = (launch_data_t)xpc_int64_create(n); ++ } else { ++ // This hangs forever if I call it on new iOS??? ++ r = launch_data_alloc(LAUNCH_DATA_INTEGER); ++ launch_data_set_integer(r, n); ++ } + break; + case kCFNumberFloat32Type: + case kCFNumberFloat64Type: + case kCFNumberFloatType: + case kCFNumberDoubleType: + CFNumberGetValue(cfr, kCFNumberDoubleType, &d); +- r = launch_data_alloc(LAUNCH_DATA_REAL); +- launch_data_set_real(r, d); ++ if (kCFCoreFoundationVersionNumber >= 1443.00) { ++ r = (launch_data_t)xpc_double_create(d); ++ } else { ++ // Not sure if this hangs, but added to be safe ++ r = launch_data_alloc(LAUNCH_DATA_REAL); ++ launch_data_set_real(r, d); ++ } + break; + default: + r = NULL; |