stupidestfish 2014-07-08
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/
一.代码块在哪里?如果上面这张图不小心点没了或者没出来,可以看第一步的操作,然后鼠标停留在选中的区域停留2秒以上就会出现左边的??可以将路径中的代码块,迁移到不同的电脑上使用,需重新启动Xcode ;