ERROR ITMS-90360 已配置NSExtensionPointIdentifier仍被App Store驳回如何解决
ITMS-90360 报错解决方案
你可以按以下顺序排查解决:
- 首先校验最终打包的ipa内的plist是否真的包含对应配置
导出ipa后右键选择「显示包内容」,依次进入PlugIns/OneSignalNotificationServiceExtension.appex目录,打开内部的Info.plist搜索NSExtensionPointIdentifier字段,确认字段存在且值为com.apple.usernotifications.service。如果最终打包的文件里没有该字段,说明Xcode构建时的配置替换出了问题。 - 匹配扩展与主App的版本号、构建号
你当前扩展的plist里版本号是写死的1.0、构建号写死的1,如果和主App的版本号、构建号不一致,会触发App Store校验异常,哪怕配置了对应字段也会报缺失错误。把扩展plist里的CFBundleShortVersionString、CFBundleVersion的值改为和主App完全一致的配置,推荐统一用Xcode的变量,例如$(MARKETING_VERSION)和$(CURRENT_PROJECT_VERSION),不要写死固定值。 - 修复plist文件的语法错误
你贴出的plist源码中DOCTYPE声明行有多余空格:"-//Apple//DTD PLIST 1.0//EN"里PLIST和1.0之间多了4个空格,不符合标准plist格式规范,会导致App Store的校验工具解析plist失败,无法读取到内部的配置字段。将该行改为标准声明即可:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - 检查扩展target的可视化配置
打开Xcode,选中OneSignalNotificationServiceExtension对应的target,切换到「Info」标签页,下拉找到NSExtension配置项,可视化确认NSExtensionPointIdentifier的值配置正确,避免源码plist和Xcode的配置不同步。 - 清理缓存重新构建
按下Shift+Command+K清理Xcode构建缓存,删除~/Library/Developer/Xcode/DerivedData目录下的对应项目缓存,再重新打包提交。
内容的提问来源于stack exchange,提问作者yendis
相关产品推荐
相关产品推荐

