【问题标题】:How to fix: 'unitypurchasing' is already in use by another application?如何解决:“unitypurchasing”已被另一个应用程序使用?
【发布时间】:2018-04-16 09:32:48
【问题描述】:

应用程序的多个版本已发布到 Mac 应用程序商店。新版本在应用购买中引入。现在,当尝试通过 ApplicationLoader 交付应用程序时,它会失败并显示以下错误消息:

错误 ITMS-90511:“CFBundleIndetifier 冲突。Info.plist CFBundleIdentifier 值 'com.unity.purchasing.unitypurchasing' 的 'SomeApp.app/Contents/Plugins/unitypurchasing.bundle' 已经在 由另一个应用程序使用。

您有什么想法是什么原因造成的以及如何解决?

一些额外的背景信息:

在对包进行签名之前,所有 .meta 文件都已从包含的库中删除。适当的 .entitlements 文件已就位。签名由以下人员完成:

chmod -R a+xr "SomeApp.app"  
codesign -f --deep -s '3rd Party Mac Developer Application: SomeDev' --entitlements "SomeApp.entitlements" "SomeAppp.app/Contents/Plugins/unitypurchasing.bundle" 
codesign -f --deep -s '3rd Party Mac Developer Application: SomeDev' --entitlements "SomeApp.entitlements" "SomeApp.app"  
productbuild --component "SomeApp.app" /Applications --sign "3rd Party Mac Developer Installer: SomeDev" "SomeApp.pkg"

欢迎提供任何导致问题的原因以及如何解决问题的想法。谢谢。

【问题讨论】:

    标签: macos unity3d app-store


    【解决方案1】:

    统一编辑器

    1. 选择 Mac 平台和架构集 Intel 64 + Apple 芯片
    2. 检查创建 XCode 项目
    3. 项目设置>播放器>其他设置检查Mac App Store
    4. Mac App Store 选项部分下的验证
    5. 构建项目

    XCode

    1. 签名和功能 - 添加应用沙盒和应用内购买
    2. 转到 XCodeProject/AppName/Plugins/unitypurchasing.bundle/Contents/info.plist
    3. 将捆绑标识符从 com.unity.purchasing.unitypurchasing 更改为 com.unity.purchasing.unitypurchasing.your.app 此 ID 在您的所有应用中必须是唯一的
    4. 重要提示! 现在您需要通过在终端 codesign --remove-signature unitypurchasing.bundle 中运行此命令来从 unitypurchasing.bundle 中删除签名
    5. 从组织者存档和分发应用程序。

    我希望这会有所帮助。我终于更新了我所有的应用并发布了一个新的。

    【讨论】:

      【解决方案2】:
      1. 在构建桌面 Mac 版本时,在 Unity 的 Mac 播放器设置中选择 Mac App Store Validation。
      2. 一旦你构建了你的应用程序,用你的包标识符和版本字符串更新它的 info.plist 文件。右键单击 .app 文件并单击 Show Package Contents,找到 info.plist 文件并将 CFBundleIdentifier 字符串更新为应用程序的包标识符。
      3. 签名、打包和安装您的应用程序。从 OSX 终端运行以下命令,适当地填写“your.app”和“your.pkg”。 提示:要签署捆绑包,您可能首先需要删除 Contents.meta 文件(如果存在):your.app/Contents/Plugins/unitypurchasing.bundle/Contents.meta

      1. codesign -f --deep -s "3rd Party Mac Developer Application: " your.app/Contents/Plugins/unitypurchasing.bundle
      2. codesign -f --deep -s "3rd Party Mac Developer Application: " your.app
      3. productbuild --component your.app /Applications --sign "3rd Party Mac Developer Installer: " your.pkg
      1. 要正确安装软件包,请先删除未打包的 .app 文件,然后再运行新创建的软件包并进行安装。
      2. 从 Applications 文件夹启动应用程序。首次执行此操作时,系统会提示您输入 iTunes 帐户详细信息,然后您可以针对沙盒环境进行测试购买。

      结帐链接了解更多信息:

      https://docs.unity3d.com/Manual/UnityIAPAppleConfiguration.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-24
        • 2017-10-10
        • 2021-05-20
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多