【发布时间】:2019-08-10 11:02:05
【问题描述】:
希望你一切都好。 我想将 iMessage 贴纸添加到我的应用程序中。 我使用 LibGDX/RoboVM 在 Android Studio 中创建的应用程序。所以,我不能直接将 Stickers 扩展添加到我的项目中。在使用 RoboVM 构建后,我已将 .ipa 签名为 Android Studio 的输出。 我在 Xcode 中使用我的应用程序包 ID 创建了一个独立项目,添加了 Stickers 扩展,然后完成了以下操作。
在终端中
- 使用“unzip MyApp.ipa”解压 .ipa。
- 使用“rm -rf Payload/MyApp.app/_CodeSignature/”删除了 _CodeSignature 文件夹
- 将 Stickers 扩展复制并粘贴到“Payload/MyApp.app/”
- 使用“cp MyDistributionProfile.mobileprovision Payload/MyApp.app/embedded.mobileprovision”复制并粘贴了配置文件
- 使用“codesign -f -s "iPhone Distribution: MyCompany INC" --entitlements Entitlements.plist Payload/MyApp.app”再次签名
- 使用“zip -qr MyResignedApp.ipa Payload/”压缩。
在此之后,我尝试从 XCode 通过 ApplcationLoader 上传 MyResignedApp.ipa,并且在上传过程中没有收到任何错误。
问题是我收到了拒绝邮件,他们说如下,
此捆绑包无效 - /Payload/MyApp.app/Sticker Pack.stickerpack 的 Info.plist 文件丢失或无法读取。
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>
任何建议我做错了什么? 非常感谢。
【问题讨论】:
标签: ios xcode imessage imessage-extension ios-stickers