Вы `скопировали и вставили расширение стикеров в« Payload / MyApp.app / », но расширение должно находиться в« Payload / MyApp.app / PlugIns ».
MobiVM изначально поддерживает упаковку и подписывание расширений из коробки. И не требуется ручная переупаковка / подписывание.
Но вы должны создать расширение приложения в Xcode в рамках отдельного проекта, а затем ссылаться на расширение в robovm.xml, как показано ниже:
<appExtensions>
<extension profile="3AED05A9-5F1F-4120-9276-11980B9C88EE">OneSignalNotificationServiceExtension</extension>
</appExtensions>
Чтобы построить его в Xcode, просто добавьте цель расширения в пустой проект. Затем создайте его отдельно от командной строки, используя xcode-build
:
xcodebuild -project onesignal.xcodeproj -target OneSignalNotificationServiceExtension -configuration release -sdk iphoneos -arch arm64 -arch armv7 -arch armv7s BUILD_DIR=build BUILD_ROOT=build
xcodebuild -project onesignal.xcodeproj -target OneSignalNotificationServiceExtension -configuration release -sdk iphonesimulator -arch i386 -arch x86_64 BUILD_DIR=build BUILD_ROOT=build
и упаковать в толстый двоичный файл, используя lipo
.
lipo -create -output "OneSignalNotificationServiceExtension.appex/OneSignalNotificationServiceExtension" \
"build/release-iphoneos/OneSignalNotificationServiceExtension.appex/OneSignalNotificationServiceExtension" \
"build/release-iphonesimulator/OneSignalNotificationServiceExtension.appex/OneSignalNotificationServiceExtension"
Также в случае расширения наклеек RoboVM копирует следующие в IPA:
- MessagesApplicationExtensionSupport / MessagesApplicationExtensionStub
- MessagesApplicationSupport / MessagesApplicationStub
Чего может не хватить, когда вы делаете перепаковку вручную.
Для MobiVM существует учебное пособие по использованию расширения приложения, которое предоставляет более подробную информацию о каждом шаге.