Ключ UIFileSharingEnabled в Info.plist
Я добавил ключ UIFileSharingEnabled
к информации о версии моего приложения, как описано здесь, чтобы мои пользователи могли сохранять файлы в папке документов моих приложений. Отлично работает в тестировании. Пытался загрузить в Apple Store с помощью 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/>
У всех одинаковый результат, загрузчик приложений отключает ERROR ITMS-90039
. Этот ключ является логическим ключом, а для других булевых ключей в Info.plist они просто выглядят как верхний, который я показываю. У кого-нибудь есть образец Info.plist с этим истинным ключом, который мы тоже можем сравнить?
Я создал свое приложение в Rad Studio 10.3.2 (C++ Builder). Ключ работает с тестовыми сборками на телефоне.
1 ответ
Получилось, и вот сделка: Info.plist
файл в iOSDevice64\Release
Папка предназначена только для вашей информации, это не то, что загружается в Apple в загрузчике приложений. ВInfo.plist
который загружается, находится внутри файла.ipa, который создается при создании версии Release в 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
как показано ниже, что неверно, и загрузчик приложений выдаст эту ошибку:
<key>UIFileSharingEnabled</key>
<string>true</string>
Для работы с выпуском, который вы отправляете в магазин приложений, ключ должен быть таким, как показано ниже:
<key>UIFileSharingEnabled</key>
<true/>