iOS向けライブラリを更新し、iPhone 6、iPhone 6 Plus、iPadに対応しました 1.1.1 -> 2.0

iOS向けライブラリのバージョン2.0をリリース致しました。 本アップデートにより、iPhone 6、iPhone 6 Plus、iPadに対応致しました。

Swift環境ではこれまで通り本ライブラリをご利用頂けますが、Objective-Cで書かれたコードから本ライブラリをご利用になる場合、一部後方互換性のない変更が含まれておりますので、ご留意下さい。

具体的には、WPYPaymentViewControllerのインスタンスを生成するメソッドが、インスタンスメソッドから、クラスメソッドになっています。

Objective-C

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
WPYPaymentViewCallback callback = ^(WPYPaymentViewController *viewController, WPYToken *token, NSError *error) {
  if (error)
  {
    NSLog(@"error:%@", [error localizedDescription]);
  }
  else
  {

    // tokenをサーバーにPOSTし、決済を完了させます

    // 決済完了後
    [viewController setPayButtonComplete]; // ボタンの色が緑になります
    [viewController dismissAfterDelay: 2.0f];
  }
}

WPYPaymentViewController *paymentViewController
= [WPYPaymentViewController paymentViewControllerWithPriceTag:@"¥350"
                                                     callback:callback];

[self.navigationController pushViewController:paymentViewController
                                     animated:YES];

Swift

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// ver 1.xと同じ
let paymentViewController = WPYPaymentViewController(priceTag: "¥350", callback: { viewController, token, error in
  if let newError = error {
    println("error:\(error.localizedDescription)")
  } else {
    // tokenをサーバーにPOSTし、決済を完了させます

    // 決済完了後
    viewController.setPayButtonComplete()
    viewController.dismissAfterDelay(2.0)
  }
})

self.navigationController?.pushViewController(paymentViewController, animated: true)

iPhone 6、iPhone 6 Plus対応について

iPhone 6、iPhone 6 Plusの登場でAuto Layoutの有用性が格段に高まりました。Storyboardを使わずに、Auto Layoutの制約を設定する事も可能ですが、 わかりやすさとコンフリクトの早期発見という理由から、本ライブラリは今回のバージョンからStoryboardを使ってAuto Layoutを設定しています。

最後に

今年は、新しいiPhoneの発表に加え、Swiftという新しいプログラミング言語も登場しました。 来年にはApple Watchの発売が予定されており、今後もiOS開発にまつわる環境は変化し続ける事が予想されます。

WebPayでは、今後も新しく追加される端末や環境をサポートできるよう邁進したいと考えています。