更新:
由於回答以下我所提交的應用程序商店,但與下面建議的編輯Facebook只能跟蹤事件,而不進行安裝歸因追蹤。 因此,下面的解決方案的問題是,它有效地禁止Facebook將安裝鏈接到Facebook上的廣告活動。
用於此修復程序應該使用最新的3.13 Facebook的SDK,並簡單地從你的項目中移除
-weak_framework AdSupport
如下建議。
的應用程序現在正確編譯沒有編輯FBUtil.m,它不鏈接AdSupport框架從Pods.xconfig和刪除莢Facebook的-IOS-SDK.xconfig
我離開下面的回覆,讓你可以看到我以前嘗試從SDK的3.12版本中刪除AdSupport,但如果您想要安裝廣告歸因跟蹤,請不要使用它。 (事實上,只有當您計劃進行CPC廣告時,您才能使用它,否則Facebook將無法優化安裝廣告系列)。
OLD答覆:
這似乎是在我的情況還不夠。 可以肯定,我想徹底刪除AdSupport框架。 在Facebook SDK 3.12中,即使AdSupport Framework未包含在您的項目或pod文件中(實際上我正在使用cocoapods來安裝Facebook SDK),它似乎總是被導入/鏈接。
AdSupport框架確實沒有鏈接到我的項目中,但在我的應用程序可執行文件上執行「otool -L」顯示框架仍處於鏈接狀態。
爲了避免當前的FB SDK要做到這一點,你需要編輯如下:
在FBUtility.m
評論這個:
//#import <AdSupport/AdSupport.h>
編輯以下幾種方法:
+ (NSString *)advertiserID {
/*
NSString *advertiserID = nil;
Class ASIdentifierManagerClass = [FBDynamicFrameworkLoader loadClass:@"ASIdentifierManager" withFramework:@"AdSupport"];
if ([ASIdentifierManagerClass class]) {
ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
advertiserID = [[manager advertisingIdentifier] UUIDString];
}
return advertiserID;
*/
return @"";
}
+ (FBAdvertisingTrackingStatus)advertisingTrackingStatus {
/*
if ([FBSettings restrictedTreatment] == FBRestrictedTreatmentYES) {
return AdvertisingTrackingDisallowed;
}
FBAdvertisingTrackingStatus status = AdvertisingTrackingUnspecified;
Class ASIdentifierManagerClass = [FBDynamicFrameworkLoader loadClass:@"ASIdentifierManager" withFramework:@"AdSupport"];
if ([ASIdentifierManagerClass class]) {
ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
if (manager) {
status = [manager isAdvertisingTrackingEnabled] ? AdvertisingTrackingAllowed : AdvertisingTrackingDisallowed;
}
}
*/
return AdvertisingTrackingDisallowed;
}
最後,如果您在項目中使用cocoapods搜索, k-空間所有
-weak_framework AdSupport
,並刪除所有的(你會發現那些Pods.xconfig和豆莢Facebook的-IOS-SDK.xcconfig)
這有爲我工作,現在我的應用程序可執行文件免費使用AdSupport。
是不是advertIdentifier您_supposed_使用的訪問器(假設iOS6 +)? –
最近,如果您實際上沒有展示廣告(而只是將其用於追蹤),那麼advertisingIdentifier的使用已被禁止。 –
但在我的應用程序中,我不想使用任何廣告! – chawki