iOS URL Scheme生成器 - 在线生成App深度链接配置
什么是iOS URL Scheme生成器?
iOS URL Scheme生成器是一款在线工具,帮助开发者快速生成iOS应用的自定义URL Scheme和Universal Link配置。支持生成Info.plist配置代码、apple-app-site-association文件和测试链接,实现从网页或其它App跳转到指定App的特定页面。
点击网页上的"打开App"按钮就能直接跳转到App内对应页面,这种丝滑体验的背后就是URL Scheme和Universal Link。但配置过程涉及Info.plist、apple-app-site-association等多个文件,稍有不慎就会跳转失败。这个生成器帮你一步到位。
URL Scheme与Universal Link
- 自定义URL Scheme:以自定义协议名开头(如myapp://),配置简单但可能被其他App抢占
- Universal Link:使用标准https链接,通过apple-app-site-association文件验证,更安全可靠
- Deep Link:通用术语,指跳转到App内特定页面的链接,包含上述两种方式
- Deferred Deep Link:延迟深度链接,App未安装时先引导安装,安装后自动跳转到目标页面
Apple从iOS 9开始推荐使用Universal Link替代自定义URL Scheme,因为它更安全、体验更好,且不会被其他App抢占。
生成内容
Info.plist配置
生成CFBundleURLTypes配置代码,直接复制到Xcode项目中
AASA文件
生成apple-app-site-association JSON文件,部署到HTTPS服务器
测试链接
生成可直接点击测试的Scheme链接和Universal Link
使用步骤
- 输入你的App Bundle ID(如com.example.myapp)
- 设置URL Scheme名称(如myapp)
- 如需Universal Link,填写关联域名(如app.example.com)
- 配置路径映射规则(如/product/:id对应商品详情页)
- 生成配置代码,复制到项目中并部署AASA文件
典型应用场景
- 营销推广:短信、邮件中的链接直接跳转到App内的活动页面
- 社交分享:分享内容链接,接收方点击直接在App中打开
- 扫码跳转:扫描二维码直接跳转到App对应功能
- 第三方登录:OAuth回调跳转回App完成授权
- App间协作:从其他App跳转到你的App执行特定操作
技术原理
自定义URL Scheme通过在Info.plist中声明CFBundleURLSchemes来注册协议名。当用户点击以该协议名开头的链接时,iOS会启动对应App并在AppDelegate中回调处理。
Universal Link则需要在HTTPS服务器根目录的.well-known/路径下部署apple-app-site-association文件,iOS在安装App时会自动下载并验证该文件,之后点击匹配的https链接即可直接打开App,无需中间确认弹窗。
常见问题
URL Scheme和Universal Link选哪个?
优先使用Universal Link。它更安全(不会被其他App抢占)、体验更好(无需确认弹窗)、且Apple官方推荐。URL Scheme适合快速验证或不需要HTTPS服务器的场景。
AASA文件部署后不生效怎么办?
检查以下几点:1)文件必须通过HTTPS访问;2)Content-Type应为application/json;3)文件路径为.well-known/apple-app-site-association(无.json后缀);4)重新安装App触发iOS重新获取AASA文件。
URL Scheme被其他App抢占了怎么办?
这是自定义URL Scheme的已知缺陷。如果多个App注册了相同的Scheme,iOS会按某种策略选择其中一个打开。解决方案是改用Universal Link,或使用足够独特的Scheme名称(如使用反向域名格式)。
支持Android的App Link吗?
本工具主要针对iOS平台。Android的App Link使用类似的机制(assetlinks.json文件),但配置格式不同。后续版本会考虑支持Android配置生成。
如何测试URL Scheme是否配置成功?
可以在Safari地址栏直接输入Scheme链接(如myapp://test)回车测试,也可以使用xcrun simctl openurl命令在模拟器中测试。工具生成的测试链接也可以直接点击验证。
Universal Link在微信中能用吗?
微信会拦截Universal Link跳转。在微信内需要使用微信开放标签或引导用户复制链接到Safari打开。这是微信平台的限制,不是配置问题。