Как устранить ошибку проверки «Bad CFBundleExecutable» в магазине приложений и инфраструктуре CocoaPods - PullRequest
1 голос
/ 19 июня 2019

У меня есть несколько хитрых проблем с тем, чтобы заставить мое приложение Mac с CocoaPods передать проверку в Mac App Store.Он работает нормально, работает локально, но когда я проверяю, он терпит неудачу с этими ошибками:

App Store Connect Operation Error
Bad Bundle Executable. You must include a valid CFBundleExecutable key in the nested bundle Pods_MSVAPI_macOS [...<stuff>…Contents/Frameworks/MSVAPI.framework/Versions/A/Frameworks/Pods_MSVAPI_macOS.framework] property list file.

App Store Connect Operation Error
Bad CFBundleExecutable. Cannot find executable file that matches the value of CFBundleExecutable in the nested bundle Pods_MSVAPI_macOS [...<stuff>…Contents/Frameworks/MSVAPI.framework/Versions/A/Frameworks/Pods_MSVAPI_macOS.framework] property list file.

(MSVAPI.framework - это моя собственная среда, которую использует мое приложение, которую я намерен сделать кроссплатформенной)

Я прочитал это https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleexecutable и там написано: «Для фреймворка это фреймворк с разделяемой библиотекой, и он должен иметь то же имя, что и фреймворк, но без расширения .framework».Поэтому я попытался поместить «Pods_MSVAPI_macOS», которая является именем фреймворка, без .framework в информационной записи «Исполняемый файл».Неудачно.

Моя следующая попытка исправить это состояла в том, чтобы удалить цель Pods_MSVAPI_macos, потому что это не фактический фреймворк - у меня есть два CocoaPod, которые я использую, каждый из которых создает свой собственный фреймворк.Это сработало для прохождения проверки.Но когда я пришел, чтобы распространять приложение, которое я попробовал локально, оно зависало с «ресурсом не найден»:

Dyld Error Message:
  Library not loaded: @rpath/<podname>.framework/Versions/A/<podname>
  Referenced from: /Applications/<appname>.app/Contents/Frameworks/MSVAPI.framework/Versions/A/MSVAPI
  Reason: image not found

Если я пытаюсь добавить фреймворки напрямую, они отображаются серым цветом, поэтому кажется, что онифактически не создаются независимо:

enter image description here

Как я могу убедиться, что фреймворк этого CocoaPod (и, вероятно, другой) будет включен в приложениесвязать, и позволить MSVAPI.framework использовать его?

В качестве альтернативы, как я могу обойти ошибку проверки CFBundleExecutable в начале моего вопроса?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...