世博会上苹果AppTrackingTransparency的问题
Problem with the apple AppTrackingTransparency in expo
我正在尝试将我的应用程序上传到苹果商店,但出现了一些错误,例如:
您的应用使用了 AppTrackingTransparency 框架,但我们在 iOS 15.3.1.[=11 审核时仍然无法找到 App Tracking Transparency 权限请求=]
我正在使用 expo-tracking-transparency
但是当我在模拟器中测试时它可以工作但是当我尝试在 testFlight 中测试时弹出窗口没有出现
我在代码中的使用方式:
useEffect(() => {
hideLoad();
(async () => {
const { status } = await requestTrackingPermissionsAsync();
if (status === 'granted') {
// Analytics.setAnalyticsCollectionEnabled(true);
}
})();
...
},[]);
我把这段代码放在 index.js
找到这个 后,Apple 的文档说它应该放在 applicationDidBecomeActive 中,看来问题是应用程序未激活。
我的解决方法是在请求周围添加超时以等待应用程序加载:
setTimeout(async () => {
const { granted } = await requestTrackingPermissionsAsync();
}, 500);
另一种选择是添加一个事件侦听器,通过 Expo App State 查看应用程序何时处于活动状态,然后调用它。
我正在尝试将我的应用程序上传到苹果商店,但出现了一些错误,例如:
您的应用使用了 AppTrackingTransparency 框架,但我们在 iOS 15.3.1.[=11 审核时仍然无法找到 App Tracking Transparency 权限请求=]
我正在使用 expo-tracking-transparency
但是当我在模拟器中测试时它可以工作但是当我尝试在 testFlight 中测试时弹出窗口没有出现
我在代码中的使用方式:
useEffect(() => {
hideLoad();
(async () => {
const { status } = await requestTrackingPermissionsAsync();
if (status === 'granted') {
// Analytics.setAnalyticsCollectionEnabled(true);
}
})();
...
},[]);
我把这段代码放在 index.js
找到这个
我的解决方法是在请求周围添加超时以等待应用程序加载:
setTimeout(async () => {
const { granted } = await requestTrackingPermissionsAsync();
}, 500);
另一种选择是添加一个事件侦听器,通过 Expo App State 查看应用程序何时处于活动状态,然后调用它。