如果我使用 UIApplication.value(forKeyPath: #keyPath(UIApplication.shared)) as 作为,我的申请会被拒绝吗?UIApplication

will my application be rejected if i use UIApplication.value(forKeyPath: #keyPath(UIApplication.shared)) as? UIApplication

提问人:Amit Saxena 提问时间:7/25/2023 更新时间:7/25/2023 访问量:66

问:

我可以在下面使用吗?

let app = UIApplication.value(forKeyPath: #keyPath(UIApplication.shared)) as? UIApplication

对于应用商店构建而不是

let app = UIApplication.shared

在我的应用程序中,我使用 let app = UIApplication.value(forKeyPath: #keyPath(UIApplication.shared)) as?UIApplication 在我的 SDK 中的某些地方,但在将我的 SDK 集成到通知扩展中后,我发现编译问题,因为 UIApplication.shared 不可用于扩展。我将UIApplication.shared替换为UIApplication.value(forKeyPath: #keyPath(UIApplication.shared)) as?UIApplication。现在我可以成功构建我的应用程序了。

iOS Swift Cocoa-Touch UI应用

评论

0赞 ankitjaiswal 8/1/2023
嗨,阿米特,是的,你可以使用它,为什么不呢。我在苹果文档中找到了这个文档,它没有违规:developer.apple.com/documentation/objectivec/nsobject/......
0赞 Amit Saxena 8/1/2023
我有疑问,因为 UIApplication.shared 在通知扩展中不可用,如果它不可用,则使用我们试图实现的关键路径。错误 UIApplication.shared 不可用于扩展,使用上述解决方案,我们正在尝试使规则变紫化。

答: 暂无答案