2015-05-13 4 views
3

Я добавил в приложения покупки, чтобы удалить iAds для моего приложения для iOS.Удалить все приложения iAds?

Я поместил это в логике, как только продукт removeAds куплен (который определенно вызывает):

func removeAds() { 
    defaults.setObject("True", forKey: "remove_adverts") 
    self.canDisplayBannerAds = false 
    self.removeAdButton.enabled = false 
    println("removed") 
} 

И я поместил это в верхней части каждого контроллера для обработки его.

if let showAds = defaults.dataForKey("remove_adverts") { 
    self.canDisplayBannerAds = false 
    self.removeAdButton.enabled = false 
    println("Ads shouldn't show") 
} else { 
    self.canDisplayBannerAds = true 
} 

Но объявления все еще показывают.

Есть ли лучший способ сделать это?

+0

Что вы имеете в виду, «верх каждого контроллера»? –

ответ

1

Когда вы проверяете, чтобы увидеть, если пользователь приобрел IAP, чтобы удалить объявления в этой строке if let showAds = defaults.dataForKey("remove_adverts") проверяемой для dataForKey, когда вы должны проверять для objectForKey, потому что вы использовали setObject при настройке вашего значения default. Кроме того, вы можете использовать setBool так что ваш код будет выглядеть примерно так:

func removeAds() { 
    defaults.setBool(true, forKey: "removeAdsPurchased") 
    self.canDisplayBannerAds = false 
    println("iAd removed and default value set") 
    defaults.synchronize() 
} 

и

let showAds = defaults.boolForKey("removeAdsPurchased") 
    if (showAds) { 
     // User purchsed IAP 
     // Lets remove ads 
     self.canDisplayBannerAds = false 
     println("iAd removed") 
    } else { 
     // IAP not purchased 
     // Lets show some ads 
     self.canDisplayBannerAds = true 
     println("Showing iAd") 
    } 
+1

Работал блестяще. благодаря –

Смежные вопросы