unity导出到xcode的文件DeviceSettings.mm含有广告标示IDFA

 unity导出到xcode的文件DeviceSettings.mm含有广告标示IDFA

文件名 DeviceSettings.mm 在你的xcode项目的目录 Classes/Unity下

以下方法是将方法内的代码删除,注意返回值:

static id QueryASIdentifierManager()
    {
        return nil;
    }
    static void QueryAdID()
    {
        //...
    }
    static void QueryAdTracking()
    {
        //...
    }

以下是要删除的变量定义:

static NSString*    _ADID               = nil;
static bool         _AdTrackingEnabled  = false;

以下是 implementations要修改的内容:

extern "C" const char*  UnityAdvertisingIdentifier()
    {
    return NULL;
    }

    extern "C" bool         UnityAdvertisingTrackingEnabled()
    {
    return false;
    }

    static void QueryDeviceID()
    {
        if(_DeviceID == nil)
        {
        #if UNITY_PRE_IOS7_TARGET
            if(!_ios70orNewer)
                _InitDeviceIDPreIOS7();
        #endif

            // first check vendor id
            if(_DeviceID == nil)
            {
                QueryVendorID();
                _DeviceID = _VendorID;
            }
        }
    }

以上所做的修改仅会影响你现在Xcode project的构成。如果你想从unity重新构建一个Xcode project,或是取代它,又或是在新的位置中重建,你都需要再做一下这些改变。如果你不打算在你的项目中显示出广告,可以考虑更新此文件的主模板,它的位置在:/Applications/Unity/Unity.app/Contents/PlaybackEngines/iPhonePlayer/iPhone-Trampoline/Classes/Unity

修改后的DeviceSettings.mm文件参见附件中的DeviceSettings.mm.zip

原文链接:http://blogs.unity3d.com/2014/02/11/overcoming-issues-with-ios-app-store-submissions/

相关推荐