From a46cc65b9673cb3f1f4d8206ba98131bbd50f13e Mon Sep 17 00:00:00 2001 From: wwwcg Date: Wed, 3 Jul 2024 11:20:11 +0800 Subject: [PATCH] fix(ios): delay of animationSet not working under new sync mechanism --- ios/sdk/module/animation2/HippyNextAnimationModule.m | 2 ++ ios/sdk/module/netinfo/HippyNetInfoIntenal.m | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ios/sdk/module/animation2/HippyNextAnimationModule.m b/ios/sdk/module/animation2/HippyNextAnimationModule.m index f3eba7865a3..fa0fec3ca36 100644 --- a/ios/sdk/module/animation2/HippyNextAnimationModule.m +++ b/ios/sdk/module/animation2/HippyNextAnimationModule.m @@ -465,7 +465,9 @@ - (void)animatorDidAnimate:(HPOPAnimator *)animator inCustomQueue:(dispatch_queu [strongSelf.groupAnimSyncLock unlock]; NSMutableArray *targetObjects = [NSMutableArray arrayWithCapacity:pendingAnims.count]; + CFTimeInterval now = CACurrentMediaTime(); for (HippyNextAnimation *anim in pendingAnims) { + anim.beginTime = now + anim.delayTime; [targetObjects addObject:anim.targetObject]; } diff --git a/ios/sdk/module/netinfo/HippyNetInfoIntenal.m b/ios/sdk/module/netinfo/HippyNetInfoIntenal.m index e29dfbc6e5e..126b34a8c9f 100644 --- a/ios/sdk/module/netinfo/HippyNetInfoIntenal.m +++ b/ios/sdk/module/netinfo/HippyNetInfoIntenal.m @@ -87,8 +87,11 @@ @implementation HippyNetInfoIntenal static NSString *radioAccessNameIn(CTTelephonyNetworkInfo *networkInfo) { if (@available(iOS 13.0, *)) { - if (networkInfo.dataServiceIdentifier) { - return [networkInfo.serviceCurrentRadioAccessTechnology objectForKey:networkInfo.dataServiceIdentifier]; + // CTTelephonyNetwork has some multi-threading problems for now + // https://developer.apple.com/forums/thread/683362 + NSString *identifier = networkInfo.dataServiceIdentifier; + if (identifier) { + return [networkInfo.serviceCurrentRadioAccessTechnology objectForKey:identifier]; } return nil; } else {