我成功地上传了一个带有多个扩展的应用程序到Appstore for iOS,但是当我尝试上传同一个应用程序到Mac AppStore(一个Mac Catalyst应用程序)时,我在两个扩展上从Xcode得到以下错误
错误ITMS-90355:“缺少信息plist值。在www.example.com的扩展Info.plist中未找到NSExtensionPrincipalClass的值MyApp.app/Contents/PlugIns/MyExtension.appex“
这些扩展是一个ShareExtension和一个ActionExtension,它们都有一个脚本文件,所以如果我在Info.plist文件中设置NSExtensionPrincipalClass键,我会在控制台中得到以下消息
无效配置:必须在扩展的Info.plist文件中指定NSExtensionMainStoryboard或NSExtensionPrincipalClass,但不能同时指定两者。
当然,扩展界面不会出现,什么都不起作用
有人知道怎么解决吗?
或者,也可以只在Info.plist文件中设置NSExtensionPrincipalClass键,然后以编程方式调用故事板文件?
5条答案
按热度按时间y53ybaqx1#
等待苹果的回答,我已经想出了一个解决方案,包括 Package 故事板到一个新的AUViewcontroller。
MyXib_Wrapper.h
MyXib_Wrapper.m
bq9c1y662#
从Alessandro Petrolati的变通方案中获得灵感,我想我找到了一个更简单的解决方案,至少在我的情况下,在两个扩展中都能很好地工作。
将此init方法添加到.m类文件中
这似乎太容易成为事实了。。
包验证成功,我终于成功地将应用程序上传到AppStore Connect,没有任何问题!
我要做的就是在直播前查一下最新的细节……
试着相信!
让我知道你的印象
ttisahbt3#
现在苹果已经解决了这个问题,我能够用扩展加载应用程序而没有问题。
[更新:问题未解决-查看评论]
htrmnn0y4#
我的方法是只使用一个简单的VC加载到代码中,然后VC容器实际上呈现我们想要的VC(从故事板加载)
info.plist包含:
然后我的PreviewVCLoader类是
u0njafvf5#
在我的扩展中,我使用的是故事板,可以使用NSExtensionPrincipalClass而不是NSExtensionMainStoryboard吗?与此同时,我给苹果公司发了一份反馈