1

如此处所述,我将密钥添加UIFileSharingEnabled到我的应用程序版本信息中,以便我的用户可以将文件保存到我的应用程序文档文件夹中。在测试中效果很好。尝试使用 Application Loader 上传到苹果商店,我得到了一个ERROR ITMS-90039: "Type Mismatch. The value for the Info.plist key UIFileSharingEnabled is not of the required type for that key.. 我用谷歌搜索并发现其他人在哪里遇到问题,但他们的解决方案都没有帮助。以下是我尝试在 Info.plist 中显示此键的方式:

<key>UIFileSharingEnabled</key>
<string>true</string>

<key>UIFileSharingEnabled</key>
<true/>

<key>UIFileSharingEnabled</key>
<string>YES</string>

<key>UIFileSharingEnabled</key>
<YES/>

都具有相同的结果,Application Loader 将ERROR ITMS-90039. 这个键是一个布尔键,对于 Info.plist 中的其他布尔键,它们看起来就像我展示的那个顶部。任何人都有一个示例 Info.plist 与这个关键真的我们也可以比较?

我在 Rad Studio 10.3.2 (C++ Builder) 中构建了我的应用程序。他们主要与手机上的测试版本一起工作。

4

1 回答 1

2

得到它的工作,这是交易:Info.plist文件iOSDevice64\Release夹中的文件仅供您参考,它不是在应用程序加载器中上传到苹果的内容。Info.plist上传的文件位于.ipa 文件中,该文件是您在 Rad Studio 中构建发布版本时创建的,并且已签名,因此您显然无法修改它。

解决方案是编辑 info.plist.TemplateiOS.xml我的应用程序项目文件夹中的那个。构建时,您输入的键Project->Options-Application->Version Info会添加到此。info.plist.TemplateiOS.xml所以,我编辑了这个模板文件,并将正确的密钥表示放在<%ExtraInfoPListKeys%>最后一个之间</dict>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<%VersionInfoPListKeys%>
<%ExtraInfoPListKeys%>
<key>UIFileSharingEnabled</key>
<true/>
</dict>
</plist>

如果您只是将UIFileSharingEnabled密钥放入其中Project->Options-Application->Version Info,它将以Info.plist下面的错误结束,Application Loader 将给出该错误:

 <key>UIFileSharingEnabled</key>
 <string>true</string>

密钥必须如下所示才能在您提交到应用商店的 Release 上工作:

<key>UIFileSharingEnabled</key>
<true/>
于 2019-09-14T13:54:47.283 回答