Я столкнулся с этим вопросом раньше. Во-первых, здесь происходит то, что Apple предоставил инструмент командной строки, который проверяет двоичный файл, вылавливает исключение, когда выполняет свои проверки. Валидатор фактически не запускает ваше приложение, поэтому любая ошибка, вероятно, не в каком-либо конкретном файле кода, а в одном из файлов метаданных для вашего приложения.
Возможно, ошибка находится в вашем файле info.plist. Когда он обрабатывает это, он ожидает строку для значения, но вместо этого получает словарь из plist.
Когда я столкнулся с проблемой, это была проблема с ключом CFBundleIcons
в информационном plist. Изменение кода, которое было исправлено, указано ниже.
Отсюда:
<key>CFBundleIconFiles</key>
<array>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon.png</string>
<string>[email protected]</string>
</array>
</dict>
</array>
Для этого:
<key>CFBundleIconFiles</key>
<array>
<string>[email protected]</string>
<string>icon.png</string>
</array>
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>[email protected]</string>
<string>icon.png</string>
</array>
</dict>
</dict>
Это ошибка времени выполнения, поэтому он не будет отображаться во время компиляции. Похоже, вы отправляете 'pathExtension' в' NSDictionary'; 'pathExtension' - это метод, определенный для' NSString'. – mipadi
U означает сказать, что в моем коде должно быть какое-то редактирование n нет проблем с App Store ??? – user2704392
Да, это похоже на ошибку программирования. – mipadi