2014-02-05 54 views
1

我的應用近期已拒絕了,因爲我的兩個第三方庫的使用AdSupport框架和蘋果無法找到任何「蘋果廣告」橫幅的任何地方,當他們正在測試它。所以,我更新了我的代碼,並在我UITableView放在ADBannerView作爲subview上的單元格。廣場ADBanner上的UITableViewCell

但是這似乎並沒有工作,我得到的錯誤代碼一樣

ADErrorDomain代碼4:應用程序具有的iAD配置錯誤和其他錯誤..

當我添加的旗幟視圖的subview一個UIViewController的看法,它工作得很好。

是否有問題的廣告,或者我不能放在一個UITableViewCell的廣告?或者有沒有辦法將ADBannerView放置在表格視圖單元上?

編輯:

我把一個ADBannerView就像在該教程。 http://www.raywenderlich.com/1371/iad-tutorial-for-ios-how-to-integrate-iad-into-your-iphone-app

編輯2:

這一點,測試代碼進行驗證,如果iAd的整合工作按預期。

//這是建立在表格視圖單元格

- (void) initializeAllAdTableViewCells { 

    [self initializeAdTableViewCellWithRow:1 inSection:0]; 

    [self initializeAdTableViewCellWithRow:4 inSection:0]; 

    [self initializeAdTableViewCellWithRow:5 inSection:0]; 
} 

- (void) initializeAdTableViewCellWithRow:(NSUInteger) row inSection:(NSUInteger) section { 

     UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]]; 

     ADBannerView *adView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner]; 

     adView.backgroundColor = [UIColor clearColor]; 

     [cell addSubview:adView]; 

     //store ad tableViewCell for later 
     [self internalRegisterAdTableViewCell:cell withRow:row inSection:section]; 

     adView.autoresizingMask = UIViewAutoresizingFlexibleWidth; 

     adView.delegate = self; 

     [adView release]; 

     [cell autorelease] 

} 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 

    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 

    int adCellCount = [[self adCellsForSection:section] count]; 

    return [data count] + adCellCount; 
} 

- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    UITableViewCell *cell = [self adCellForRow:indexPath.row inSection:indexPath.section]; 

    if (cell == nil) { 

     //create other cells 
    } 

    return cell; 
} 
+0

也許你已經嘗試了一些什麼碼? –

回答

0

你釋放AdBannerView,它可能甚至還沒有來得及你這樣做之前,將廣告加載到視圖。您需要將課程設置爲廣告代理,然後在廣告可用時讓廣告插入表格中,然後在廣告不存在的情況下移除廣告。廣告並不總是可用,您將使用 - bannerViewDidLoadAd。

+0

好吧,我已經更新了我的代碼。它創建TableViewCells並將廣告TableViewCells存儲在字典中,以此構建tableview。 – NicTesla

+0

當您希望使用AdBannerView時,您仍然會釋放AdBannerView。只要您希望展示廣告,您就需要保留對其的引用。 – brussell

+0

引用是通過在TableView上添加ADBannerView來進行的。使用[cell adSubview:adView]; ADBannerView的零售商正在增加。它通過委託收到錯誤消息。 – NicTesla