У меня есть несколько хитрых проблем с тем, чтобы заставить мое приложение 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
Если я пытаюсь добавить фреймворки напрямую, они отображаются серым цветом, поэтому кажется, что онифактически не создаются независимо:
Как я могу убедиться, что фреймворк этого CocoaPod (и, вероятно, другой) будет включен в приложениесвязать, и позволить MSVAPI.framework использовать его?
В качестве альтернативы, как я могу обойти ошибку проверки CFBundleExecutable в начале моего вопроса?
Спасибо!