The bundle 'Payload/{app name}/Frameworks/AppleCoreNative.framework' is missing plist key. The Info.plist file is missing the required key: CFBundleShortVersionString.

When I distribute a app that includes Apple Unity plugin, I got an error of asset validation failed.

The bundle 'Payload/{app name}/Frameworks/AppleCoreNative.framework' is missing plist key. The Info.plist file is missing the required key: CFBundleShortVersionString.

Does anyone get this?

I have the same problem. Did you find a solution for it?

No idea if I did something wrong initially, but I fixed it with these steps:

  1. Download repo from https://github.com/apple/unityplugins/tree/main

  2. Start building the libraries

    python3 build.py -p Core GameKit -m iOS macOS
    
    1. Let script codesign the libraries

    2. During the build process copy the line the shell script outputs to codesign (similar to this):

      codesign --force --sign ABCDEFGHIJKLMN1234567890 --timestamp=none --preserve-metadata=identifier,entitlements,flags --generate-entitlement-der /path/to/bundle
      
  3. After the build script finished, you can find the tarball at /unityplugins-main/Build/com.apple.unityplugin.core-3.1.1.tgz

    1. Unzip the tgz and modify the Info.plist in the unziped folder /package/NativeLibraries~/Release/iOS/AppleCoreNative.framework/Info.plist

      1. You should add the missing CFBundleShortVersionString like this:
      <key>CFBundleShortVersionString</key>
      	<string>1.0</string>
      
    2. Afterwards, codesign the bundle again with the prompt copied at 2.2. Use this path from the unziped folder /package/NativeLibraries~/Release/iOS/AppleCoreNative.framework/AppleCoreNative

    3. Now export the folder back to a tarball using

      tar -czvf com.apple.unityplugin.core-3.1.1.tgz package
      
  4. Simply import the tarball from Unity Package Manager and restart archiving iOS build

Hi.

We used luebbybaer's solution at first because we were catching a deadline, but it seems there is an easier way to solve it.

If you have downloaded apple/unityplugins repo from github, you can go to plug-ins/Apple.Core/Native and open the AppleCoreNative.xcodeproj. Then select the AppleCoreNative project, go to Build Setting and search for Packaging and set the Generate Info.plist File to No. This will make it so that during packaging phase it actually takes the Info.plist file that is included in the AppleCoreNative folder and already has the CFBundleShortVersionString key set.

Then you can just run the build.py command as before, and import the newly generated tarball packages back to Unity.

The bundle 'Payload/{app name}/Frameworks/AppleCoreNative.framework' is missing plist key. The Info.plist file is missing the required key: CFBundleShortVersionString.
 
 
Q