ios SKStoreReviewController requestReview方法需要花费时间来显示,应用程序在显示ReviewController之前会卡住

wgmfuz8q  于 2022-11-19  发布在  iOS
关注(0)|答案(5)|浏览(468)

我正在使用StoreKit进行应用内评级。但每当我调用SKStoreReviewController requestReview方法时,应用都会卡住,过了一段时间后,会显示评论视图,然后应用会恢复正常状态。为什么会发生这种情况,是否有任何解决方案?
我有另一个问题,是写评论是必要的(即)我不想打开应用程序商店写评论,我希望用户只是提交评论,并留在应用程序。

wvt8vs2t

wvt8vs2t1#

我 刚刚 也 遇到 了 同样 的 问题 。 但是 ( 至少 就 我 所 知 ) 只是 在 我 的 应用 程序 的 调试 版本 中 。 我 没有 办法 修复 它 。 但是 看 起来 storekit 正在 尝试 连接 到 某 个 苹果 服务 器 , 有时 连接 需要 很 长 时间 。
当 连接 试图 建立 时 , 整个 主 队列 被 冻结 , 没有 任何 东西 通过 。
我 做 了 一些 系统 日志 。 在 某 个 时候 , 我 看到 了 这样 的 情况 :

Mar  4 18:17:37 RetepV StoreKitUIService(CFNetwork)[14436] <Notice>: Task <F9F9DB85-B649-43CC-A3D6-B8E931BF9ADA>.<27> resuming, QOS(0x19)
Mar  4 18:17:37 RetepV StoreKitUIService(CFNetwork)[14436] <Notice>: Task <F9F9DB85-B649-43CC-A3D6-B8E931BF9ADA>.<27> {strength 0, tls 4, ct 0, sub 0, sig 1, ciphers 0, bundle 1, builtin 0}
Mar  4 18:17:37 RetepV StoreKitUIService(CFNetwork)[14436] <Notice>: TIC Enabling TLS [29:0x280586a00]
Mar  4 18:17:37 RetepV StoreKitUIService(CFNetwork)[14436] <Notice>: TIC TCP Conn Start [29:0x280586a00]
Mar  4 18:17:37 RetepV StoreKitUIService(libnetwork.dylib)[14436] <Notice>: [C29 Hostname#68464834:443 tcp, url hash: 11d80191, tls] start
Mar  4 18:17:37 RetepV StoreKitUIService(libnetwork.dylib)[14436] <Notice>: nw_connection_report_state_with_handler_locked [C29] reporting state preparing
Mar  4 18:17:37 RetepV StoreKitUIService(CFNetwork)[14436] <Notice>: Task <F9F9DB85-B649-43CC-A3D6-B8E931BF9ADA>.<27> setting up Connection 29
.

中 的 每 一 个
然后 发生 了 很多 与 连接 C29 无关 的 事情 。 我 第 一 次 看到 C29 再次 弹出 是 在 31 秒 后 :

Mar  4 18:18:08 RetepV StoreKitUIService(libnetwork.dylib)[14436] <Notice>: nw_endpoint_flow_protocol_connected [C29.1 IPv4#9566630f:443 in_progress channel-flow (satisfied)] Transport protocol connected
.

格式
而且 我 已经 观察 到 我 的 应用 程序 冻结 了 大约 30 秒 。
我 不 知道 我 怎么 能 解决 这个 问题 , 这 是 一 个 只有 一 行 的 API 调用 。 这 是 只有 苹果 必须 解决 的 问题 。 一 个 API 函数 可以 冻结 应用 程序 一 段 未知 的 时间 是 不 好 的 。
编辑 :
注意 : 我 的 requestReview 调用 总是 在 主 线程 上 进行 的 。

pzfprimi

pzfprimi2#

我调用SKStoreReviewController requestReview方法,应用程序卡住,一段时间后,查看视图显示,然后应用程序进入正常状态。
在调用requestReview的行上放置一个断点,并确保这发生在主线程上。
我不想打开应用程序商店写评论,我希望用户只是提交评论,并留在应用程序。
根据应用商店的指导方针,现在,你绝对最多使用这一审查,所以没有替代的方法或自定义可用,你可以使用时,提交新的和更新的应用程序现在。
您可以看到here under section 1.1.7
我在此答复下提供了其他信息,这些信息可能也有助于处理审核请求。

lnxxn5zx

lnxxn5zx3#

我发现当requestReview调用坏网络时,应用程序会卡住。在查看视图之前,即使是hitTest方法也不会被调用。可能一个解决方案是不要在坏网络中调用requestReview方法。

r9f1avp5

r9f1avp54#

是的,遇到了同样的问题。这是糟糕的网络。这是不够的检查WIFI连接,例如,但一个还需要检查连接是否快速,并导致互联网。我的用户群有时使用本地WIFI生成的设备共享,例如,它的屏幕。但这并不意味着它会让你上网。所以,解决方案是A)检查WIFI是否可用,B)使用尽可能简单的测试来看看是否可以访问任何东西。我最终看到了我是否可以访问captive.apple.com。不得不对超时间隔设置一个坚韧的限制,现在它似乎工作正常。

moiiocjp

moiiocjp5#

看来苹果已经在iOS 16上修复了这个问题。因为我刚刚收到了苹果的回复:FB 8936712的“这在最近的版本中应该不是问题。请验证并关闭此反馈,如果问题已为您解决。谢谢!”

相关问题