苹果审核报错:SiriKit无效意图词汇,AppIntentVocabulary.plist格式错误
我之前也碰到过一模一样的苹果审核问题,给你几个具体的排查和修复方向,亲测有效:
先验证plist的语法合法性
用Xcode自带的plist编辑器打开fr.lproj/AppIntentVocabulary.plist,看有没有红色标记的语法错误(比如标签未闭合、键值对不匹配、类型选错)。也可以用命令行工具快速验证:plutil -lint /你的本地路径/fr.lproj/AppIntentVocabulary.plist如果有错误,工具会直接指出具体行号和问题,跟着提示修正就行。
确认根节点类型必须是字典
苹果明确要求这个plist的根节点必须是NSDictionary(Xcode里显示为"Dictionary"类型),不能是数组或其他类型。打开文件后先检查顶部的根节点,确保它是字典,而且所有子项的键值对都符合App Intent的规范(比如键必须是字符串,值的类型要匹配要求)。对比其他语言版本的正确文件
如果你的App有其他语言(比如en.lproj)的同类型文件是正常通过审核的,把法语版本的内容和它逐行对比,看是不是少了必填键、多了无效键,或者值的格式不一致(比如本该是数组的地方写成了字符串)。重新生成plist文件
如果手动修改容易出错,建议通过Xcode的Intent Definition文件重新生成这个词汇表文件,避免本地化过程中手动编辑破坏了XML结构。清理缓存后重新打包
修复完成后,先执行Product > Clean Build Folder清理Xcode缓存,再重新生成归档文件。打包完成后可以右键IPA包选择Show Package Contents,找到对应的fr.lproj目录下的文件,再用plutil工具验证一遍,确保没有问题再提交审核。
小提示:苹果给出的长路径只是他们服务器上的临时路径,你只需要关注自己本地或打包后的
fr.lproj/AppIntentVocabulary.plist文件即可。
内容的提问来源于stack exchange,提问作者NaXir

