summaryrefslogtreecommitdiff
path: root/data/uikittools/2_sbreload.diff
diff options
context:
space:
mode:
Diffstat (limited to 'data/uikittools/2_sbreload.diff')
-rw-r--r--data/uikittools/2_sbreload.diff43
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;