Search Unity

XCode Bug: Missing signing identifier at Unity Framework

Discussion in 'iOS and tvOS' started by isakdiaz, Apr 13, 2022.

  1. isakdiaz

    isakdiaz

    Joined:
    Jan 3, 2020
    Posts:
    3
    I am making an AR app and it builds just fine in Xcode but I can't sign it on testflight. It gives me an error when I try to archive the app. The error states:

    Missing signing identifier at "/var/folders/zx/27c5k9nd3c53_djxc628q8940000gn/T/XcodeDistPipeline.~~~CGHJcC/Root/Payload/my-unity.app/Frameworks/UnityFramework.framework/Frameworks/libswift_Concurrency.dylib".

    Failed to cloud sign "/var/folders/zx/27c5k9nd3c53_djxc628q8940000gn/T/XcodeDistPipeline.~~~CGHJcC/Root/Payload/my-unity.app/Frameworks/UnityFramework.framework/Frameworks/libswift_Concurrency.dylib". Please file a bug report at https://feedbackassistant.apple.com.

    I've tried just about everything but nothing works. The error started happening with the latest version of XCode I believe, because before it use to sign properly. Some of the packages I am using are ARSimulation, Firebase, EasySave and ARFoundation. Does anyone know a fix for this??

    Thanks
     
  2. isakdiaz

    isakdiaz

    Joined:
    Jan 3, 2020
    Posts:
    3
    Nevermind, I solved the problem. Apparently in Xcode 13+ there can't be swift concurrency features without upgrading to iOS 15 or using a work around listed here:

    https://developer.apple.com/documentation/xcode-release-notes/xcode-13_2-release-notes

    Apple Clang Compiler Known Issues Apps built with Xcode 13 or Xcode 13.1 that make use of Swift Concurrency features (such as async/await), deploy to iOS prior to 15, tvOS prior to 15, or watchOS prior to 8, and have bitcode enabled may crash at launch with an error reporting that the libswift_Concurrency.dylib library was not loaded. (86349088) Workaround: Add -Wl,-weak-lswift_Concurrency -Wl,-rpath,/usr/lib/swift to Other Linker Flags in the app’s build settings.
     
  3. EtherlabInc

    EtherlabInc

    Joined:
    Dec 8, 2016
    Posts:
    2
    Mine is a little bite different,

    Missing signing identifier at "/var/folders/zw/j7vs9mm54j72xzct0gr71zdm0000gr/T/XcodeDistPipeline.~~~GnKMN3/Root/Payload/Hotel.app/Frameworks/UnityFramework.framework/libOVRLipSync.dylib".

    Failed to cloud sign "/var/folders/zw/j7vs9mm54j72xzct0gr71zdm0000gr/T/XcodeDistPipeline.~~~GnKMN3/Root/Payload/Hotel.app/Frameworks/UnityFramework.framework/libOVRLipSync.dylib". Please file a bug report at https://feedbackassistant.apple.com.

    Any Idea how to solve this?
     
  4. tylearymf_unity

    tylearymf_unity

    Joined:
    May 25, 2022
    Posts:
    12
    Try setting the deployment min target to ios 15.
     
  5. Banchieri

    Banchieri

    Joined:
    Mar 4, 2016
    Posts:
    3
    I solved in a weird way.

    In xCode, go to general tab and in Target > UnityFramework > Frameworks and Libraries remove the AVFoundation.framework and add it again with the + sign...

    No need to set min target to iOS 15

    Now if you Archive again the package and try to submit the error is magically gone away.
     
    cabanel, Zeb152, dxduanxin and 18 others like this.
  6. Xain

    Xain

    Joined:
    Aug 3, 2013
    Posts:
    68
    Thanks, this worked
     
    HisaCat and Banchieri like this.
  7. varunkarthiksuresh

    varunkarthiksuresh

    Joined:
    May 2, 2020
    Posts:
    7
    Hey Guys,

    I'm trying to Archive an iOS build to the AppStore Connect and I get this warning, but the build is uploaded.



    The app references non-public selectors in Payload/GAME.app/Frameworks/UnityFramework.framework/UnityFramework: applicationWillFinishLaunchingWithOptions:, didReceiveRemoteNotification:, loadPlugin



    But when I run it on test flight, the game crashes after loading the Unity Splash Screen.


    Any help is really appreciated.
     
  8. PeanutAgency

    PeanutAgency

    Joined:
    Mar 31, 2015
    Posts:
    2
    This fixed it for me, thanks!!
     
  9. varunkarthiksuresh

    varunkarthiksuresh

    Joined:
    May 2, 2020
    Posts:
    7
    Update:
    I removed ad packages and installed unity mediation ads instead
    then it kinda worked. but still wasn't straightforward.
    had to change binary to nill and some other stuff.
     
  10. xgames11144

    xgames11144

    Joined:
    Mar 29, 2018
    Posts:
    2
    thank you , Hero
     
  11. xgames11144

    xgames11144

    Joined:
    Mar 29, 2018
    Posts:
    2


    thank you
     
    dregan likes this.
  12. TimoTime

    TimoTime

    Joined:
    Aug 28, 2018
    Posts:
    1
    It works on me. Thank you!!
     
  13. Nith666

    Nith666

    Joined:
    Aug 1, 2012
    Posts:
    56
    Worked here, too.. !
     
  14. kevinatgame

    kevinatgame

    Joined:
    Aug 31, 2015
    Posts:
    8
    works for me, great! thank you.
     
  15. ongtypc

    ongtypc

    Joined:
    Apr 16, 2019
    Posts:
    4
    After some testing I found that while the above method works, it's not magic. The method above coincidentally works because Xcode somehow sets build setting for UnityFramework target ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES to NO after removing and readding AVFoundation.

    Also the method above actually removes AVFoundation that is for iPhoneOS and adding one that is for MacOS, thus never actually putting it back. So it could possibly cause issues for people who depends on AVFoundation on their projects (for most of us, the framework is included but probably not used, like myself).

    So ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES should be NO but it is by default YES for now. I eventually made a postbuild script to set it to NO:

    Code (CSharp):
    1. #if UNITY_IOS
    2. using UnityEditor;
    3. using UnityEditor.Callbacks;
    4. using UnityEditor.iOS.Xcode;
    5.  
    6. namespace Editor
    7. {
    8.     /// <summary>
    9.     /// Automatically disables ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES on iOS builds
    10.     /// Reference : https://www.cxyzjd.com/article/qq534575060/114381877 no.49
    11.     /// </summary>
    12.     public static class IOSAlwaysEmbedSwiftStandardLibrariesDisabler
    13.     {
    14.         [PostProcessBuildAttribute(999)]
    15.         public static void OnPostProcessBuild(BuildTarget buildTarget, string pathToBuildProject)
    16.         {
    17.             if (buildTarget != BuildTarget.iOS) return;
    18.             string projectPath = pathToBuildProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
    19.             PBXProject pbxProject = new PBXProject();
    20.             pbxProject.ReadFromFile(projectPath);
    21.  
    22.             //Disabling ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES Unity Framework target
    23.             string target = pbxProject.GetUnityFrameworkTargetGuid();
    24.             pbxProject.SetBuildProperty(target, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "NO");
    25.  
    26.             pbxProject.WriteToFile(projectPath);
    27.          }
    28.     }
    29. }
    30. #endif
    31.  
    Put this script into an Editor folder and it will work.
     
  16. siddharth3322

    siddharth3322

    Joined:
    Nov 29, 2013
    Posts:
    1,049
    For me, this solution worked, after spending few hours :)
     
    luciano_unity and takachi_dev like this.
  17. Chzero

    Chzero

    Joined:
    Sep 9, 2015
    Posts:
    9
    It works, thanks
     
  18. matt_unity258

    matt_unity258

    Joined:
    Dec 4, 2017
    Posts:
    18
    Any way to automate this?
    I tried this code but it didn't work:


    Code (CSharp):
    1.  [PostProcessBuild]
    2.     public static void OnPostProcessBuild(BuildTarget buildTarget, string pathToBuiltProject)
    3.     {
    4.         // https://forum.unity.com/threads/xcode-bug-missing-signing-identifier-at-unity-framework.1266758/#post-8528231
    5.         // workaround for error about AVFoundation when distributing app to testflight/app store after archicing
    6.         if (buildTarget == BuildTarget.iOS)
    7.         {
    8.             string projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject);
    9.             PBXProject project = new PBXProject();
    10.             project.ReadFromString(File.ReadAllText(projectPath));
    11.             //string target = project.TargetGuidByName("Unity-iPhone");
    12.             string target = project.GetUnityMainTargetGuid();
    13.  
    14.             project.RemoveFrameworkFromProject(target, "AVFoundation.framework");
    15.             project.AddFrameworkToProject(target, "AVFoundation.framework", false);
    16.             File.WriteAllText(projectPath, project.WriteToString());
    17.         }
    18.     }
     
  19. astechnolabs

    astechnolabs

    Joined:
    Jul 11, 2021
    Posts:
    24
    Thanks, works, I am minifying for fast forward users like me,
    • In xCode, go to General tab and in
      Target > UnityFramework > Frameworks and Libraries
      remove the
      AVFoundation.framework
      with the - sign
    • add it again with the + sign...
    • Done
     
  20. cabanel

    cabanel

    Joined:
    Sep 22, 2014
    Posts:
    68
    Thank you
     
  21. XCO

    XCO

    Joined:
    Nov 17, 2012
    Posts:
    380
    BUMP

    I get this error, nothing is working.

    Missing signing identifier at "/var/folders

    Anybody got any ideas ?