世博会上苹果 AppTrackingTransparency 出现问题

Raf*_*ias 5 ios react-native expo

我尝试在苹果商店上传我的应用程序,但出现一些错误,例如:

您的应用使用了 AppTrackingTransparency 框架,但在 iOS 15.3.1 上审核时我们仍然无法找到 App Tracking Transparency 权限请求。

我正在使用博览会跟踪透明度

但是当我在模拟器中测试时它可以工作但是当我尝试在 testFlight 中测试时弹出窗口不会出现

我如何在代码中使用:

useEffect(() => {
    hideLoad();
    (async () => {
      const { status } = await requestTrackingPermissionsAsync();
      if (status === 'granted') {
        // Analytics.setAnalyticsCollectionEnabled(true);
      }
    })();
 ...
},[]);
Run Code Online (Sandbox Code Playgroud)

我把这段代码放在index.js中

小智 4

找到这个答案后,苹果的文档说它应该放在 applicationDidBecomeActive 中,问题似乎是该应用程序未处于活动状态。

我的解决方法是在请求周围添加超时,以等待应用程序加载:

setTimeout(async () => {
  const { granted } = await requestTrackingPermissionsAsync();
}, 500);
Run Code Online (Sandbox Code Playgroud)

另一种选择是添加一个事件侦听器,并通过Expo App State查看应用程序何时处于活动状态,然后调用它。