返回

iOS开发的Widget编程的后续篇章:告别ITMS-90626错误

IOS

在上一篇文章中,我分享了iOS开发中Widget编程的入门知识以及一个使用SwiftUI构建的简单TimeLine小组件的开发过程。今天,我将继续探讨Widget编程,分享我在开发过程中遇到的一个小问题及其解决方案。

ITMS-90626错误:

在将我的TimeLine小组件提交到App Store Connect时,我遇到了一个令人困惑的错误:ITMS-90626。这个错误提示“小组件不包含有效的默认意图。”起初,我百思不得其解,因为我的小组件确实包含了一个默认意图。经过一番研究,我终于找到了解决方案。

解决方案:

原来,苹果要求小组件必须包含一个名为“run”的默认意图,并且这个意图必须具有至少一个参数。在TimeLine小组件中,我使用的是名为“open”的默认意图,并且没有参数。为了解决这个问题,我将默认意图的名称改为“run”,并添加了一个参数“id”。修改后的代码如下:

struct TimeLineWidget: Widget {
    let kind: String = "TimeLineWidget"

    var body: some WidgetConfiguration {
        StaticConfiguration(kind: kind, provider: Provider()) { entry in
            TimeLineView(entry: entry)
        }
        .configurationDisplayName("TimeLine Widget")
        .description("A timeline of your recent posts.")
        .supportedFamilies([.systemSmall])
        .defaultIntent(Intent(identifier: "run", parameters: [IntentParameter(identifier: "id", type: .string)]))
    }
}

修改完成后,我再次提交了我的TimeLine小组件,这次顺利通过了审核。因此,如果大家在开发Widget时也遇到了ITMS-90626错误,可以尝试将默认意图的名称改为“run”并添加一个参数。

总结:

通过这次经历,我学到了一个宝贵的经验:在开发iOS应用时,一定要注意苹果的审核要求。苹果的审核流程非常严格,任何违反苹果开发者协议或App Store审核指南的行为都可能导致应用被拒绝。因此,在提交应用之前,一定要仔细检查应用是否符合苹果的审核要求。

我希望这篇文章对大家有所帮助。如果你有任何关于iOS开发或Widget编程的问题,欢迎随时与我联系。