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 #include +#include @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;