adjust / unity_sdk

This is the Unity SDK of
http://www.adjust.com
MIT License
150 stars 72 forks source link

Request for Unity SDK update to include iOS SDK v4.38.0 #290

Closed donuts-mineshima closed 6 months ago

donuts-mineshima commented 6 months ago

With the release of Adjust's iOS SDK v4.38.0, support for Privacy Manifest has been introduced (https://github.com/adjust/ios_sdk/releases/tag/v4.38.0). However, it appears that the Unity SDK has not yet been updated to include this latest version of the iOS SDK.

When can we expect a new release of the Unity SDK that incorporates the iOS SDK v4.38.0? This update would allow Unity developers to take advantage of the new Privacy Manifest support and ensure that their apps remain compliant with the latest iOS requirements.

Thank you for your attention to this matter. We appreciate your efforts in keeping the Unity SDK up-to-date and aligned with the latest SDK releases for individual platforms.

uerceg commented 6 months ago

Hey @donuts-mineshima and the upvoters,

The challenge we have faced (and why Unity SDK 4.38.0 update is lagging a bit behind) is because the way how we are bundling native iOS SDK (just plain ol' .a library + public header files) && with the Unity's inability to simply allow us to drop Privacy Manifest file as a resource which Xcode will later understand that it belongs to our SDK, creating Unity SDK release which under the hood contains iOS SDK which has Privacy Manifest bundled inside would be a breaking change.

In case anyone is curious why, it would be because right now all your apps are built in a way that they have our .a library and header files linked to your app's Xcode project. Simple removal of those files from upcoming Unity SDK update would not work for 2 reasons:

  1. Unity IDE doesn't remove by default the files which new version of Unity plugin removes (it only adds new ones and modifies existing where it notices diffs). We unfortunately don't have any Editor script to monitor all the files during import of the new plugin version to potentially do this cleanup on our behalf. Even if we would be having this, issue 2 is there:
  2. .a and .h native files are already linked to your Xcode app project and those can't be easily removed unless manually. Sure, if someone decides to regenerate Xcode project, it would help and solve things, but there's probably a lot of users who are always appending changes when building. One can also argue that in some pre-processing scripts we could make sure to unlink not needed .a library anymore (and make existing .h files not to disturb the build process), but this can also have consequences in backwards compatibility within the current major version of the SDK (for the time being, downgrading Unity SDK is not that complicated process; these changes would make it a bit harder).

So a lot of tradeoffs for questionable gains having following things in mind:

How does that sound to you?

uerceg commented 6 months ago

Having in mind that Monday has arrived, we have shipped the v4.38.0 which you can add to your app && just make sure to add Privacy Manifest entries needed for our SDK to your app-level Privacy Manifest (for the time being).

I'll close this issue for now, but in case you have any further questions, feel free to comment / reopen if needed.

Cheers guys.