问题描述
我使用Flutter开发一款桌面端的App,本地测试没问题后想要上架到TestFlight中,在打包时没有出现问题,但是在上传到商店的过程中出现了错误:The product archive is invalid. The Info.plist must contain a LSApplicationCategoryType key, whose value is the UTI for a valid category. For more details, see "Submitting your Mac apps to the App Store". (ID: b306d472-1fea-4ee2-aee9-97e26f0c472a)
问题原因
这个错误表明应用的 Info.plist 文件中缺少一个名为 LSApplicationCategoryType 的键。这个键的值应该是你的应用所属的类别的 UTI (Uniform Type Identifier)。这是在提交 Mac 应用到 App Store 时必须提供的信息。
解决办法
一.了解LSApplicationCategoryType
LSApplicationCategoryType
是iOS应用程序信息属性列表(Info.plist)中的一个键,用于指定应用程序所属的应用程序类别类型。
以下是常见的LSApplicationCategoryType
值及其含义用途,这些值用于帮助App Store对应用程序进行分类和组织,以便用户能够更轻松地找到他们感兴趣的应用程序。
键值 |
用途 |
---|---|
public.app-category.business | 用于商务类应用程序,如办公套件、生产力工具、商业服务等 |
public.app-category.developer-tools | 用于开发人员工具应用程序,如IDE、编译器、调试器等 |
public.app-category.education | 用于教育类应用程序,如学习工具、教育游戏、在线课程等 |
public.app-category.entertainment | 用于娱乐类应用程序,如音乐、视频、电影、游戏等 |
public.app-category.finance | 用于金融类应用程序,如银行、股票、投资、理财等 |
public.app-category.food-drink | 用于食品和饮料类应用程序,如餐饮服务、食谱、美食分享等 |
public.app-category.games | 用于游戏类应用程序,包括各种类型的游戏,如动作、益智、角色扮演等 |
public.app-category.healthcare-fitness | 用于健康和健身类应用程序,如健康跟踪、运动计划、健康管理等 |
public.app-category.lifestyle | 用于生活方式类应用程序,如时尚、购物、旅行、社交等 |
public.app-category.medical | 用于医疗类应用程序,如健康咨询、医疗服务、药品信息等 |
public.app-category.music | 用于音乐类应用程序,如音乐播放器、音乐制作、音乐分享等 |
public.app-category.navigation | 用于导航类应用程序,如地图、导航、交通信息等 |
public.app-category.news | 用于新闻类应用程序,如新闻阅读、新闻播报、新闻编辑等 |
public.app-category.photography | 用于摄影类应用程序,如相机、图片编辑、照片分享等 |
public.app-category.productivity | 用于生产力类应用程序,如日历、任务管理、备忘录等 |
public.app-category.reference | 用于参考类应用程序,如字典、百科全书、参考手册等 |
public.app-category.social-networking | 用于社交网络类应用程序,如社交平台、聊天应用、社交分享等 |
public.app-category.sports | 用于体育类应用程序,如体育新闻、比赛结果、运动跟踪等 |
public.app-category.travel | 用于旅行类应用程序,如旅行预订、旅游攻略、酒店预订等 |
public.app-category.utilities | 用于实用工具类应用程序,如计算器、单位转换、文件管理器等 |
二.操作步骤
1.打开你的 Flutter 项目的 macos/Runner/Info.plist 文件
2.在文件中添加 LSApplicationCategoryType 键及其对应的值
3.重新构建并打包应用