ios - iOS 应用程序检索其 URL 方案的最佳方式是什么?
问题描述
如果您的应用程序具有不同的目标和相应的不同 URL 方案(例如blackbox://meta
, blackbox-alpha://meta
),您可能会发现自己希望在运行时动态查找当前应用程序的方案。你怎么能那样做?
以下不起作用:
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleURLSchemes"]
解决方案
URL 方案数组实际上存储在URL 类型数组下。假设您只有一种 URL 类型,并且列出的第一个方案是您所追求的方案:
Objective-C
NSArray *urlTypes = [NSBundle.mainBundle objectForInfoDictionaryKey:@"CFBundleURLTypes"];
NSArray *urlSchemes = [urlTypes firstObject][@"CFBundleURLSchemes"];
NSString *urlScheme = [urlSchemes firstObject];
迅速
let urlTypes = NSBundle.mainBundle.object(forInfoDictionaryKey: "CFBundleURLTypes") as! [[String:Any]]
let urlSchemes = urlTypes.first?["CFBundleURLSchemes"]! as! [String]
let urlScheme2 = urlSchemes.first
推荐阅读
- php - 在 Laravel 8 中运行多个 PHPUnit 测试时出错
- nginx - nginx 可以通过哪些方式向我的应用服务器发送请求?
- java - wsdl2java 生成带有长名称的 java 类
- python - Python Scrapy OSError: [WinError 123] 文件名、目录名或卷标语法不正确:
- c++ - cv::Mat::clone() 是否比分配由 cv::Mat::zeros() 创建的矩阵更有效?
- python - 打破 try-except 块
- java - Maven TestNG 测试未从命令行运行
- vba - 使用文件名的特定字段将每条记录打印到单独的 pdf 文件
- odoo - Odoo 删除销售订单报告的页眉和页脚
- python - 使用 Pandas .to_html() 时,我可以使用自定义格式器应用 background_gradient 颜色图吗?