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 ;