Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

CFBundleIdentifier Collision - com.unity.purchasing.unitypurchasing

Discussion in 'Unity IAP' started by dcheglakov, Apr 27, 2021.

  1. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    The next release is just a couple of days away, so likely in the next release after, perhaps 2 weeks or so.
     
    In2Play and zenasprime like this.
  2. In2Play

    In2Play

    Joined:
    Apr 25, 2016
    Posts:
    64
    I'm too still waiting for the news that will fix this issue before uploading my app to the Mac OS store. I'm reluctant to deal with hacks of any kind. This should work like a charm out of the box.

    However, I'm glad to hear that the fix is on the way :)
     
    Last edited: Jun 15, 2021
  3. wagenheimer

    wagenheimer

    Joined:
    Jun 1, 2018
    Posts:
    318
    I have the same problem... When the fix will be released?
     
  4. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Good news, the engineering team is saying that they may be able to fit this into the next release. They are bit resource constrained at the moment on the team due to holidays and vacation, so the next release may be a bit delayed. So perhaps another two weeks or so. Keep an eye on the release announcement sticky post on this forum.
     
    In2Play likes this.
  5. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
  6. zenasprime

    zenasprime

    Joined:
    Mar 31, 2010
    Posts:
    165
    Followed those steps exactly as outlined in the links you provided. The same error persists.

    It may be that I didn't do one of these steps correctly but I think that this is to be expected when the suggestion solution is a bad hack work around from 3 years ago.

    This is beyond frustrating. And the fact that you guys just don't seem to care that your product absolutely cannot be used just boggles my mind.
     
  7. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    We investigated in detail, and the issue is not ours. We have reached out to our contacts at Apple, but have not heard back yet.
     
    Last edited: Jun 29, 2021
    hippocoder likes this.
  8. hippogames

    hippogames

    Joined:
    Feb 5, 2015
    Posts:
    228
  9. seanhenry

    seanhenry

    Joined:
    Dec 27, 2020
    Posts:
    1
    If anyone is interested in automating this process. The following code snippet works for me.

    • Replace
      <app name>
      with the directory containing your generated bundle
    • Replace
      <bundle identifier>
      with your unique bundle id
    • Replace
      <project name>
      with the name of your .xcodeproj file
    • Replace
      <app target name>
      with your app's target name.

    Code (CSharp):
    1. using UnityEditor;
    2. using UnityEditor.Callbacks;
    3. using UnityEditor.iOS.Xcode;
    4.  
    5. public static class InfoPlistEditor
    6. {
    7.     [PostProcessBuild]
    8.     public static void FixUnityPurchasing(BuildTarget buildTarget, string pathToBuiltProject)
    9.     {
    10.         if (buildTarget != BuildTarget.StandaloneOSX) return;
    11.         var plistFile =
    12.             $"{pathToBuiltProject}/<app name>/PlugIns/unitypurchasing.bundle/Contents/Info.plist";
    13.         PlistDocument plist = new PlistDocument();
    14.         plist.ReadFromFile(plistFile);
    15.         plist.root.SetString("CFBundleIdentifier", "<bundle identifier>.unitypurchasing");
    16.         plist.WriteToFile(plistFile);
    17.        
    18.         var projectPath = $"{pathToBuiltProject}/<project name>.xcodeproj/project.pbxproj";
    19.         var project = new PBXProject();
    20.         project.ReadFromFile(projectPath);
    21.         var targetGuid = project.TargetGuidByName("<app target name>");
    22.         project.AddShellScriptBuildPhase(targetGuid, "[FIX] Remove purchasing bundle codesigning", "/bin/sh", "codesign --remove-signature \"${PROJECT_DIR}/<app name>/PlugIns/unitypurchasing.bundle\"");
    23.         project.WriteToFile(projectPath);
    24.     }
    25. }
     
    vws0234 and dcheglakov like this.
  10. richardzzzarnold

    richardzzzarnold

    Joined:
    Aug 2, 2012
    Posts:
    137
    It beats me how you have such a low priority on monetization on the third largest game platform. Its ridiculous that this doesnt work, has never worked and will probably never work, while proudly advertising that the IAP works on the MacStore.
     
    Last edited: Dec 3, 2021
    In2Play likes this.
  11. hippogames

    hippogames

    Joined:
    Feb 5, 2015
    Posts:
    228
    Hi, well, it works somehow (refer to the workaroud above). Here is my app published https://apps.apple.com/app/id1477015249

    But I agree, low priority for Mac and UWP is sad.
     
  12. vws0234

    vws0234

    Joined:
    Aug 20, 2013
    Posts:
    2
    I encountered the same issue when building & uploading Mac version of my game. Using 2021.1.27f1 and purchasing 4.0.3. Is this fixed now in some new version? Thanks.
     
  13. spider2077SD

    spider2077SD

    Joined:
    Dec 26, 2020
    Posts:
    1
    any resolve to this issue I tried the fix mentioned by @hippogames, but with no results

    CFBundleIdentifier Collision. The Info.plist CFBundleIdentifier value 'com.unity.UnitySignInWithApple' of 'app name.app/Contents/PlugIns/UnitySignInWithApple.bundle' is already in use by another application. With error code STATE_ERROR.VALIDATION_ERROR.90511 for id e9c2b22a-abe0-4e3d-9bb5-a4498b0572ef