i am using swift 2 and this is my AIP code can you help me because this isn't working:
import UIKit
import iAd
import StoreKit
class ViewController4: UIViewController, ADBannerViewDelegate, SKProductsRequestDelegate, SKPaymentTransactionObserver {
@IBOutlet var s3: UIButton!
@IBOutlet var s6: UIButton!
@IBOutlet var s13: UIButton!
@IBOutlet var s22: UIButton!
@IBOutlet var s30: UIButton!
@IBOutlet var s45: UIButton!
@IBOutlet var s60: UIButton!
@IBOutlet var s100: UIButton!
@IBOutlet var rf: UIButton!
@IBOutlet var ise: UIButton!
@IBOutlet var info: UIButton!
@IBOutlet var home: UIButton!
@IBOutlet var banner: ADBannerView!
@IBOutlet var restore: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
s3.layer.cornerRadius = 10
s6.layer.cornerRadius = 10
s13.layer.cornerRadius = 10
s22.layer.cornerRadius = 10
s30.layer.cornerRadius = 10
s45.layer.cornerRadius = 10
s60.layer.cornerRadius = 10
s100.layer.cornerRadius = 10
rf.layer.cornerRadius = 10
ise.layer.cornerRadius = 10
info.layer.cornerRadius = 10
home.layer.cornerRadius = 10
restore.layer.cornerRadius = 10
s3.enabled = false
s6.enabled = false
s13.enabled = false
s22.enabled = false
s30.enabled = false
s45.enabled = false
s60.enabled = false
s100.enabled = false
rf.enabled = false
ise.enabled = false
restore.enabled = false
if(SKPaymentQueue.canMakePayments()) {
print("IAP is enabled, loading")
let productID:NSSet = NSSet(objects: "wnp3skips, wnp6skips, wnp13skips, wnp22skips, wnp30skips, wnp45skips, wnp60skips, wnp100skips, wnpinfinite, wnpfailsafe")
let request = SKProductsRequest(productIdentifiers: productID as, [NSObject])
request.delegate = self
request.start()
} else {
print("please enable IAPS")
}
}
@IBAction func s3b(sender: UIButton) {
for product in list {
let prodID = product.productIdentifier
if(prodID == "wnp3skips") {
p = product
buyProduct()
break;
}
}
}
@IBAction func s6b(sender: UIButton) {
for product in list {
let prodID = product.productIdentifier
if(prodID == "wnp6skips") {
p = product
buyProduct()
break;
}
}
}
@IBAction func s13b(sender: UIButton) {
for product in list {
let prodID = product.productIdentifier
if(prodID == "wnp13skips") {
p = product
buyProduct()
break;
}
}
}
@IBAction func s22b(sender: UIButton) {
for product in list {
let prodID = product.productIdentifier
if(prodID == "wnp22skips") {
p = product
buyProduct()
break;
}
}
}
@IBAction func s30b(sender: UIButton) {
for product in list {
let prodID = product.productIdentifier
if(prodID == "wnp30skips") {
p = product
buyProduct()
break;
}
}
}
@IBAction func s45b(sender: UIButton) {
for product in list {
let prodID = product.productIdentifier
if(prodID == "wnp45skips") {
p = product
buyProduct()
break;
}
}
}
@IBAction func s60b(sender: UIButton) {
for product in list {
let prodID = product.productIdentifier
if(prodID == "wnp60skips") {
p = product
buyProduct()
break;
}
}
}
@IBAction func s100b(sender: UIButton) {
for product in list {
let prodID = product.productIdentifier
if(prodID == "wnp100skips") {
p = product
buyProduct()
break;
}
}
}
@IBAction func infinitebtn(sender: UIButton) {
for product in list {
let prodID = product.productIdentifier
if(prodID == "wnpinfinite") {
p = product
buyProduct()
break;
}
}
}
@IBAction func failsafebtn(sender: UIButton) {
for product in list {
let prodID = product.productIdentifier
if(prodID == "wnpfailsafe") {
p = product
buyProduct()
break;
}
}
}
/
func addskips3() {
skips = skips + 3
NSUserDefaults.standardUserDefaults().setObject(skips, forKey: "skips")
NSUserDefaults.standardUserDefaults().synchronize()
}
func addskips6() {
skips = skips + 6
NSUserDefaults.standardUserDefaults().setObject(skips, forKey: "skips")
NSUserDefaults.standardUserDefaults().synchronize()
}
func addskips13() {
skips = skips + 13
NSUserDefaults.standardUserDefaults().setObject(skips, forKey: "skips")
NSUserDefaults.standardUserDefaults().synchronize()
}
func addskips22() {
skips = skips + 22
NSUserDefaults.standardUserDefaults().setObject(skips, forKey: "skips")
NSUserDefaults.standardUserDefaults().synchronize()
}
func addskips30() {
skips = skips + 30
NSUserDefaults.standardUserDefaults().setObject(skips, forKey: "skips")
NSUserDefaults.standardUserDefaults().synchronize()
}
func addskips45() {
skips = skips + 45
NSUserDefaults.standardUserDefaults().setObject(skips, forKey: "skips")
NSUserDefaults.standardUserDefaults().synchronize()
}
func addskips60() {
skips = skips + 60
NSUserDefaults.standardUserDefaults().setObject(skips, forKey: "skips")
NSUserDefaults.standardUserDefaults().synchronize()
}
func addskips100() {
skips = skips + 100
NSUserDefaults.standardUserDefaults().setObject(skips, forKey: "skips")
NSUserDefaults.standardUserDefaults().synchronize()
}
func addskipsinfinite() {
infinite = "on"
NSUserDefaults.standardUserDefaults().setObject(infinite, forKey: "infinite")
NSUserDefaults.standardUserDefaults().synchronize()
}
func failsafeoff() {
failsafeper = "on"
NSUserDefaults.standardUserDefaults().setObject(failsafeper, forKey: "failsafeper")
NSUserDefaults.standardUserDefaults().synchronize()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
/
}
@IBAction func RestorePurchases(sender: UIButton) {
SKPaymentQueue.defaultQueue().addTransactionObserver(self)
SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
}
var list = [SKProduct]()
var p = SKProduct()
func buyProduct() {
print("buy " + p.productIdentifier)
let pay = SKPayment(product: p)
SKPaymentQueue.defaultQueue().addTransactionObserver(self)
SKPaymentQueue.defaultQueue().addPayment(pay as SKPayment)
}
func productsRequest(request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {
print("product request")
let myProduct = response.products
for product in myProduct {
print("product added")
print(product.productIdentifier)
print(product.localizedTitle)
print(product.localizedDescription)
print(product.price)
list.append(product as SKProduct)
}
s3.enabled = true
s6.enabled = true
s13.enabled = true
s22.enabled = true
s30.enabled = true
s45.enabled = true
s60.enabled = true
s100.enabled = true
rf.enabled = true
ise.enabled = true
restore.enabled = true
}
func finishTransaction(trans:SKPaymentTransaction)
{
print("finish trans")
SKPaymentQueue.defaultQueue().finishTransaction(trans)
}
func paymentQueue (queue: SKPaymentQueue!, removedTransactions, transactions: [AnyObject]!) {
print("remove trans");
}
func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue) {
print("transactions restored")
for transaction in queue.transactions {
let t: SKPaymentTransaction = transaction as SKPaymentTransaction
let prodID = t.payment.productIdentifier as String
switch prodID {
case "wnp3skips":
addskips3()
case "wnp6skips":
addskips6()
case "wnp13skips":
addskips13()
case "wnp22skips":
addskips22()
case "wnp30skips":
addskips30()
case "wnp45skips":
addskips45()
case "wnp60skips":
addskips60()
case "wnp100skips":
addskips100()
case "wnpinfinite":
addskipsinfinite()
case "wnpfailsafe":
failsafeoff()
default:
print("IAP not setup")
}
}
}
func paymentQueue(queue: SKPaymentQueue!, updatedTransactions transactions: [AnyObject]!) {
print("add paymnet")
for transaction:AnyObject in transactions {
let trans = transaction as! SKPaymentTransaction
print(trans.error)
switch trans.transactionState {
case .Purchased:
print("buy, ok unlock iap here")
print(p.productIdentifier)
let prodID = p.productIdentifier as String
switch prodID {
case "wnp3skips":
addskips3()
case "wnp6skips":
addskips6()
case "wnp13skips":
addskips13()
case "wnp22skips":
addskips22()
case "wnp30skips":
addskips30()
case "wnp45skips":
addskips45()
case "wnp60skips":
addskips60()
case "wnp100skips":
addskips100()
case "wnpinfinite":
addskipsinfinite()
case "wnpfailsafe":
failsafeoff()
default:
print("IAP not setup")
}
queue.finishTransaction(trans)
break;
case .Failed:
print("buy error")
queue.finishTransaction(trans)
break;
default:
print("default")
break;
}
}
}
}