如何通过Fastlane Match指定添加到Provisioning Profile的设备?
当然可以!Fastlane Match完全支持指定特定设备添加到Provisioning Profile中,我给你分享两种实际项目里常用的实现方式:
方法1:通过Match命令参数直接指定设备
- 先准备好目标设备的UDID列表:你可以把UDIDs存到一个文本文件里(比如
devices.txt),每行一个UDID,格式支持UDID 设备名称或者只写UDID;也可以直接在命令里手动列出。 - 执行
match命令时加上--devices参数:# 使用本地文件指定设备列表 match development --devices ./devices.txt # 直接在命令中列出UDID(用逗号分隔) match adhoc --devices "xxxxxx1234567890,xxxxxx0987654321" - 注意:
appstore类型的Provisioning Profile默认不需要绑定设备,这个参数主要用于development和adhoc类型的profile。
方法2:在Fastfile中自定义Lane实现
如果需要更灵活的复用,可以在Fastlane配置文件里封装一个自定义lane:
lane :update_profile_with_target_devices do # 定义需要添加的设备UDID列表 target_device_udids = ["xxxxxx1234567890", "xxxxxx0987654321"] # 执行Match并指定设备 match( type: "development", devices: target_device_udids.join(","), force: true # 强制重新生成profile(如果已有旧profile需要更新) ) end
之后只需要运行fastlane update_profile_with_target_devices,就能自动把指定设备关联到对应的Provisioning Profile了。
额外提醒
- 确保你的Apple Developer账号中已经添加了这些设备,Match只会将已存在的设备关联到profile,不会自动创建新设备。
- 如果要更新已有的profile(比如添加新设备),必须加上
--force参数,否则Match会复用旧的profile,不会做任何修改。 - 这个方式对
adhoc分发场景同样适用,只需要把type参数改成adhoc即可。
内容的提问来源于stack exchange,提问作者Svetlin Stoev
相关产品推荐
相关产品推荐

