diff options
author | Sam Bingner <sam@bingner.com> | 2019-10-23 23:26:45 -1000 |
---|---|---|
committer | Sam Bingner <sam@bingner.com> | 2019-10-23 23:26:45 -1000 |
commit | 907d20416333ce7a16953cafc2b938a1758f2bee (patch) | |
tree | d2449ab401c4092181faa115446d95721c8baeb3 /data/uikittools/2_sbreload.diff | |
parent | 0bcec9f6b28c56aa9333bf78dcd322c25afb858e (diff) |
Update sbreload to avoid strange apple(?) bug
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; |