Info.plist: данные не могут быть прочитаны, потому что они не в правильном формате

Я пытался протестировать свой проект (игра bulidbox) на iphone, экспортировать проект, открыть на xcode, и когда я попытался запустить его, появляется ошибка, как показано ниже:

ошибка: не удалось разобрать содержимое "/project/ios/BBplayer/Info.plist": данные не могут быть прочитаны, поскольку они имеют неправильный формат.

Я просмотрел прошлые вопросы Stackru, нашел около 7 постов в тех же вопросах и до сих пор не смог решить эту проблему

Есть ли способ решить эту проблему?

xcode 10;

содержимое файла info.plist, открытого в виде исходного кода

<?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>
    <key>CFBundleDisplayName</key>
    <string>en</string>
    <string>Ring & Wall</string>
    <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIconName</key>
    <string>AppIcon</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>armv7</string>
</array>
<key>UIRequiresFullScreen</key>
<true/>
<key>UIStatusBarHidden</key>
<true/>
<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
</plist>

2 ответа

Решение

Похоже, вы пытались отредактировать ваш Info.plist в качестве исходного кода. Не. Вы не знаете как, и вы, скорее всего, испортите формат и добавите в Info.plist.

В этом случае у вас есть две ошибки:

<key>CFBundleDisplayName</key>
<string>en</string>
<string>Ring & Wall</string>

1

Вы не можете иметь два <string> записи после <key> запись.

2

Вы не можете использовать амперсанд в XML. Ты имеешь в виду <string>Ring &amp; Wall</string>,


Я повторяю, ничего этого не произошло бы, если бы вы просто держали руки подальше от необработанного XML и позволяли редактору plist выполнять свою работу.

Ошибка в этой строке

<String>Ring & Wall</String>

удалить и / или изменить строку Ring & Wall

моя плохая, это глупая ошибка:(

спасибо @matt

Другие вопросы по тегам