向App Store提交构建包时,已配置仍无法禁用iPad支持怎么办
检查Info.plist中的
UIDeviceFamily字段:
右键打开项目的Info.plist,选择Show Raw Keys/Values,确认UIDeviceFamily是仅包含1的数组(1代表iPhone),如果存在2(iPad)则直接删除。部分情况下项目设置的修改未同步到plist文件,手动修正即可。确认Scheme的归档配置:
打开Xcode的Scheme编辑(Product > Scheme > Edit Scheme),选择Archive选项,检查Build Configuration是否为你修改过设备设置的版本(比如Release),避免因误选配置导致使用旧的设备支持规则。检查扩展Target的设备设置:
如果App包含Widget、Share Extension等扩展目标,每个扩展的TARGETED_DEVICE_FAMILY都要单独设置为1。扩展的设备支持配置会影响整个App在App Store的显示,这是容易忽略的点。验证归档包的实际设备支持信息:
归档完成后,在Organizer中右键选择Show in Finder,右键归档包显示包内容,找到Products/Applications/你的App.app,右键显示包内容后查看Info.plist的UIDeviceFamily;也可以用命令行快速验证:plutil -p /路径/到/你的App.app/Info.plist | grep UIDeviceFamily确认此处仅包含iPhone配置后,再提交到App Store。
检查App Store Connect的版本设置:
进入App Store Connect对应版本的“App Store”标签页,查看“Supported Devices”选项,确认是否仅勾选了iPhone。部分情况下是创建新版本时误勾选了iPad支持,手动取消即可。
内容的提问来源于stack exchange,提问作者MOrz

