此bundle无效 - info.plist文件/payload/myappname.app/sticker pack.st



希望你一切都好。我想在我的应用中添加iMessage贴纸。我的应用使用libgdx/robovm在Android Studio中创建。因此,我无法将贴纸扩展直接添加到我的项目中。与Robovm一起建造后,我已签署了Android Studio的输出。我已经在XCode中使用我的应用程序捆绑ID创建了一个独立项目,添加了贴纸扩展名,然后完成了以下内容。

在终端中

  1. 使用" unzip myapp.ipa"解开.IPA。
  2. 使用" rm -rf pareload/myapp.app/_codesignature/"
  3. 删除_codesignature文件夹
  4. 复制并将贴纸扩展到"有效载荷/myapp.app/"
  5. 使用" cp mydistributionprofile.mobileprovision paryload/myapp.app.app/embedded.mobileprovision"复制并粘贴了供应配置文件
  6. 再次使用" codesign -f -s" iPhone发行:mycompany inc' -entitlements entitlements.plist有效载荷/myapp.app'
  7. 使用" zip -qr myResignedapp.ipa paryload/".

之后,我尝试通过xcode通过applcationloader上传myResignedApp.ipa,并且在上传时没有任何错误。

问题是我收到了拒绝电子邮件,他们说了以下内容,

此捆绑包无效 - info.plist文件/payload/myapp.app.app/sticker pack.stickerpack缺少或无法读取。

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>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>new_stickers</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</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>XPC!</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>NSExtension</key>
<dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.message-payload-provider</string>
    <key>NSExtensionPrincipalClass</key>
    <string>StickerBrowserViewController</string>
</dict>

有什么建议我做错了什么?非常感谢。

您复制并粘贴了贴纸扩展名为"有效载荷/myapp.app/",但扩展名必须位于"有效载荷/myapp.app/插件"中。

机动范围内支持包装和签名扩展名。并且不需要手动重新包装/签名。

但是,您必须在独立项目中xcode中构建应用程序扩展名,然后在robovm.xml中引用扩展名,例如bellow:

 <appExtensions>
     <extension profile="3AED05A9-5F1F-4120-9276-11980B9C88EE">OneSignalNotificationServiceExtension</extension>
 </appExtensions>

以xcode seasies构建它是将扩展目标添加到空项目中。然后使用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:

  • MessagsApplicationExtensionsupport/MessagsApplicationExtensionStub
  • MessagsApplicationsupport/MessagsApplicationStub

手动重新包装时可能会缺少。

有一个用于Mobivm的教程如何使用应用程序扩展名,该教程提供了有关每个步骤的更多详细信息。

相关内容

最新更新