Search code examples
iosobjective-cstorekitios14skadnetwork

SKAdNetwork - generate signature - how to determine which version to use?


According to iOS 14 new SKAdNetwork app install attribution model as described here, as the developer of an ad-network I need to determine which version to use for the signature part of the flow:

Version 2.0 is available for apps that are compiled with the iOS 14 SDK 
and signed by the App Store. Version 1.0 is available starting in iOS 11.3

It seems like I need to determine whether the app was build with iOS14 SDK but I'm not sure what would be the best way to approach this?

For example, I found that there is a global variable in SKAdNetwork - SKStoreProductParameterAdNetworkVersion which contains the version but it is available only for 2.0... in 1.0 this global variable is NOT defined at all.

Also, I found this and this but those seems like hacks.. I'm trying to understand what would be the best approach.. Please note, I provide my code as a dynamic iOS framework (pre-compiled) so my code is NOT compiling together with the app code.

Thanks for the help :)


Solution

  • Please note, I provide my code as a dynamic iOS framework (pre-compiled) so my code is NOT compiling together with the app code.

    Just provide two different versions of your framework. One for versions before iOS 14 sdk, and one for after. Let the person using the framework select the right one since they will know which version of the SDK they are using.

    If it’s ok for Apple to have two versions , it’s ok for you.