From e05aab7eeb55ede6fe6226e41c65b6bfad65957e Mon Sep 17 00:00:00 2001
From: 单军华 <WindShan@danjunhuas-MacBook-Pro.local>
Date: Fri, 30 Dec 2016 15:53:07 +0800
Subject: [PATCH] ping++ 支付demo 已测试

---
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/123_#+=1@2x.png                                               |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/key_fat_pressed.png                                          |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed.png                              |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/Contents.json                                         |   22 
 pingpp-ios/example/demoapp/Resources/ViewController_iPad.xib                                                                            |  121 +
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadSpecialCharKeyboardView.nib                               |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/en.lproj/InfoPlist.strings                                    |    0 
 pingpp-ios/lib/Dependencies/Network/PingppURLResponse.h                                                                                 |   37 
 pingpp-ios/example/demoapp/Resources/en.lproj/home.png                                                                                  |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Info.plist                                                              |   60 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/space1@2x.png                                                 |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/key_fat_bg_white.png                                        |    0 
 pingpp-ios/example/demoapp/demoapp-Info.pch                                                                                             |   14 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/key_normal@2x.png                                                 |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land.png                                    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/objects-8.0+.nib        |    0 
 pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Headers/NSString+Additions.h                                                    |   38 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/kb_bg1.png                                                          |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/mastercard.png                                                                             |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftonceLandscape.png                                 |    0 
 pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Info.plist                                                                           |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/Contents.json                                           |   23 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/key_pressed_rightside@2x.png                           |    0 
 pingpp-ios/README.md                                                                                                                    |  144 +
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/key_num_column_1_last_row_pressed.png    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape@2x 09-52-35-496.png                     |    0 
 pingpp-ios/example/demoapp/Images.xcassets/Contents.json                                                                                |    6 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDoneDown_Land@2x.png                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/Contents.json                              |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftretain@3x.png                                      |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/runtime.nib             |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/Contents.json                                        |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/key_num_column_2_pressed@2x.png                   |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape@2x.png                                  |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/czb.png                                                                                    |    0 
 pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/AlipaySDK                                                                            |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/Contents.json                                                     |   23 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/key_num_column_2@2x.png                                   |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land_Down.png                                |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/Contents.json                                         |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/key_num_column_1_last_row_pressed@2x.png |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@2x.png                                                         |    0 
 pingpp-ios/example/demoapp-swift/demoapp-swiftTests/Info.plist                                                                          |   24 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/key_pressed_middle@2x.png                               |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown@2x.png                                            |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_down@2x.png                                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/Contents.json                                               |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/Contents.json                                             |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/Contents.json                                       |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/key_num_column_3_last_row_pressed.png    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6九宫格收起点击@3x.png                                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/Contents.json                                               |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/key_icon_shift_normal@2x.png                           |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/key_mood_normal.png                                        |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdelete@3x.png                                              |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/key_pressed_rightside.png                              |    0 
 pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/shutdown@2x.png                                                                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/key_icon_shift_actived.png                            |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/key_pressed_leftside.png                                |    0 
 pingpp-ios/example/demoapp/main.m                                                                                                       |   17 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/Contents.json                                              |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdelete@2x.png                                              |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@3x.png                                                  |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/Contents.json                            |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/大123_#+=1@2x.png                                              |    0 
 pingpp-ios/lib/Dependencies/WebView/libpingpp+webview.a                                                                                 |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/纯数字按键横板@2x.png                                                |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/visa.png                                                                                   |    0 
 pingpp-ios/lib/Channels/Cnp/Pingpp+Cnp.h                                                                                                |   81 
 pingpp-ios/lib/libpingppcore.a                                                                                                          |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/Contents.json                                            |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land_down@2x.png                            |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadStandardKeyboardView.nib                                  |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/key_fat_normal.png                                            |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land_Down@2x.png                             |    0 
 pingpp-ios/example/demoapp-swift/demoapp-swift/ViewController.swift                                                                     |   64 
 pingpp-ios/lib/One/Pingpp+One.h                                                                                                         |   78 
 pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeDirectory                                                    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land@2x.png                                  |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneKeyBackground@2x.png                                    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_down@3x.png                                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/key_num_column_3_last_row_pressed@2x.png |    0 
 pingpp-ios/example/demoapp.xcodeproj/project.pbxproj                                                                                    |  648 ++++++
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/key_num_column_1_pressed.png                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/Contents.json                                     |   22 
 pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/shutdown_click@2x.png                                                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/key_fat_bg_blue.png                                        |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftretainLandscape@2x.png                            |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/Contents.json                                           |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDeleteDown_Land@2x.png                                  |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/Contents.json                                                   |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone收起@3x.png                                           |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/key_pressed_leftside@2x.png                             |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2@6p.png                                                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/Contents.json                                      |   22 
 pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/refresh_click@2x.png                                                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/key_fat_bg_blue@2x.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeleteland@2x.png                                          |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6九宫格收起默认@3x.png                                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/Contents.json                                                 |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusSpecialCharKeyboardView.nib                        |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/key_num_column_1_pressed.png                        |    0 
 pingpp-ios/Pingpp.podspec                                                                                                               |  115 +
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/九宫格横版收起按下默认@3x.png                                            |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/key_mood_pressed.png                                        |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/key_num_column_1_pressed@2x.png                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/key_fat_pressed.png                                        |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftretain@2x.png                                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/key_num_column_3@2x.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/按下按键@3x.png                                                   |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete@3x.png                                           |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/key_pressed_fat_middle.png                            |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/九宫格横版收起按下@3x.png                                              |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown@3x.png                                            |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/Info.plist                                                                                 |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/key_num_column_1@2x.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus九宫格收起点击@3x.png                                     |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/key_icon_shift_actived@2x.png                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/key_icon_shift_highlighted.png                  |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/key_pressed_middle@2x.png                                 |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftonce@3x.png                                        |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/九宫格del1@3x.png                                                |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/Contents.json                                               |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/key_icon_shift_highlighted.png                    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape@2x.png                                      |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone收起@2x.png                                           |    0 
 pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-4.7.png                                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/key_space_pressed.png                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/key_icon_del@2x.png                                           |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/objects.nib             |    0 
 pingpp-ios/example/demoapp-swift/demoapp-swift.xcodeproj/project.pbxproj                                                                |  712 +++++++
 pingpp-ios/example/demoapp/AppDelegate.h                                                                                                |   18 
 pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Headers/APayAuthInfo.h                                                               |   33 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/Contents.json                                     |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/key_num_column_1_last_row@2x.png                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/key_space_pressed@2x.png                                 |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/Contents.json                                               |   22 
 pingpp-ios/lib/Channels/QQWallet/libpingpp+qqwallet.a                                                                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/key_icon_shift_normal@2x.png                         |    0 
 pingpp-ios/lib/Channels/Yeepay/libpingpp+yeepay.a                                                                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/key_icon_shift_actived@2x.png                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/key_normal.png                                                    |    0 
 pingpp-ios/example/demoapp/AppDelegate.m                                                                                                |   66 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/key_backspace_normal@2x.png                           |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/key_backspace_pressed@2x.png                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/key_num_column_3_last_row.png                      |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneInputView.nib                                           |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_down_Land.png                              |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/objects-8.0+.nib               |    0 
 pingpp-ios/example/demo.xcworkspace/contents.xcworkspacedata                                                                            |   10 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/key_num_column_2_last_row.png                      |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape_down.png                                |    0 
 pingpp-ios/lib/Channels/Mmdpay/libpingpp+mmdpay.a                                                                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeSignature                                                    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneSpecialCharKeyboardView.nib                             |    0 
 pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Info.plist                                                                      |    0 
 pingpp-ios/lib/Dependencies/Network/libpingpp+network.a                                                                                 |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal@2x.png                             |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/key_num_column_2_last_row@2x.png                 |    0 
 pingpp-ios/lib/Channels/Jdpay/libpingpp+jdpay.a                                                                                         |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadInputView.nib                                             |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_Land@2x.png                                      |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cmb.png                                                                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/libpingpp+cmbWallet.a                                                                                 |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/Contents.json                                       |   22 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/jlbk.png                                                                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/Contents.json                                          |   22 
 pingpp-ios/lib/One/libpingpp+one.a                                                                                                      |    0 
 pingpp-ios/example/demoapp-swift/demoapp-swift/AppDelegate.swift                                                                        |   58 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/key_num_column_2.png                                        |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/key_pressed_middle.png                                    |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/boc.png                                                                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/key_num_column_1.png                                        |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/key_pressed_leftside.png                              |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/Contents.json                                             |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/Contents.json                                               |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/Contents.json                              |   22 
 pingpp-ios/CHANGELOG.md                                                                                                                 |  127 +
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/kb_bg2.png                                                          |    0 
 pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-5.5.png                                                       |    0 
 pingpp-ios/lib/Channels/Fqlpay/libpingpp+fqlpay.a                                                                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@2x.png                                                  |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/pbc.png                                                                                    |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/spdb.png                                                                                   |    0 
 pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/Contents.json                                                        |  146 +
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/key_num_column_3_last_row_pressed@2x.png   |    0 
 pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeResources                                                    |  131 +
 pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeRequirements                                                 |    0 
 pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/refresh@2x.png                                                                          |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/kb_bg1@2x.png                                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/Contents.json                                              |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/key_num_column_1_last_row_pressed@2x.png   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2@2x.png                                                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/key_num_column_3@2x.png                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/key_icon_shift_actived.png                          |    0 
 pingpp-ios/example/demoapp-swift/demoapp-swift/Base.lproj/Main.storyboard                                                               |   25 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/key_mood_normal.png                                          |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/test-foreign.png                                                                           |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_Land.png                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/key_num_column_1_last_row@2x.png                 |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape@2x.png                                  |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShift@3x.png                                            |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/Contents.json                                             |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/key_icon_shift_highlighted@2x.png               |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/key_num_column_3_last_row.png                    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape_Land@2x.png                                 |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape_down.png                               |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bcm.png                                                                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/key_fat_normal@2x.png                                       |    0 
 pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-3.5.png                                                       |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone@2x.png                                             |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/左边点击@2x.png                                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/Contents.json                                    |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape 09-46-05-236.png                        |    0 
 pingpp-ios/lib/Channels/BfbWap/libpingpp+bfbWap.a                                                                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/key_pressed_middle.png                                  |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/key_num_column_3_pressed@2x.png                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/Contents.json                                   |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land@2x.png                                 |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown@3x.png                                          |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bob.png                                                                                    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete@2x.png                                           |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal.png                                |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/pab.png                                                                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/Contents.json                            |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/da123@2x.png                                                  |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadNumberKeyboardView.nib                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/key_num_column_1_last_row_pressed.png      |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land_down.png                               |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/Contents.json                                             |   22 
 pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Headers/AlipaySDK.h                                                                  |  170 +
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/key_num_column_3.png                                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/key_fat_bg_white@2x.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/kb_bg_Land@2x.png                                             |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/Contents.json                                                         |   23 
 pingpp-ios/lib/Channels/Qgbc/libpingpp+qgbc.a                                                                                           |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/Contents.json                                          |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShift@2x.png                                            |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/hxb.png                                                                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/key_num_column_2_pressed@2x.png                     |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/key_num_column_2_pressed.png                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/key_icon_del@2x.png                                             |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/Contents.json                                             |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/key_mood_pressed.png                                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/key_space_normal.png                                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/Contents.json                                                                         |    6 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/Contents.json                                       |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift2@2x.png                                                 |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/Contents.json                                       |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusNumberKeyboardView.nib                             |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bosh.png                                                                                   |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneNumberKeyboardView.nib                                  |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/icbc.png                                                                                   |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/中点击@2x.png                                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/key_mood_pressed@2x.png                                     |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/Contents.json                                       |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/key_pressed_leftside@2x.png                           |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/key_num_column_3_last_row@2x.png                 |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/key_num_column_3_pressed@2x.png                     |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/Contents.json                                    |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/key_pressed_fat_middle@2x.png                       |    0 
 pingpp-ios/lib/Pingpp.bundle/PingppTestPaymentSummaryViewController.nib                                                                 |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal@6p.png                             |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/Contents.json                                          |   23 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhonePureNumberKeyboardView.nib                              |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/Contents.json                                      |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/key_num_column_2_last_row.png                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/key_num_column_1@2x.png                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/Contents.json                                              |   22 
 pingpp-ios/lib/Channels/UnionPay/libpingpp+up.a                                                                                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/key_icon_shift_highlighted@2x.png                 |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/Contents.json                                                |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone_land@2x.png                                           |    0 
 pingpp-ios/lib/Channels/ApplePay/libpingpp+applepayUpacp.a                                                                              |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/psbc.png                                                                                   |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape.png                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/key_mood_pressed@2x.png                                   |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/空格按下_03_nologo@2x.png                                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/Contents.json                                                |   22 
 pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/bar@2x.png                                                                              |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/Contents.json                                           |   22 
 pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/cmbkeyboard                                                                     |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/key_icon_shift_normal.png                            |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/key_fat_bg_white.png                                      |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/da123_down@2x.png                                             |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/key_num_column_2_pressed.png                        |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/Contents.json                                         |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/key_num_column_1.png                                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/key_num_column_3.png                                        |    0 
 pingpp-ios/example/demoapp/Resources/ViewController_iPhone.xib                                                                          |  138 +
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/Contents.json                                                       |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/key_mood_normal@2x.png                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/key_fat_pressed@2x.png                                       |    0 
 pingpp-ios/VERSION                                                                                                                      |    1 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/runtime.nib                    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone@3x.png                                                |    0 
 pingpp-ios/example/demoapp-swift/demoapp-swift/Base.lproj/LaunchScreen.xib                                                              |   41 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/Contents.json                              |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/key_fat_bg_blue@2x.png                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/key_fat_pressed@2x.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/ccb.png                                                                                    |    0 
 pingpp-ios/lib/Channels/ApplePay/libUPAPayPlugin.a                                                                                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/Contents.json                                     |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/key_icon_del.png                                              |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus九宫格收起默认@3x.png                                     |    0 
 pingpp-ios/example/demoapp/ViewController.mm                                                                                            |  287 +++
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/PingppCnpProtocolData.plist                                                                |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/Contents.json                                                   |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/key_num_column_3_last_row_pressed.png      |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift@2x.png                                                  |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/key_normal.png                                                  |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cib.png                                                                                    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftretainLandscape.png                               |    0 
 pingpp-ios/lib/Pingpp.h                                                                                                                 |  163 +
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape@2x.png                                 |    0 
 pingpp-ios/lib/Channels/UnionPay/libPaymentControl.a                                                                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/kb_bg2@2x.png                                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/key_num_column_2_last_row_pressed@2x.png   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/Contents.json                                                 |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/key_num_column_1_pressed@2x.png                     |    0 
 pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-4.0.png                                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/key_num_column_3_last_row@2x.png                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/key_space_pressed.png                                      |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/纯数字按键@2x.png                                                  |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/key_backspace_normal.png                              |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/Contents.json                            |   22 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cgb.png                                                                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@1x.png                                                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/key_pressed_rightside@2x.png                         |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone@3x.png                                             |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/Contents.json                                                       |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@3x.png                                                         |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone_Land@2x.png                                        |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/key_num_column_2@2x.png                                     |    0 
 pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Headers/CMBWebKeyboard.h                                                        |   34 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift1@2x.png                                                 |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/key_num_column_2_last_row@2x.png                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/Contents.json                                               |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/大123_#+=@2x.png                                               |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/ceb.png                                                                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/key_pressed_fat_middle@2x.png                         |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus九宫格删除默认@3x.png                                     |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/Contents.json                                             |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/key_space_normal@2x.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape_down@2x.png                             |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/Contents.json                                                     |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/Contents.json                                      |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone收起横板1@2x.png                                        |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/kb_bg@2x.png                                                  |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/key_mood_normal@2x.png                                     |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/Contents.json                                    |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/123_#+=@2x.png                                                |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone@2x.png                                                |    0 
 pingpp-ios/lib/Pingpp.bundle/Info.plist                                                                                                 |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhonePureNumberKeyboardView1.nib                             |    0 
 pingpp-ios/example/demoapp-swift/demoapp-swiftTests/demoapp_swiftTests.swift                                                            |   36 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/key_pressed_fat_middle.png                          |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/key_pressed_rightside.png                            |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape_Land.png                                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed@6p.png                           |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cncb.png                                                                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/key_backspace_pressed.png                            |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/key_space_normal.png                                        |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/key_num_column_1_last_row.png                      |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_Land@2x.png                                |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2.png                                                            |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/右边点击@2x.png                                                   |    0 
 pingpp-ios/example/demoapp/demoapp-Info.plist                                                                                           |   79 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/Contents.json                                                         |   23 
 pingpp-ios/example/demoapp/ViewController.h                                                                                             |   23 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus九宫格删除点击@3x.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown@2x.png                                          |    0 
 pingpp-ios/example/demoapp-swift/demoapp-swift/Images.xcassets/AppIcon.appiconset/Contents.json                                         |   68 
 pingpp-ios/example/demoapp/Images.xcassets/AppIcon.appiconset/Contents.json                                                             |  128 +
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape_down@2x.png                            |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/九宫格默认del1@3x.png                                              |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneSpace@2x.png                                            |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusStandardKeyboardView.nib                           |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/Contents.json                                               |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/bj.png                                                        |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cmbc.png                                                                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/Contents.json                                         |   22 
 pingpp-ios/lib/Pingpp.bundle/en.lproj/Localizable.strings                                                                               |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/key_icon_del.png                                                |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/Contents.json                                              |   22 
 pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/en.lproj/InfoPlist.strings                                                           |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/dlcb.png                                                                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/key_num_column_2_last_row_pressed.png      |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown_land@2x.png                                       |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/key_num_column_3_pressed.png                        |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/Contents.json                                                |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/key_fat_bg_white@2x.png                                   |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftonceLandscape@2x.png                              |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/key_num_column_1_last_row.png                    |    0 
 pingpp-ios/example/demoapp-swift/demoapp-swift/Info.plist                                                                               |   75 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/Contents.json                                        |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/test.png                                                                                   |    0 
 pingpp-ios/example/.gitignore                                                                                                           |   36 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/space@2x.png                                                  |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/key_icon_shift_normal.png                              |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusInputView.nib                                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/Contents.json                                             |   22 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape.png                                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed@2x.png                           |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/按键@2x.png                                                     |    0 
 pingpp-ios/lib/Pingpp.bundle/about_blank.html                                                                                           |   46 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/key_fat_normal@2x.png                                         |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/key_num_column_2.png                                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/key_space_normal@2x.png                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/key_num_column_2_last_row_pressed@2x.png |    0 
 pingpp-ios/example/demoapp.xcodeproj/project.xcworkspace/contents.xcworkspacedata                                                       |    7 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown_Land@2x.png                                     |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/sjbc.png                                                                                   |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/bj@2x.png                                                     |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/key_fat_normal.png                                          |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/Contents.json                                     |   22 
 pingpp-ios/lib/Channels/Cnp/libpingpp+cnp.a                                                                                             |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftonce@2x.png                                        |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/objects.nib                    |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@1x.png                                                  |    0 
 pingpp-ios/lib/Channels/Alipay/libpingpp+alipay.a                                                                                       |    0 
 pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/abc.png                                                                                    |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/点击@2x.png                                                     |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/key_num_column_3_pressed.png                      |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/key_num_column_2_last_row_pressed.png    |    0 
 pingpp-ios/example/demoapp-swift/demoapp-swift/demoapp-swift-Bridging-Header.h                                                          |    6 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/按下按键@2x.png                                                   |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/key_space_pressed@2x.png                                   |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/纯数字按键1横板@2x.png                                               |    0 
 pingpp-ios/example/demoapp/Resources/en.lproj/InfoPlist.strings                                                                         |    2 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_down_Land@2x.png                           |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/Contents.json                                        |   22 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/key_normal@2x.png                                               |    0 
 pingpp-ios/lib/Pingpp.bundle/zh-Hans.lproj/Localizable.strings                                                                          |    0 
 pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/key_fat_bg_blue.png                                          |    0 
 pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/纯数字按键1@2x.png                                                 |    0 
 439 files changed, 5,598 insertions(+), 0 deletions(-)

diff --git a/pingpp-ios/CHANGELOG.md b/pingpp-ios/CHANGELOG.md
new file mode 100755
index 0000000..8b32b58
--- /dev/null
+++ b/pingpp-ios/CHANGELOG.md
@@ -0,0 +1,127 @@
+### 2.2.10
+- ��������������� ��������� ��������� ���������������������������
+- ��������������� ������������������������ ������������������
+- ��������������������� SDK ��� 3.3.6 ������
+
+### 2.2.9
+- ���������������������������(SDK ������ charge ��� order ������)
+- ���������Ping++ Debug Log ������������
+- ���������������������������������������
+- ���������������������������������������
+- ��������������� Demo
+
+### 2.2.8
+- ��������������� Apple Pay SDK
+- ���������������web������������ [Pingpp ignoreResultUrl: YES] ������
+- ��������������� ������������������ ��������� [Pingpp handleOpenURL:url withCompletion:nil] ���������������
+- ��������������� ��������� ������������������
+- ��������������� SDK ������������������������������
+- ���������bfb������(������������) ���������(bfb_wap)������
+
+### 2.2.7
+- ���������QQ������ ���qpay���
+- ��������������������� wap������jdpay_wap���
+
+### 2.2.6
+- ��������������������� ������ processing ������ (���������������)
+- ��������������� ApplePay SDK
+- ��������������������� ������webView������
+- ��������������� ��������� ������������
+
+### 2.2.5
+- ���������������������������cmb_wallet���
+- ��������������������� wap������bfb_wap���
+- ������������������(fqlpay_wap) ������������������������
+
+### 2.2.4
+- ���������������������������mmdpay_wap���
+- ��������������������������� webView ������
+- ���������iOS 9 ������ livemode ��������������������� [true, false, 1, 0]
+- ������������������������ SDK��������� ipv6���������������������CoreTelephony.framework, CoreMotion.framework���
+
+### 2.2.2
+* ���������  
+��������������� (fqlpay_wap)    
+��������������� (qgbc_wap)
+
+### 2.2.1
+* ���������  
+������������ SDK ��� 3.3.3 ������
+
+### 2.2.0
+* ���������  
+������������������������������cnp���  
+���������������������
+
+### 2.1.4
+* ���������  
+������������ warning ������  
+������ podspec ��������������� bfb
+
+### 2.1.3
+* ���������  
+������������ SDK ��� 3.1.1 ������  
+������ CocoaPods ������������  
+��������������� SDK  
+Ping++ ��������������������� Bitcode
+
+### 2.1.2
+* ���������  
+������������ SDK ��� 3.1.0 ������
+
+### 2.1.1
+* ���������  
+������ charge ���������������������������
+
+### 2.1.0
+* ���������  
+������ Debug ��������������������� log���������������������������������`[Pingpp setDebugMode:YES];`
+* ���������  
+charge ��������� NSDictionary ������������  
+������������������������������������ armv7s������������������ SDK  
+���������������������������������������������������
+
+### 2.0.6
+* ���������  
+������ handleOpenURL ���������
+
+### 2.0.5
+* ���������  
+������������������������
+
+### 2.0.4 (20150428)
+* ���������  
+������ Apple Pay ���������  
+������ AlipaySDK.framework
+
+### 2.0.4
+* ���������  
+������ Apple Pay
+
+### 2.0.3
+* ���������  
+������ iOS 5.1.1
+
+### 2.0.2
+* ���������  
+������������������  
+������������ SDK ���������������������
+
+### 2.0.1(20150112)
+* ���������  
+���������������������������
+
+### 2.0.1
+* ���������  
+������ `+handleOpenURL:withCompletion:` ��� `completion` ��������� `nil`
+
+### 2.0.0
+* ���������  
+������ arm64  
+���������������������������  
+������������������  
+callback ������������������������
+
+### 1.0.5
+* ���������  
+��������������������� URL
diff --git a/pingpp-ios/Pingpp.podspec b/pingpp-ios/Pingpp.podspec
new file mode 100755
index 0000000..df426ad
--- /dev/null
+++ b/pingpp-ios/Pingpp.podspec
@@ -0,0 +1,115 @@
+Pod::Spec.new do |s|
+  s.name         = 'Pingpp'
+  s.version      = '2.2.10'
+  s.summary      = 'Pingplusplus iOS SDK'
+  s.description  = <<-DESC
+                   ���������������������������
+                   ������������������������������������������������������������������������������������������������������
+                   ������������������������������������������������������������������������������������������
+                   ������������������������������������������������������������������������������������������������
+                   DESC
+  s.homepage     = 'https://pingxx.com'
+  s.license      = 'COMMERCIAL'
+  s.author       = { 'Afon Weng' => 'xufeng.weng@pingxx.com' }
+  s.platform     = :ios, '7.0'
+  s.source       = { :http => "https://github.com/PingPlusPlus/pingpp-ios/releases/download/v#{s.version}/pingpp-ios-#{s.version}.zip",
+                     :sha1 => 'c18f57e505da0979eb735346c25af1d9ba93881e' }
+  s.requires_arc = true
+  s.default_subspec = 'Core', 'Alipay', 'UnionPay'
+
+  s.subspec 'Core' do |core|
+    core.source_files = 'lib/*.h', 'lib/Dependencies/Network/*.h'
+    core.public_header_files = 'lib/*.h', 'lib/Dependencies/Network/*.h'
+    core.vendored_libraries = 'lib/*.a', 'lib/Dependencies/Network/*.a'
+    core.resource = 'lib/*.bundle'
+    core.frameworks = 'CFNetwork', 'SystemConfiguration', 'Security'
+    core.ios.library = 'c++', 'stdc++', 'z'
+    core.xcconfig = { 'OTHER_LDFLAGS' => '-ObjC' }
+  end
+
+  s.subspec 'ApplePay' do|ss|
+    ss.vendored_libraries = 'lib/Channels/ApplePay/*.a'
+    ss.frameworks = 'Passkit'
+    ss.dependency 'Pingpp/Core'
+  end
+
+  s.subspec 'Alipay' do |ss|
+    ss.vendored_libraries = 'lib/Channels/Alipay/*.a'
+    ss.ios.vendored_frameworks = 'lib/Channels/Alipay/AlipaySDK.framework'
+    ss.resource = 'lib/Channels/Alipay/AlipaySDK.bundle'
+    ss.frameworks = 'CoreMotion', 'CoreTelephony'
+    ss.dependency 'Pingpp/Core'
+  end
+
+  s.subspec 'Wx' do |ss|
+    ss.dependency 'Pingpp/Core'
+  end
+
+  s.subspec 'UnionPay' do |ss|
+    ss.vendored_libraries = 'lib/Channels/UnionPay/*.a'
+    ss.dependency 'Pingpp/Core'
+  end
+
+  s.subspec 'One' do |ss|
+    ss.frameworks = 'QuartzCore'
+    ss.source_files = 'lib/One/*.h'
+    ss.public_header_files = 'lib/One/*.h'
+    ss.vendored_libraries = 'lib/One/*.a'
+    ss.dependency 'Pingpp/Core'
+  end
+
+  s.subspec 'Qgbc' do |ss|
+    ss.vendored_libraries = 'lib/Channels/Qgbc/*.a'
+    ss.dependency 'Pingpp/Core'
+    ss.dependency 'Pingpp/WebView'
+  end
+
+  s.subspec 'Fqlpay' do |ss|
+    ss.vendored_libraries = 'lib/Channels/Fqlpay/*.a'
+    ss.dependency 'Pingpp/Core'
+    ss.dependency 'Pingpp/WebView'
+  end
+
+  s.subspec 'Mmdpay' do |ss|
+    ss.vendored_libraries = 'lib/Channels/Mmdpay/*.a'
+    ss.dependency 'Pingpp/Core'
+    ss.dependency 'Pingpp/WebView'
+  end
+
+  s.subspec 'BfbWap' do |ss|
+    ss.vendored_libraries = 'lib/Channels/BfbWap/*.a'
+    ss.dependency 'Pingpp/Core'
+    ss.dependency 'Pingpp/WebView'
+  end
+
+  s.subspec 'Yeepay' do |ss|
+    ss.vendored_libraries = 'lib/Channels/Yeepay/*.a'
+    ss.dependency 'Pingpp/Core'
+    ss.dependency 'Pingpp/WebView'
+  end
+
+  s.subspec 'CmbWallet' do |ss|
+    ss.vendored_libraries = 'lib/Channels/CmbWallet/*.a'
+    ss.ios.vendored_frameworks = 'lib/Channels/CmbWallet/cmbkeyboard.framework'
+    ss.resource = 'lib/Channels/CmbWallet/SecreteKeyBoard'
+    ss.dependency 'Pingpp/Core'
+    ss.dependency 'Pingpp/WebView'
+  end
+
+  s.subspec 'Jdpay' do |ss|
+    ss.vendored_libraries = 'lib/Channels/Jdpay/*.a'
+    ss.dependency 'Pingpp/Core'
+    ss.dependency 'Pingpp/WebView'
+  end
+
+  s.subspec 'QQWallet' do |ss|
+    ss.vendored_libraries = 'lib/Channels/QQWallet/*.a'
+    ss.dependency 'Pingpp/Core'
+  end
+
+  s.subspec 'WebView' do |ss|
+    ss.vendored_libraries = 'lib/Dependencies/WebView/*.a'
+    ss.dependency 'Pingpp/Core'
+  end
+
+end
diff --git a/pingpp-ios/README.md b/pingpp-ios/README.md
new file mode 100755
index 0000000..7be72fb
--- /dev/null
+++ b/pingpp-ios/README.md
@@ -0,0 +1,144 @@
+# Pingpp iOS SDK
+
+## ������
+lib ��������������� iOS SDK ���������  
+example ������������������������������������������������������������������������
+
+__��������������������������������� SDK���������������������������������__
+
+## ������������
+
+iOS SDK ������ iOS 6.0 ���������������
+
+## ������������
+### ������
+#### ������ CocoaPods
+1. ��� `Podfile` ������
+
+    ```
+    pod 'Pingpp', '~> 2.2.10'
+    ```
+
+    ������������������������������������������������������������������������������  
+    ���������������������������
+    - `Alipay`���������������������������
+    - `Wx`��������� App ���������
+    - `QQWallet`���QQ������ App ���������
+    - `UnionPay`������������������������
+    - `ApplePay`
+    - `Cnp`���������������������������
+    - `Fqlpay`���������������
+    - `Qgbc`���������������
+    - `Mmdpay`���������������
+    - `CmbWallet`���������������������
+    - `BfbWap`��������������� Wap ���������
+    - `Yeepay`��������������� Wap ���������
+    - `Jdpay`��������������� Wap ���������
+    - `One`���������������
+
+    ���������
+
+    ```
+    pod 'Pingpp/Alipay', '~> 2.2.10'
+    pod 'Pingpp/UnionPay', '~> 2.2.10'
+    pod 'Pingpp/One', '~> 2.2.10'
+    ```
+
+2. ������ `pod install`
+3. ��������������������� `.xcworkspace` ������������������������ `.xcodeproj`
+4. ������ URL Schemes������ Xcode ������������������������������������������ "TARGETS" ������������ "Info" ������������ "URL Types" ������ "URL Schemes"������������������������������������������������������������ id���������������������������������������������������������������������������������������������������������������������������������������������������������������������������
+5. 2.1.0 ��������������������������� Debug ������������������ log���������������������������������`[Pingpp setDebugMode:YES];`���
+6. 2.2.8 ������������������������������������ WAP ������������������������������������������������������������������������������������������������������`[Pingpp ignoreResultUrl: YES];` ���
+
+#### ������������
+1. ������ SDK  
+������ SDK, ��������������� lib ������������ example ������������lib ������������������ SDK ������������
+2. ������ Frameworks���
+
+    ���������
+
+    ```
+    CFNetwork.framework
+    SystemConfiguration.framework
+    Security.framework
+    QuartzCore.framework
+    CoreTelephony.framework
+    libc++.tbd
+    libz.tbd
+    libsqlite3.0.tbd
+    libstdc++.tbd
+    CoreMotion.framework
+    ```
+
+    ���������������������
+
+    ```
+    AddressBook.framework
+    AddressBookUI.framework
+    AudioToolbox.framework
+    CoreAudio.framework
+    CoreGraphics.framework
+    ImageIO.framework
+    MapKit.framework
+    MessageUI.framework
+    MobileCoreServices.framework
+    ```
+
+    Apple Pay ���������
+
+    ```
+    PassKit.framework
+    ```
+3. ������������������������������������ `lib/Channels` ���������������������������
+4. ������ URL Schemes������ Xcode ������������������������������������������ "TARGETS" ������������ "Info" ������������ "URL Types" ������ "URL Schemes"������������������������������������������������������������ id���������������������������������������������������������������������������������������������������������������������������������������������������������������������������
+5. ������ Other Linker Flags������ Build Settings ������ Other Linker Flags ��������� `-ObjC`���
+6. 2.1.0 ��������������������������� Debug ������������������ log���������������������������������`[Pingpp setDebugMode:YES];`���
+7. 2.2.8 ������������������������������������ WAP ������������������������������������������������������������������������������������������������������`[Pingpp ignoreResultUrl: YES];` ���
+
+### ������������
+1. iOS 9 ������������������������������������������������������������������ `Info.plist` ���������������������
+
+    ```
+    <key>LSApplicationQueriesSchemes</key>
+    <array>
+        <string>weixin</string>
+        <string>wechat</string>
+        <string>alipay</string>
+        <string>alipays</string>
+        <string>mqq</string>
+    </array>
+    ```
+2. iOS 9 ��������� http ������������������������ App ������������ `http://`������������ `Info.plist` ���������������������
+
+    ```
+    <key>NSAppTransportSecurity</key>
+    <dict>
+        <key>NSAllowsArbitraryLoads</key>
+        <true/>
+    </dict>
+    ```
+3. ���������������������������������������������
+
+    ```
+    XXXXXXX does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.
+    ```
+    ������ Xcode ��������� `Build Settings` ��������������� bitcode������ `Enable Bitcode` ��������� `NO`���
+4. ������������������������������������������������ `Channels/Cnp` ������������������������ `Build Settings` ������ `CLANG_CXX_LIBRARY` ������ `libstdc++`���  
+5. `CmbWallet`��������������������� ��������� ��������������� ���������������`CMBPublicKey` ��������� `Info.plist`  ���������������:
+
+    ```
+    <key>CMBPublicKey</key>          
+        <string>IwxiAyJIT4tlwJSCbRRE0jZFTvYjt02/CrlutsMzd5O4B9PaVyUmIKSasdasdasdhWTyp3Bb9T7c9ujiUJOJ8y7893grwEae9yiOBoBmByVsCMTaxnc+lMr7A9ifk48Tz61WxsxnQTyYzrIVbuerQIUi3PSORwcPMRqi+XLX8qPXkNpLT9dMvjOasdasdasdUaAdPFc2YFHwl9dHf2ydQsxh1BHvaVO0OO+GtZ04ZKjxRyJW2HfghKLJijl;XTjrWSNizcdoefFKQsTdzvcPNvx7PsxuXKo9SosheeS/SHPk9sGNdwvL55yEBA8gNs0XZbkxJYjuwrwsQInC/N6QSaI0f0kyTA==
+        </string>
+    ```
+
+6. `CmbWallet`���������������������  ������������ : ��������� `lib/Channels/CmbWallet`������������ `SecreteKeyBoard`������������������������ ������������ `Assets.xcassets` ���������������������������
+7. `CmbWallet`��������������������� pod ������ : ��������� `Pods/Pingpp/CmbWallet`������������ `SecreteKeyBoard`������������������������ ������������ `Assets.xcassets` ���������������������������
+
+
+**������������������ SDK ��������� [���������������](https://www.pingxx.com/docs/index) ������ [example](https://github.com/PingPlusPlus/pingpp-ios/tree/master/example) ������������������������**
+
+## ������������
+
+- ������������������ SDK ��������� iOS ��������������������������������������� Ping++ SDK ������������������������
+- ��������������� Apple Pay������������������ Apple Pay ������������������������������ App Store ���������������������
diff --git a/pingpp-ios/VERSION b/pingpp-ios/VERSION
new file mode 100755
index 0000000..0d3ad67
--- /dev/null
+++ b/pingpp-ios/VERSION
@@ -0,0 +1 @@
+2.2.10
diff --git a/pingpp-ios/example/.gitignore b/pingpp-ios/example/.gitignore
new file mode 100755
index 0000000..119a990
--- /dev/null
+++ b/pingpp-ios/example/.gitignore
@@ -0,0 +1,36 @@
+# Xcode
+#
+# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
+
+## Build generated
+build/
+DerivedData
+
+## Various settings
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+xcuserdata
+
+## Other
+*.xccheckout
+*.moved-aside
+*.xcuserstate
+*.xcscmblueprint
+
+## Obj-C/Swift specific
+*.hmap
+*.ipa
+
+# CocoaPods
+#
+# We recommend against adding the Pods directory to your .gitignore. However
+# you should judge for yourself, the pros and cons are mentioned at:
+# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
+#
+# Pods/
\ No newline at end of file
diff --git a/pingpp-ios/example/demo.xcworkspace/contents.xcworkspacedata b/pingpp-ios/example/demo.xcworkspace/contents.xcworkspacedata
new file mode 100755
index 0000000..2dd53eb
--- /dev/null
+++ b/pingpp-ios/example/demo.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "group:demoapp-swift/demoapp-swift.xcodeproj">
+   </FileRef>
+   <FileRef
+      location = "container:demoapp.xcodeproj">
+   </FileRef>
+</Workspace>
diff --git a/pingpp-ios/example/demoapp-swift/demoapp-swift.xcodeproj/project.pbxproj b/pingpp-ios/example/demoapp-swift/demoapp-swift.xcodeproj/project.pbxproj
new file mode 100755
index 0000000..e7df042
--- /dev/null
+++ b/pingpp-ios/example/demoapp-swift/demoapp-swift.xcodeproj/project.pbxproj
@@ -0,0 +1,712 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		1E1560DB1D9A5B8A00CC4E13 /* AlipaySDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 1E155F9B1D9A5B8A00CC4E13 /* AlipaySDK.bundle */; };
+		1E1560DC1D9A5B8A00CC4E13 /* AlipaySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E155F9C1D9A5B8A00CC4E13 /* AlipaySDK.framework */; };
+		1E1560DD1D9A5B8A00CC4E13 /* libpingpp+alipay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E155F9D1D9A5B8A00CC4E13 /* libpingpp+alipay.a */; };
+		1E1560DE1D9A5B8A00CC4E13 /* libpingpp+applepayUpacp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E155F9F1D9A5B8A00CC4E13 /* libpingpp+applepayUpacp.a */; };
+		1E1560DF1D9A5B8A00CC4E13 /* libUPAPayPlugin.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E155FA01D9A5B8A00CC4E13 /* libUPAPayPlugin.a */; };
+		1E1560E01D9A5B8A00CC4E13 /* libpingpp+bfbWap.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E155FA31D9A5B8A00CC4E13 /* libpingpp+bfbWap.a */; };
+		1E1561B91D9A5B8A00CC4E13 /* libpingpp+qqwallet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1560C81D9A5B8A00CC4E13 /* libpingpp+qqwallet.a */; };
+		1E1561BA1D9A5B8A00CC4E13 /* libPaymentControl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1560CA1D9A5B8A00CC4E13 /* libPaymentControl.a */; };
+		1E1561BB1D9A5B8A00CC4E13 /* libpingpp+up.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1560CB1D9A5B8A00CC4E13 /* libpingpp+up.a */; };
+		1E1561BC1D9A5B8A00CC4E13 /* libpingpp+yeepay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1560CE1D9A5B8A00CC4E13 /* libpingpp+yeepay.a */; };
+		1E1561BD1D9A5B8A00CC4E13 /* libpingpp+network.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1560D11D9A5B8A00CC4E13 /* libpingpp+network.a */; };
+		1E1561BE1D9A5B8A00CC4E13 /* libpingpp+webview.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1560D41D9A5B8A00CC4E13 /* libpingpp+webview.a */; };
+		1E1561BF1D9A5B8A00CC4E13 /* libpingppcore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1560D51D9A5B8A00CC4E13 /* libpingppcore.a */; };
+		1E1561C01D9A5B8A00CC4E13 /* libpingpp+one.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1560D71D9A5B8A00CC4E13 /* libpingpp+one.a */; };
+		1E1561C11D9A5B8A00CC4E13 /* Pingpp.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 1E1560D91D9A5B8A00CC4E13 /* Pingpp.bundle */; };
+		1EAA24681AF2115B00952143 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EAA24671AF2115B00952143 /* AppDelegate.swift */; };
+		1EAA246A1AF2115B00952143 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EAA24691AF2115B00952143 /* ViewController.swift */; };
+		1EAA246D1AF2115B00952143 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1EAA246B1AF2115B00952143 /* Main.storyboard */; };
+		1EAA246F1AF2115B00952143 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1EAA246E1AF2115B00952143 /* Images.xcassets */; };
+		1EAA24721AF2115B00952143 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1EAA24701AF2115B00952143 /* LaunchScreen.xib */; };
+		1EAA24F71AF213EB00952143 /* libc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA24F61AF213EB00952143 /* libc++.dylib */; };
+		1EAA24F81AF213F600952143 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA24F11AF213BE00952143 /* SystemConfiguration.framework */; };
+		1EAA24F91AF213FB00952143 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA24F31AF213C300952143 /* CFNetwork.framework */; };
+		1EAA24FB1AF2140100952143 /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA24FA1AF2140100952143 /* libstdc++.dylib */; };
+		1EAA24FD1AF2140800952143 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA24FC1AF2140800952143 /* libsqlite3.dylib */; };
+		1EAA24FF1AF2140D00952143 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA24FE1AF2140D00952143 /* libz.dylib */; };
+		1EAA25011AF2142000952143 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA25001AF2142000952143 /* Security.framework */; };
+		1EAA25031AF2142B00952143 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA25021AF2142B00952143 /* CoreTelephony.framework */; };
+		1EAA25051AF2143800952143 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA25041AF2143800952143 /* CoreGraphics.framework */; };
+		1EAA25071AF2144000952143 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA25061AF2144000952143 /* ImageIO.framework */; };
+		1EAA25091AF2144500952143 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA25081AF2144500952143 /* QuartzCore.framework */; };
+		1EAA250B1AF2144C00952143 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA250A1AF2144C00952143 /* MobileCoreServices.framework */; };
+		1EAA250D1AF2145500952143 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA250C1AF2145500952143 /* MessageUI.framework */; };
+		1EAA250F1AF2146300952143 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA250E1AF2146300952143 /* AudioToolbox.framework */; };
+		1EAA25111AF2146800952143 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA25101AF2146800952143 /* CoreAudio.framework */; };
+		1EAA25131AF2147300952143 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA25121AF2147300952143 /* MapKit.framework */; };
+		1EAA25151AF2148C00952143 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA25141AF2148C00952143 /* AddressBook.framework */; };
+		1EAA25171AF2149100952143 /* AddressBookUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA25161AF2149100952143 /* AddressBookUI.framework */; };
+		1EAA25191AF214B300952143 /* PassKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAA25181AF214B300952143 /* PassKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		1E155F9B1D9A5B8A00CC4E13 /* AlipaySDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = AlipaySDK.bundle; sourceTree = "<group>"; };
+		1E155F9C1D9A5B8A00CC4E13 /* AlipaySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AlipaySDK.framework; sourceTree = "<group>"; };
+		1E155F9D1D9A5B8A00CC4E13 /* libpingpp+alipay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+alipay.a"; sourceTree = "<group>"; };
+		1E155F9F1D9A5B8A00CC4E13 /* libpingpp+applepayUpacp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+applepayUpacp.a"; sourceTree = "<group>"; };
+		1E155FA01D9A5B8A00CC4E13 /* libUPAPayPlugin.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libUPAPayPlugin.a; sourceTree = "<group>"; };
+		1E155FA31D9A5B8A00CC4E13 /* libpingpp+bfbWap.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+bfbWap.a"; sourceTree = "<group>"; };
+		1E1560C81D9A5B8A00CC4E13 /* libpingpp+qqwallet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+qqwallet.a"; sourceTree = "<group>"; };
+		1E1560CA1D9A5B8A00CC4E13 /* libPaymentControl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libPaymentControl.a; sourceTree = "<group>"; };
+		1E1560CB1D9A5B8A00CC4E13 /* libpingpp+up.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+up.a"; sourceTree = "<group>"; };
+		1E1560CE1D9A5B8A00CC4E13 /* libpingpp+yeepay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+yeepay.a"; sourceTree = "<group>"; };
+		1E1560D11D9A5B8A00CC4E13 /* libpingpp+network.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+network.a"; sourceTree = "<group>"; };
+		1E1560D21D9A5B8A00CC4E13 /* PingppURLResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PingppURLResponse.h; sourceTree = "<group>"; };
+		1E1560D41D9A5B8A00CC4E13 /* libpingpp+webview.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+webview.a"; sourceTree = "<group>"; };
+		1E1560D51D9A5B8A00CC4E13 /* libpingppcore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libpingppcore.a; sourceTree = "<group>"; };
+		1E1560D71D9A5B8A00CC4E13 /* libpingpp+one.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+one.a"; sourceTree = "<group>"; };
+		1E1560D81D9A5B8A00CC4E13 /* Pingpp+One.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pingpp+One.h"; sourceTree = "<group>"; };
+		1E1560D91D9A5B8A00CC4E13 /* Pingpp.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Pingpp.bundle; sourceTree = "<group>"; };
+		1E1560DA1D9A5B8A00CC4E13 /* Pingpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pingpp.h; sourceTree = "<group>"; };
+		1EAA24621AF2115B00952143 /* demoapp-swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "demoapp-swift.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+		1EAA24661AF2115B00952143 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		1EAA24671AF2115B00952143 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
+		1EAA24691AF2115B00952143 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
+		1EAA246C1AF2115B00952143 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
+		1EAA246E1AF2115B00952143 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
+		1EAA24711AF2115B00952143 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
+		1EAA247C1AF2115B00952143 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		1EAA247D1AF2115B00952143 /* demoapp_swiftTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = demoapp_swiftTests.swift; sourceTree = "<group>"; };
+		1EAA24F11AF213BE00952143 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
+		1EAA24F31AF213C300952143 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
+		1EAA24F61AF213EB00952143 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; };
+		1EAA24FA1AF2140100952143 /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/libstdc++.dylib"; sourceTree = SDKROOT; };
+		1EAA24FC1AF2140800952143 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
+		1EAA24FE1AF2140D00952143 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
+		1EAA25001AF2142000952143 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
+		1EAA25021AF2142B00952143 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
+		1EAA25041AF2143800952143 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+		1EAA25061AF2144000952143 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; };
+		1EAA25081AF2144500952143 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+		1EAA250A1AF2144C00952143 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
+		1EAA250C1AF2145500952143 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
+		1EAA250E1AF2146300952143 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+		1EAA25101AF2146800952143 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
+		1EAA25121AF2147300952143 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
+		1EAA25141AF2148C00952143 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
+		1EAA25161AF2149100952143 /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; };
+		1EAA25181AF214B300952143 /* PassKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PassKit.framework; path = System/Library/Frameworks/PassKit.framework; sourceTree = SDKROOT; };
+		1EAA251D1AF2191500952143 /* demoapp-swift-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "demoapp-swift-Bridging-Header.h"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		1EAA245F1AF2115B00952143 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				1EAA25191AF214B300952143 /* PassKit.framework in Frameworks */,
+				1E1560DC1D9A5B8A00CC4E13 /* AlipaySDK.framework in Frameworks */,
+				1E1561BF1D9A5B8A00CC4E13 /* libpingppcore.a in Frameworks */,
+				1EAA25171AF2149100952143 /* AddressBookUI.framework in Frameworks */,
+				1E1560DF1D9A5B8A00CC4E13 /* libUPAPayPlugin.a in Frameworks */,
+				1E1560DE1D9A5B8A00CC4E13 /* libpingpp+applepayUpacp.a in Frameworks */,
+				1E1561BC1D9A5B8A00CC4E13 /* libpingpp+yeepay.a in Frameworks */,
+				1EAA25151AF2148C00952143 /* AddressBook.framework in Frameworks */,
+				1EAA250B1AF2144C00952143 /* MobileCoreServices.framework in Frameworks */,
+				1E1561BB1D9A5B8A00CC4E13 /* libpingpp+up.a in Frameworks */,
+				1EAA25131AF2147300952143 /* MapKit.framework in Frameworks */,
+				1EAA25111AF2146800952143 /* CoreAudio.framework in Frameworks */,
+				1E1561BD1D9A5B8A00CC4E13 /* libpingpp+network.a in Frameworks */,
+				1E1561BE1D9A5B8A00CC4E13 /* libpingpp+webview.a in Frameworks */,
+				1E1560DD1D9A5B8A00CC4E13 /* libpingpp+alipay.a in Frameworks */,
+				1EAA250F1AF2146300952143 /* AudioToolbox.framework in Frameworks */,
+				1EAA250D1AF2145500952143 /* MessageUI.framework in Frameworks */,
+				1EAA25091AF2144500952143 /* QuartzCore.framework in Frameworks */,
+				1EAA25071AF2144000952143 /* ImageIO.framework in Frameworks */,
+				1EAA25051AF2143800952143 /* CoreGraphics.framework in Frameworks */,
+				1E1561C01D9A5B8A00CC4E13 /* libpingpp+one.a in Frameworks */,
+				1EAA25031AF2142B00952143 /* CoreTelephony.framework in Frameworks */,
+				1EAA25011AF2142000952143 /* Security.framework in Frameworks */,
+				1EAA24FF1AF2140D00952143 /* libz.dylib in Frameworks */,
+				1EAA24FD1AF2140800952143 /* libsqlite3.dylib in Frameworks */,
+				1E1560E01D9A5B8A00CC4E13 /* libpingpp+bfbWap.a in Frameworks */,
+				1EAA24FB1AF2140100952143 /* libstdc++.dylib in Frameworks */,
+				1EAA24F91AF213FB00952143 /* CFNetwork.framework in Frameworks */,
+				1E1561BA1D9A5B8A00CC4E13 /* libPaymentControl.a in Frameworks */,
+				1EAA24F81AF213F600952143 /* SystemConfiguration.framework in Frameworks */,
+				1E1561B91D9A5B8A00CC4E13 /* libpingpp+qqwallet.a in Frameworks */,
+				1EAA24F71AF213EB00952143 /* libc++.dylib in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		1E155F981D9A5B8A00CC4E13 /* Pingpp */ = {
+			isa = PBXGroup;
+			children = (
+				1E155F991D9A5B8A00CC4E13 /* Channels */,
+				1E1560CF1D9A5B8A00CC4E13 /* Dependencies */,
+				1E1560D51D9A5B8A00CC4E13 /* libpingppcore.a */,
+				1E1560D61D9A5B8A00CC4E13 /* One */,
+				1E1560D91D9A5B8A00CC4E13 /* Pingpp.bundle */,
+				1E1560DA1D9A5B8A00CC4E13 /* Pingpp.h */,
+			);
+			name = Pingpp;
+			path = ../../../lib;
+			sourceTree = "<group>";
+		};
+		1E155F991D9A5B8A00CC4E13 /* Channels */ = {
+			isa = PBXGroup;
+			children = (
+				1E155F9A1D9A5B8A00CC4E13 /* Alipay */,
+				1E155F9E1D9A5B8A00CC4E13 /* ApplePay */,
+				1E155FA21D9A5B8A00CC4E13 /* BfbWap */,
+				1E1560C71D9A5B8A00CC4E13 /* QQWallet */,
+				1E1560C91D9A5B8A00CC4E13 /* UnionPay */,
+				1E1560CD1D9A5B8A00CC4E13 /* Yeepay */,
+			);
+			path = Channels;
+			sourceTree = "<group>";
+		};
+		1E155F9A1D9A5B8A00CC4E13 /* Alipay */ = {
+			isa = PBXGroup;
+			children = (
+				1E155F9B1D9A5B8A00CC4E13 /* AlipaySDK.bundle */,
+				1E155F9C1D9A5B8A00CC4E13 /* AlipaySDK.framework */,
+				1E155F9D1D9A5B8A00CC4E13 /* libpingpp+alipay.a */,
+			);
+			path = Alipay;
+			sourceTree = "<group>";
+		};
+		1E155F9E1D9A5B8A00CC4E13 /* ApplePay */ = {
+			isa = PBXGroup;
+			children = (
+				1E155F9F1D9A5B8A00CC4E13 /* libpingpp+applepayUpacp.a */,
+				1E155FA01D9A5B8A00CC4E13 /* libUPAPayPlugin.a */,
+			);
+			path = ApplePay;
+			sourceTree = "<group>";
+		};
+		1E155FA21D9A5B8A00CC4E13 /* BfbWap */ = {
+			isa = PBXGroup;
+			children = (
+				1E155FA31D9A5B8A00CC4E13 /* libpingpp+bfbWap.a */,
+			);
+			path = BfbWap;
+			sourceTree = "<group>";
+		};
+		1E1560C71D9A5B8A00CC4E13 /* QQWallet */ = {
+			isa = PBXGroup;
+			children = (
+				1E1560C81D9A5B8A00CC4E13 /* libpingpp+qqwallet.a */,
+			);
+			path = QQWallet;
+			sourceTree = "<group>";
+		};
+		1E1560C91D9A5B8A00CC4E13 /* UnionPay */ = {
+			isa = PBXGroup;
+			children = (
+				1E1560CA1D9A5B8A00CC4E13 /* libPaymentControl.a */,
+				1E1560CB1D9A5B8A00CC4E13 /* libpingpp+up.a */,
+			);
+			path = UnionPay;
+			sourceTree = "<group>";
+		};
+		1E1560CD1D9A5B8A00CC4E13 /* Yeepay */ = {
+			isa = PBXGroup;
+			children = (
+				1E1560CE1D9A5B8A00CC4E13 /* libpingpp+yeepay.a */,
+			);
+			path = Yeepay;
+			sourceTree = "<group>";
+		};
+		1E1560CF1D9A5B8A00CC4E13 /* Dependencies */ = {
+			isa = PBXGroup;
+			children = (
+				1E1560D01D9A5B8A00CC4E13 /* Network */,
+				1E1560D31D9A5B8A00CC4E13 /* WebView */,
+			);
+			path = Dependencies;
+			sourceTree = "<group>";
+		};
+		1E1560D01D9A5B8A00CC4E13 /* Network */ = {
+			isa = PBXGroup;
+			children = (
+				1E1560D11D9A5B8A00CC4E13 /* libpingpp+network.a */,
+				1E1560D21D9A5B8A00CC4E13 /* PingppURLResponse.h */,
+			);
+			path = Network;
+			sourceTree = "<group>";
+		};
+		1E1560D31D9A5B8A00CC4E13 /* WebView */ = {
+			isa = PBXGroup;
+			children = (
+				1E1560D41D9A5B8A00CC4E13 /* libpingpp+webview.a */,
+			);
+			path = WebView;
+			sourceTree = "<group>";
+		};
+		1E1560D61D9A5B8A00CC4E13 /* One */ = {
+			isa = PBXGroup;
+			children = (
+				1E1560D71D9A5B8A00CC4E13 /* libpingpp+one.a */,
+				1E1560D81D9A5B8A00CC4E13 /* Pingpp+One.h */,
+			);
+			path = One;
+			sourceTree = "<group>";
+		};
+		1EAA24591AF2115A00952143 = {
+			isa = PBXGroup;
+			children = (
+				1EAA24641AF2115B00952143 /* demoapp-swift */,
+				1EAA24F51AF213D200952143 /* Frameworks */,
+				1EAA247A1AF2115B00952143 /* demoapp-swiftTests */,
+				1EAA24631AF2115B00952143 /* Products */,
+			);
+			sourceTree = "<group>";
+		};
+		1EAA24631AF2115B00952143 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				1EAA24621AF2115B00952143 /* demoapp-swift.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		1EAA24641AF2115B00952143 /* demoapp-swift */ = {
+			isa = PBXGroup;
+			children = (
+				1E155F981D9A5B8A00CC4E13 /* Pingpp */,
+				1EAA24671AF2115B00952143 /* AppDelegate.swift */,
+				1EAA24691AF2115B00952143 /* ViewController.swift */,
+				1EAA246B1AF2115B00952143 /* Main.storyboard */,
+				1EAA246E1AF2115B00952143 /* Images.xcassets */,
+				1EAA24701AF2115B00952143 /* LaunchScreen.xib */,
+				1EAA251D1AF2191500952143 /* demoapp-swift-Bridging-Header.h */,
+				1EAA24651AF2115B00952143 /* Supporting Files */,
+			);
+			path = "demoapp-swift";
+			sourceTree = "<group>";
+		};
+		1EAA24651AF2115B00952143 /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				1EAA24661AF2115B00952143 /* Info.plist */,
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+		1EAA247A1AF2115B00952143 /* demoapp-swiftTests */ = {
+			isa = PBXGroup;
+			children = (
+				1EAA247D1AF2115B00952143 /* demoapp_swiftTests.swift */,
+				1EAA247B1AF2115B00952143 /* Supporting Files */,
+			);
+			path = "demoapp-swiftTests";
+			sourceTree = "<group>";
+		};
+		1EAA247B1AF2115B00952143 /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				1EAA247C1AF2115B00952143 /* Info.plist */,
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+		1EAA24F51AF213D200952143 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				1EAA25181AF214B300952143 /* PassKit.framework */,
+				1EAA25161AF2149100952143 /* AddressBookUI.framework */,
+				1EAA25141AF2148C00952143 /* AddressBook.framework */,
+				1EAA25121AF2147300952143 /* MapKit.framework */,
+				1EAA25101AF2146800952143 /* CoreAudio.framework */,
+				1EAA250E1AF2146300952143 /* AudioToolbox.framework */,
+				1EAA250C1AF2145500952143 /* MessageUI.framework */,
+				1EAA250A1AF2144C00952143 /* MobileCoreServices.framework */,
+				1EAA25081AF2144500952143 /* QuartzCore.framework */,
+				1EAA25061AF2144000952143 /* ImageIO.framework */,
+				1EAA25041AF2143800952143 /* CoreGraphics.framework */,
+				1EAA25021AF2142B00952143 /* CoreTelephony.framework */,
+				1EAA25001AF2142000952143 /* Security.framework */,
+				1EAA24FE1AF2140D00952143 /* libz.dylib */,
+				1EAA24FC1AF2140800952143 /* libsqlite3.dylib */,
+				1EAA24FA1AF2140100952143 /* libstdc++.dylib */,
+				1EAA24F61AF213EB00952143 /* libc++.dylib */,
+				1EAA24F31AF213C300952143 /* CFNetwork.framework */,
+				1EAA24F11AF213BE00952143 /* SystemConfiguration.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		1EAA24611AF2115B00952143 /* demoapp-swift */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 1EAA24811AF2115B00952143 /* Build configuration list for PBXNativeTarget "demoapp-swift" */;
+			buildPhases = (
+				1EAA245E1AF2115B00952143 /* Sources */,
+				1EAA245F1AF2115B00952143 /* Frameworks */,
+				1EAA24601AF2115B00952143 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = "demoapp-swift";
+			productName = "demoapp-swift";
+			productReference = 1EAA24621AF2115B00952143 /* demoapp-swift.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		1EAA245A1AF2115A00952143 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastSwiftUpdateCheck = 0700;
+				LastUpgradeCheck = 0700;
+				ORGANIZATIONNAME = Pingplusplus;
+				TargetAttributes = {
+					1EAA24611AF2115B00952143 = {
+						CreatedOnToolsVersion = 6.3.1;
+						DevelopmentTeam = 3XCAYELUBS;
+						LastSwiftMigration = 0800;
+					};
+				};
+			};
+			buildConfigurationList = 1EAA245D1AF2115A00952143 /* Build configuration list for PBXProject "demoapp-swift" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = 1EAA24591AF2115A00952143;
+			productRefGroup = 1EAA24631AF2115B00952143 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				1EAA24611AF2115B00952143 /* demoapp-swift */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		1EAA24601AF2115B00952143 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				1E1561C11D9A5B8A00CC4E13 /* Pingpp.bundle in Resources */,
+				1EAA246D1AF2115B00952143 /* Main.storyboard in Resources */,
+				1EAA24721AF2115B00952143 /* LaunchScreen.xib in Resources */,
+				1E1560DB1D9A5B8A00CC4E13 /* AlipaySDK.bundle in Resources */,
+				1EAA246F1AF2115B00952143 /* Images.xcassets in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		1EAA245E1AF2115B00952143 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				1EAA246A1AF2115B00952143 /* ViewController.swift in Sources */,
+				1EAA24681AF2115B00952143 /* AppDelegate.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		1EAA246B1AF2115B00952143 /* Main.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				1EAA246C1AF2115B00952143 /* Base */,
+			);
+			name = Main.storyboard;
+			sourceTree = "<group>";
+		};
+		1EAA24701AF2115B00952143 /* LaunchScreen.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				1EAA24711AF2115B00952143 /* Base */,
+			);
+			name = LaunchScreen.xib;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		1EAA247F1AF2115B00952143 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				MTL_ENABLE_DEBUG_INFO = YES;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Debug;
+		};
+		1EAA24801AF2115B00952143 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				MTL_ENABLE_DEBUG_INFO = NO;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		1EAA24821AF2115B00952143 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CLANG_CXX_LIBRARY = "libstdc++";
+				DEVELOPMENT_TEAM = 3XCAYELUBS;
+				ENABLE_BITCODE = NO;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/../../lib/Channels/Alipay",
+				);
+				INFOPLIST_FILE = "demoapp-swift/Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+				LIBRARY_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/../../lib/Channels/Alipay",
+					"$(PROJECT_DIR)/../../lib/Channels/UnionPay",
+					"$(PROJECT_DIR)/../../lib",
+					"$(PROJECT_DIR)/../../lib/Dependencies/Network",
+					"$(PROJECT_DIR)/../../lib/One",
+					"$(PROJECT_DIR)/../../lib/Channels/BfbWap",
+					"$(PROJECT_DIR)/../../lib/Channels/QQWallet",
+					"$(PROJECT_DIR)/../../lib/Dependencies/Webview",
+					"$(PROJECT_DIR)/../../lib/Channels/Yeepay",
+					"$(PROJECT_DIR)/../../lib/Channels/ApplePay",
+				);
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"-ObjC",
+					"-l\"c++\"",
+					"-l\"pingpp+alipay\"",
+					"-l\"pingpp+network\"",
+					"-l\"pingpp+one\"",
+					"-l\"pingpp+up\"",
+					"-l\"pingppcore\"",
+					"-l\"sqlite3\"",
+					"-l\"stdc++\"",
+					"-l\"z\"",
+					"-framework",
+					"\"AddressBook\"",
+					"-framework",
+					"\"AddressBookUI\"",
+					"-framework",
+					"\"AlipaySDK\"",
+					"-framework",
+					"\"AudioToolbox\"",
+					"-framework",
+					"\"CFNetwork\"",
+					"-framework",
+					"\"CoreAudio\"",
+					"-framework",
+					"\"CoreGraphics\"",
+					"-framework",
+					"\"CoreTelephony\"",
+					"-framework",
+					"\"ImageIO\"",
+					"-framework",
+					"\"MapKit\"",
+					"-framework",
+					"\"MessageUI\"",
+					"-framework",
+					"\"MobileCoreServices\"",
+					"-framework",
+					"\"QuartzCore\"",
+					"-framework",
+					"\"Security\"",
+					"-framework",
+					"\"SystemConfiguration\"",
+					"-framework",
+					"\"CoreMotion\"",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = "com.pingplusplus.demoapp-swift";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = iphoneos10.0;
+				SWIFT_OBJC_BRIDGING_HEADER = "demoapp-swift/demoapp-swift-Bridging-Header.h";
+				SWIFT_VERSION = 3.0;
+			};
+			name = Debug;
+		};
+		1EAA24831AF2115B00952143 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CLANG_CXX_LIBRARY = "libstdc++";
+				DEVELOPMENT_TEAM = 3XCAYELUBS;
+				ENABLE_BITCODE = NO;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/../../lib/Channels/Alipay",
+				);
+				INFOPLIST_FILE = "demoapp-swift/Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+				LIBRARY_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/../../lib/Channels/Alipay",
+					"$(PROJECT_DIR)/../../lib/Channels/UnionPay",
+					"$(PROJECT_DIR)/../../lib",
+					"$(PROJECT_DIR)/../../lib/Dependencies/Network",
+					"$(PROJECT_DIR)/../../lib/One",
+					"$(PROJECT_DIR)/../../lib/Channels/BfbWap",
+					"$(PROJECT_DIR)/../../lib/Channels/QQWallet",
+					"$(PROJECT_DIR)/../../lib/Dependencies/Webview",
+					"$(PROJECT_DIR)/../../lib/Channels/Yeepay",
+					"$(PROJECT_DIR)/../../lib/Channels/ApplePay",
+				);
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"-ObjC",
+					"-l\"c++\"",
+					"-l\"pingpp+alipay\"",
+					"-l\"pingpp+network\"",
+					"-l\"pingpp+one\"",
+					"-l\"pingpp+up\"",
+					"-l\"pingppcore\"",
+					"-l\"sqlite3\"",
+					"-l\"stdc++\"",
+					"-l\"z\"",
+					"-framework",
+					"\"AddressBook\"",
+					"-framework",
+					"\"AddressBookUI\"",
+					"-framework",
+					"\"AlipaySDK\"",
+					"-framework",
+					"\"AudioToolbox\"",
+					"-framework",
+					"\"CFNetwork\"",
+					"-framework",
+					"\"CoreAudio\"",
+					"-framework",
+					"\"CoreGraphics\"",
+					"-framework",
+					"\"CoreTelephony\"",
+					"-framework",
+					"\"ImageIO\"",
+					"-framework",
+					"\"MapKit\"",
+					"-framework",
+					"\"MessageUI\"",
+					"-framework",
+					"\"MobileCoreServices\"",
+					"-framework",
+					"\"QuartzCore\"",
+					"-framework",
+					"\"Security\"",
+					"-framework",
+					"\"SystemConfiguration\"",
+					"-framework",
+					"\"CoreMotion\"",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = "com.pingplusplus.demoapp-swift";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = iphoneos10.0;
+				SWIFT_OBJC_BRIDGING_HEADER = "demoapp-swift/demoapp-swift-Bridging-Header.h";
+				SWIFT_VERSION = 3.0;
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		1EAA245D1AF2115A00952143 /* Build configuration list for PBXProject "demoapp-swift" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1EAA247F1AF2115B00952143 /* Debug */,
+				1EAA24801AF2115B00952143 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		1EAA24811AF2115B00952143 /* Build configuration list for PBXNativeTarget "demoapp-swift" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1EAA24821AF2115B00952143 /* Debug */,
+				1EAA24831AF2115B00952143 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 1EAA245A1AF2115A00952143 /* Project object */;
+}
diff --git a/pingpp-ios/example/demoapp-swift/demoapp-swift/AppDelegate.swift b/pingpp-ios/example/demoapp-swift/demoapp-swift/AppDelegate.swift
new file mode 100755
index 0000000..bd91303
--- /dev/null
+++ b/pingpp-ios/example/demoapp-swift/demoapp-swift/AppDelegate.swift
@@ -0,0 +1,58 @@
+//
+//  AppDelegate.swift
+//  demoapp-swift
+//
+//  Created by Afon on 15/4/30.
+//  Copyright (c) 2015��� Pingplusplus. All rights reserved.
+//
+
+import UIKit
+
+@UIApplicationMain
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+    var window: UIWindow?
+
+
+    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
+        // Override point for customization after application launch.
+        Pingpp.setDebugMode(true)
+        print(Pingpp.version())
+        return true
+    }
+
+    func applicationWillResignActive(application: UIApplication) {
+        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+    }
+
+    func applicationDidEnterBackground(application: UIApplication) {
+        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+    }
+
+    func applicationWillEnterForeground(application: UIApplication) {
+        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+    }
+
+    func applicationDidBecomeActive(application: UIApplication) {
+        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+    }
+
+    func applicationWillTerminate(application: UIApplication) {
+        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+    }
+
+    // ��������������������������������������� Objective-C ������������
+    // iOS 8 ���������������������
+    func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
+        return Pingpp.handleOpen(url as URL!, withCompletion: nil)
+    }
+    
+    // iOS 9 ������������������
+    func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
+        return Pingpp.handleOpen(url as URL!, withCompletion: nil)
+    }
+
+}
+
diff --git a/pingpp-ios/example/demoapp-swift/demoapp-swift/Base.lproj/LaunchScreen.xib b/pingpp-ios/example/demoapp-swift/demoapp-swift/Base.lproj/LaunchScreen.xib
new file mode 100755
index 0000000..da05650
--- /dev/null
+++ b/pingpp-ios/example/demoapp-swift/demoapp-swift/Base.lproj/LaunchScreen.xib
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6214" systemVersion="14A314h" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
+    <dependencies>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6207"/>
+        <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="  Copyright (c) 2015��� Pingplusplus. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
+                    <rect key="frame" x="20" y="439" width="441" height="21"/>
+                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                    <nil key="highlightedColor"/>
+                </label>
+                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="demoapp-swift" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
+                    <rect key="frame" x="20" y="140" width="441" height="43"/>
+                    <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
+                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                    <nil key="highlightedColor"/>
+                </label>
+            </subviews>
+            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+            <constraints>
+                <constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
+                <constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
+                <constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
+                <constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
+                <constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
+                <constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
+            </constraints>
+            <nil key="simulatedStatusBarMetrics"/>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <point key="canvasLocation" x="548" y="455"/>
+        </view>
+    </objects>
+</document>
diff --git a/pingpp-ios/example/demoapp-swift/demoapp-swift/Base.lproj/Main.storyboard b/pingpp-ios/example/demoapp-swift/demoapp-swift/Base.lproj/Main.storyboard
new file mode 100755
index 0000000..3a2a49b
--- /dev/null
+++ b/pingpp-ios/example/demoapp-swift/demoapp-swift/Base.lproj/Main.storyboard
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="6211" systemVersion="14A298i" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
+    <dependencies>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6204"/>
+    </dependencies>
+    <scenes>
+        <!--View Controller-->
+        <scene sceneID="tne-QT-ifu">
+            <objects>
+                <viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="target" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
+                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
+                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
+            </objects>
+        </scene>
+    </scenes>
+</document>
diff --git a/pingpp-ios/example/demoapp-swift/demoapp-swift/Images.xcassets/AppIcon.appiconset/Contents.json b/pingpp-ios/example/demoapp-swift/demoapp-swift/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100755
index 0000000..36d2c80
--- /dev/null
+++ b/pingpp-ios/example/demoapp-swift/demoapp-swift/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,68 @@
+{
+  "images" : [
+    {
+      "idiom" : "iphone",
+      "size" : "29x29",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "29x29",
+      "scale" : "3x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "40x40",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "40x40",
+      "scale" : "3x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "60x60",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "60x60",
+      "scale" : "3x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "29x29",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "29x29",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "40x40",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "40x40",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "76x76",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "76x76",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/example/demoapp-swift/demoapp-swift/Info.plist b/pingpp-ios/example/demoapp-swift/demoapp-swift/Info.plist
new file mode 100755
index 0000000..6d0a0b2
--- /dev/null
+++ b/pingpp-ios/example/demoapp-swift/demoapp-swift/Info.plist
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>$(PRODUCT_NAME)</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleURLTypes</key>
+	<array>
+		<dict>
+			<key>CFBundleTypeRole</key>
+			<string>Editor</string>
+			<key>CFBundleURLSchemes</key>
+			<array>
+				<string>YOUR-APP-URL-SCHEME</string>
+			</array>
+		</dict>
+		<dict>
+			<key>CFBundleTypeRole</key>
+			<string>Editor</string>
+			<key>CFBundleURLSchemes</key>
+			<array>
+				<string>demoappswift</string>
+			</array>
+		</dict>
+	</array>
+	<key>CFBundleVersion</key>
+	<string>1</string>
+	<key>LSApplicationQueriesSchemes</key>
+	<array>
+		<string>weixin</string>
+		<string>wechat</string>
+		<string>alipay</string>
+	</array>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>NSAppTransportSecurity</key>
+	<dict>
+		<key>NSAllowsArbitraryLoads</key>
+		<true/>
+	</dict>
+	<key>UILaunchStoryboardName</key>
+	<string>LaunchScreen</string>
+	<key>UIMainStoryboardFile</key>
+	<string>Main</string>
+	<key>UIRequiredDeviceCapabilities</key>
+	<array>
+		<string>armv7</string>
+	</array>
+	<key>UISupportedInterfaceOrientations</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+	</array>
+	<key>UISupportedInterfaceOrientations~ipad</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+		<string>UIInterfaceOrientationPortraitUpsideDown</string>
+		<string>UIInterfaceOrientationLandscapeLeft</string>
+		<string>UIInterfaceOrientationLandscapeRight</string>
+	</array>
+</dict>
+</plist>
diff --git a/pingpp-ios/example/demoapp-swift/demoapp-swift/ViewController.swift b/pingpp-ios/example/demoapp-swift/demoapp-swift/ViewController.swift
new file mode 100755
index 0000000..276d554
--- /dev/null
+++ b/pingpp-ios/example/demoapp-swift/demoapp-swift/ViewController.swift
@@ -0,0 +1,64 @@
+//
+//  ViewController.swift
+//  demoapp-swift
+//
+//  Created by Afon on 15/4/30.
+//  Copyright (c) 2015��� Pingplusplus. All rights reserved.
+//
+
+import UIKit
+
+let kBackendChargeURL = "http://218.244.151.190/demo/charge" // ������������������������������ charge ��� URL ������������������������������������
+// ������������������������������������ Objective-C ������������
+let kAppURLScheme = "demoappswift" // ��������������������� URL Scheme���������������������������������������������������
+
+class ViewController: UIViewController {
+
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do any additional setup after loading the view, typically from a nib.
+    }
+
+    override func didReceiveMemoryWarning() {
+        super.didReceiveMemoryWarning()
+        // Dispose of any resources that can be recreated.
+    }
+
+    override func viewDidAppear(_ animated: Bool) {
+
+        let postDict : AnyObject = NSDictionary(objects: ["alipay", "10"], forKeys: ["channel" as NSCopying, "amount" as NSCopying])
+        var postData: NSData = NSData()
+        do {
+            try postData = JSONSerialization.data(withJSONObject: postDict, options: JSONSerialization.WritingOptions.prettyPrinted) as NSData
+        } catch {
+            print("Serialization error")
+        }
+        
+        let url = NSURL(string: kBackendChargeURL)
+        let session = URLSession.shared
+        let request = NSMutableURLRequest(url: url! as URL)
+        request.httpMethod = "POST"
+        request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
+        request.httpBody = postData as Data
+
+        let sessionTask = session.dataTask(with: request as URLRequest) { (data, response, error) -> Void in
+            if data != nil {
+                let charge = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
+                print(charge! as String)
+                
+                    Pingpp.createPayment(charge! as String as String as NSObject!, appURLScheme: kAppURLScheme) { (result, error) -> Void in
+                        print(result)
+                        if error != nil {
+                            print(error?.code.rawValue)
+                            print(error?.getMsg())
+                        }
+                    }
+                
+            } else {
+                print("response data is nil")
+            }
+        }
+        sessionTask.resume()
+    }
+}
+
diff --git a/pingpp-ios/example/demoapp-swift/demoapp-swift/demoapp-swift-Bridging-Header.h b/pingpp-ios/example/demoapp-swift/demoapp-swift/demoapp-swift-Bridging-Header.h
new file mode 100755
index 0000000..c2d9697
--- /dev/null
+++ b/pingpp-ios/example/demoapp-swift/demoapp-swift/demoapp-swift-Bridging-Header.h
@@ -0,0 +1,6 @@
+//
+//  Use this file to import your target's public headers that you would like to expose to Swift.
+//
+
+#import <UIKit/UIKit.h>
+#import "Pingpp.h"
\ No newline at end of file
diff --git a/pingpp-ios/example/demoapp-swift/demoapp-swiftTests/Info.plist b/pingpp-ios/example/demoapp-swift/demoapp-swiftTests/Info.plist
new file mode 100755
index 0000000..ba72822
--- /dev/null
+++ b/pingpp-ios/example/demoapp-swift/demoapp-swiftTests/Info.plist
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>$(PRODUCT_NAME)</string>
+	<key>CFBundlePackageType</key>
+	<string>BNDL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1</string>
+</dict>
+</plist>
diff --git a/pingpp-ios/example/demoapp-swift/demoapp-swiftTests/demoapp_swiftTests.swift b/pingpp-ios/example/demoapp-swift/demoapp-swiftTests/demoapp_swiftTests.swift
new file mode 100755
index 0000000..77a13ff
--- /dev/null
+++ b/pingpp-ios/example/demoapp-swift/demoapp-swiftTests/demoapp_swiftTests.swift
@@ -0,0 +1,36 @@
+//
+//  demoapp_swiftTests.swift
+//  demoapp-swiftTests
+//
+//  Created by Afon on 15/4/30.
+//  Copyright (c) 2015��� Pingplusplus. All rights reserved.
+//
+
+import UIKit
+import XCTest
+
+class demoapp_swiftTests: XCTestCase {
+    
+    override func setUp() {
+        super.setUp()
+        // Put setup code here. This method is called before the invocation of each test method in the class.
+    }
+    
+    override func tearDown() {
+        // Put teardown code here. This method is called after the invocation of each test method in the class.
+        super.tearDown()
+    }
+    
+    func testExample() {
+        // This is an example of a functional test case.
+        XCTAssert(true, "Pass")
+    }
+    
+    func testPerformanceExample() {
+        // This is an example of a performance test case.
+        self.measureBlock() {
+            // Put the code you want to measure the time of here.
+        }
+    }
+    
+}
diff --git a/pingpp-ios/example/demoapp.xcodeproj/project.pbxproj b/pingpp-ios/example/demoapp.xcodeproj/project.pbxproj
new file mode 100755
index 0000000..e6c525a
--- /dev/null
+++ b/pingpp-ios/example/demoapp.xcodeproj/project.pbxproj
@@ -0,0 +1,648 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		003625991D9A4CB8004E6244 /* AlipaySDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 0036245A1D9A4CB7004E6244 /* AlipaySDK.bundle */; };
+		0036259A1D9A4CB8004E6244 /* AlipaySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0036245B1D9A4CB7004E6244 /* AlipaySDK.framework */; };
+		0036259B1D9A4CB8004E6244 /* libpingpp+alipay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0036245C1D9A4CB7004E6244 /* libpingpp+alipay.a */; };
+		0036259E1D9A4CB8004E6244 /* libpingpp+bfbWap.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 003624611D9A4CB7004E6244 /* libpingpp+bfbWap.a */; };
+		003626771D9A4CB8004E6244 /* libpingpp+qqwallet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 003625861D9A4CB8004E6244 /* libpingpp+qqwallet.a */; };
+		003626781D9A4CB8004E6244 /* libPaymentControl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 003625891D9A4CB8004E6244 /* libPaymentControl.a */; };
+		003626791D9A4CB8004E6244 /* libpingpp+up.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0036258A1D9A4CB8004E6244 /* libpingpp+up.a */; };
+		0036267B1D9A4CB8004E6244 /* libpingpp+network.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0036258F1D9A4CB8004E6244 /* libpingpp+network.a */; };
+		0036267C1D9A4CB8004E6244 /* libpingpp+webview.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 003625921D9A4CB8004E6244 /* libpingpp+webview.a */; };
+		0036267D1D9A4CB8004E6244 /* libpingppcore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 003625931D9A4CB8004E6244 /* libpingppcore.a */; };
+		0036267E1D9A4CB8004E6244 /* libpingpp+one.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 003625951D9A4CB8004E6244 /* libpingpp+one.a */; };
+		0036267F1D9A4CB8004E6244 /* Pingpp.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 003625971D9A4CB8004E6244 /* Pingpp.bundle */; };
+		003626821D9A5091004E6244 /* libpingpp+yeepay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 003626811D9A5091004E6244 /* libpingpp+yeepay.a */; };
+		5F61B02119C81A4F0035CD99 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F61B02019C81A4F0035CD99 /* Foundation.framework */; };
+		5F61B02519C81A500035CD99 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F61B02419C81A500035CD99 /* UIKit.framework */; };
+		5FA5761F1A58F551000B36ED /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FA576111A58F551000B36ED /* AppDelegate.m */; };
+		5FA576211A58F551000B36ED /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5FA576141A58F551000B36ED /* Images.xcassets */; };
+		5FA576221A58F551000B36ED /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FA576151A58F551000B36ED /* main.m */; };
+		5FA576231A58F551000B36ED /* home.png in Resources */ = {isa = PBXBuildFile; fileRef = 5FA576171A58F551000B36ED /* home.png */; };
+		5FA576241A58F551000B36ED /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5FA576191A58F551000B36ED /* InfoPlist.strings */; };
+		5FA576251A58F551000B36ED /* ViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5FA5761B1A58F551000B36ED /* ViewController_iPad.xib */; };
+		5FA576261A58F551000B36ED /* ViewController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5FA5761C1A58F551000B36ED /* ViewController_iPhone.xib */; };
+		5FA576311A58FA7C000B36ED /* ViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5FA576301A58FA7C000B36ED /* ViewController.mm */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		0036245A1D9A4CB7004E6244 /* AlipaySDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = AlipaySDK.bundle; sourceTree = "<group>"; };
+		0036245B1D9A4CB7004E6244 /* AlipaySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AlipaySDK.framework; sourceTree = "<group>"; };
+		0036245C1D9A4CB7004E6244 /* libpingpp+alipay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+alipay.a"; sourceTree = "<group>"; };
+		003624611D9A4CB7004E6244 /* libpingpp+bfbWap.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+bfbWap.a"; sourceTree = "<group>"; };
+		003625861D9A4CB8004E6244 /* libpingpp+qqwallet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+qqwallet.a"; sourceTree = "<group>"; };
+		003625891D9A4CB8004E6244 /* libPaymentControl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libPaymentControl.a; sourceTree = "<group>"; };
+		0036258A1D9A4CB8004E6244 /* libpingpp+up.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+up.a"; sourceTree = "<group>"; };
+		0036258F1D9A4CB8004E6244 /* libpingpp+network.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+network.a"; sourceTree = "<group>"; };
+		003625901D9A4CB8004E6244 /* PingppURLResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PingppURLResponse.h; sourceTree = "<group>"; };
+		003625921D9A4CB8004E6244 /* libpingpp+webview.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+webview.a"; sourceTree = "<group>"; };
+		003625931D9A4CB8004E6244 /* libpingppcore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libpingppcore.a; sourceTree = "<group>"; };
+		003625951D9A4CB8004E6244 /* libpingpp+one.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+one.a"; sourceTree = "<group>"; };
+		003625961D9A4CB8004E6244 /* Pingpp+One.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pingpp+One.h"; sourceTree = "<group>"; };
+		003625971D9A4CB8004E6244 /* Pingpp.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Pingpp.bundle; sourceTree = "<group>"; };
+		003625981D9A4CB8004E6244 /* Pingpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pingpp.h; sourceTree = "<group>"; };
+		003626811D9A5091004E6244 /* libpingpp+yeepay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpingpp+yeepay.a"; sourceTree = "<group>"; };
+		5F5BBB2019D0189B009A9DCE /* en */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = en; path = en.lproj/home.png; sourceTree = "<group>"; };
+		5F61B01D19C81A4F0035CD99 /* demoapp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = demoapp.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		5F61B02019C81A4F0035CD99 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		5F61B02419C81A500035CD99 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+		5F61B05E19C81D390035CD99 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		5F61B05F19C81D390035CD99 /* ViewController_iPad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ViewController_iPad.xib; sourceTree = "<group>"; };
+		5F61B06019C81D390035CD99 /* ViewController_iPhone.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ViewController_iPhone.xib; sourceTree = "<group>"; };
+		5FA576101A58F551000B36ED /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+		5FA576111A58F551000B36ED /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+		5FA576121A58F551000B36ED /* demoapp-Info.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "demoapp-Info.pch"; sourceTree = "<group>"; };
+		5FA576131A58F551000B36ED /* demoapp-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "demoapp-Info.plist"; sourceTree = "<group>"; };
+		5FA576141A58F551000B36ED /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
+		5FA576151A58F551000B36ED /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		5FA576181A58F551000B36ED /* en */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = en; path = en.lproj/home.png; sourceTree = "<group>"; };
+		5FA5761A1A58F551000B36ED /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		5FA5761B1A58F551000B36ED /* ViewController_iPad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ViewController_iPad.xib; sourceTree = "<group>"; };
+		5FA5761C1A58F551000B36ED /* ViewController_iPhone.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ViewController_iPhone.xib; sourceTree = "<group>"; };
+		5FA5761D1A58F551000B36ED /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
+		5FA576301A58FA7C000B36ED /* ViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ViewController.mm; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		5F61B01A19C81A4F0035CD99 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				0036267B1D9A4CB8004E6244 /* libpingpp+network.a in Frameworks */,
+				5F61B02519C81A500035CD99 /* UIKit.framework in Frameworks */,
+				0036259E1D9A4CB8004E6244 /* libpingpp+bfbWap.a in Frameworks */,
+				003626771D9A4CB8004E6244 /* libpingpp+qqwallet.a in Frameworks */,
+				0036267E1D9A4CB8004E6244 /* libpingpp+one.a in Frameworks */,
+				003626781D9A4CB8004E6244 /* libPaymentControl.a in Frameworks */,
+				0036267D1D9A4CB8004E6244 /* libpingppcore.a in Frameworks */,
+				0036267C1D9A4CB8004E6244 /* libpingpp+webview.a in Frameworks */,
+				003626791D9A4CB8004E6244 /* libpingpp+up.a in Frameworks */,
+				003626821D9A5091004E6244 /* libpingpp+yeepay.a in Frameworks */,
+				0036259B1D9A4CB8004E6244 /* libpingpp+alipay.a in Frameworks */,
+				5F61B02119C81A4F0035CD99 /* Foundation.framework in Frameworks */,
+				0036259A1D9A4CB8004E6244 /* AlipaySDK.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		003624571D9A4CB7004E6244 /* Pingpp */ = {
+			isa = PBXGroup;
+			children = (
+				003624581D9A4CB7004E6244 /* Channels */,
+				0036258D1D9A4CB8004E6244 /* Dependencies */,
+				003625931D9A4CB8004E6244 /* libpingppcore.a */,
+				003625941D9A4CB8004E6244 /* One */,
+				003625971D9A4CB8004E6244 /* Pingpp.bundle */,
+				003625981D9A4CB8004E6244 /* Pingpp.h */,
+			);
+			name = Pingpp;
+			path = ../../lib;
+			sourceTree = "<group>";
+		};
+		003624581D9A4CB7004E6244 /* Channels */ = {
+			isa = PBXGroup;
+			children = (
+				003624591D9A4CB7004E6244 /* Alipay */,
+				003624601D9A4CB7004E6244 /* BfbWap */,
+				003625851D9A4CB8004E6244 /* QQWallet */,
+				003625881D9A4CB8004E6244 /* UnionPay */,
+				003626801D9A5091004E6244 /* Yeepay */,
+			);
+			path = Channels;
+			sourceTree = "<group>";
+		};
+		003624591D9A4CB7004E6244 /* Alipay */ = {
+			isa = PBXGroup;
+			children = (
+				0036245A1D9A4CB7004E6244 /* AlipaySDK.bundle */,
+				0036245B1D9A4CB7004E6244 /* AlipaySDK.framework */,
+				0036245C1D9A4CB7004E6244 /* libpingpp+alipay.a */,
+			);
+			path = Alipay;
+			sourceTree = "<group>";
+		};
+		003624601D9A4CB7004E6244 /* BfbWap */ = {
+			isa = PBXGroup;
+			children = (
+				003624611D9A4CB7004E6244 /* libpingpp+bfbWap.a */,
+			);
+			path = BfbWap;
+			sourceTree = "<group>";
+		};
+		003625851D9A4CB8004E6244 /* QQWallet */ = {
+			isa = PBXGroup;
+			children = (
+				003625861D9A4CB8004E6244 /* libpingpp+qqwallet.a */,
+			);
+			path = QQWallet;
+			sourceTree = "<group>";
+		};
+		003625881D9A4CB8004E6244 /* UnionPay */ = {
+			isa = PBXGroup;
+			children = (
+				003625891D9A4CB8004E6244 /* libPaymentControl.a */,
+				0036258A1D9A4CB8004E6244 /* libpingpp+up.a */,
+			);
+			path = UnionPay;
+			sourceTree = "<group>";
+		};
+		0036258D1D9A4CB8004E6244 /* Dependencies */ = {
+			isa = PBXGroup;
+			children = (
+				0036258E1D9A4CB8004E6244 /* Network */,
+				003625911D9A4CB8004E6244 /* WebView */,
+			);
+			path = Dependencies;
+			sourceTree = "<group>";
+		};
+		0036258E1D9A4CB8004E6244 /* Network */ = {
+			isa = PBXGroup;
+			children = (
+				0036258F1D9A4CB8004E6244 /* libpingpp+network.a */,
+				003625901D9A4CB8004E6244 /* PingppURLResponse.h */,
+			);
+			path = Network;
+			sourceTree = "<group>";
+		};
+		003625911D9A4CB8004E6244 /* WebView */ = {
+			isa = PBXGroup;
+			children = (
+				003625921D9A4CB8004E6244 /* libpingpp+webview.a */,
+			);
+			path = WebView;
+			sourceTree = "<group>";
+		};
+		003625941D9A4CB8004E6244 /* One */ = {
+			isa = PBXGroup;
+			children = (
+				003625951D9A4CB8004E6244 /* libpingpp+one.a */,
+				003625961D9A4CB8004E6244 /* Pingpp+One.h */,
+			);
+			path = One;
+			sourceTree = "<group>";
+		};
+		003626801D9A5091004E6244 /* Yeepay */ = {
+			isa = PBXGroup;
+			children = (
+				003626811D9A5091004E6244 /* libpingpp+yeepay.a */,
+			);
+			path = Yeepay;
+			sourceTree = "<group>";
+		};
+		5F61B01419C81A4F0035CD99 = {
+			isa = PBXGroup;
+			children = (
+				5FA5760F1A58F551000B36ED /* demoapp */,
+				5F61B01F19C81A4F0035CD99 /* Frameworks */,
+				5F61B05C19C81D390035CD99 /* Resources */,
+				5F61B01E19C81A4F0035CD99 /* Products */,
+			);
+			sourceTree = "<group>";
+		};
+		5F61B01E19C81A4F0035CD99 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				5F61B01D19C81A4F0035CD99 /* demoapp.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		5F61B01F19C81A4F0035CD99 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				5F61B02019C81A4F0035CD99 /* Foundation.framework */,
+				5F61B02419C81A500035CD99 /* UIKit.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		5F61B05C19C81D390035CD99 /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				5F61B05D19C81D390035CD99 /* InfoPlist.strings */,
+				5F61B05F19C81D390035CD99 /* ViewController_iPad.xib */,
+				5F61B06019C81D390035CD99 /* ViewController_iPhone.xib */,
+				5F5BBB1F19D0189B009A9DCE /* home.png */,
+			);
+			name = Resources;
+			path = demoapp/Resources;
+			sourceTree = "<group>";
+		};
+		5FA5760F1A58F551000B36ED /* demoapp */ = {
+			isa = PBXGroup;
+			children = (
+				003624571D9A4CB7004E6244 /* Pingpp */,
+				5FA576101A58F551000B36ED /* AppDelegate.h */,
+				5FA576111A58F551000B36ED /* AppDelegate.m */,
+				5FA5761D1A58F551000B36ED /* ViewController.h */,
+				5FA576301A58FA7C000B36ED /* ViewController.mm */,
+				5FA576121A58F551000B36ED /* demoapp-Info.pch */,
+				5FA576131A58F551000B36ED /* demoapp-Info.plist */,
+				5FA576141A58F551000B36ED /* Images.xcassets */,
+				5FA576151A58F551000B36ED /* main.m */,
+				5FA576161A58F551000B36ED /* Resources */,
+			);
+			path = demoapp;
+			sourceTree = "<group>";
+		};
+		5FA576161A58F551000B36ED /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				5FA576171A58F551000B36ED /* home.png */,
+				5FA576191A58F551000B36ED /* InfoPlist.strings */,
+				5FA5761B1A58F551000B36ED /* ViewController_iPad.xib */,
+				5FA5761C1A58F551000B36ED /* ViewController_iPhone.xib */,
+			);
+			path = Resources;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		5F61B01C19C81A4F0035CD99 /* demoapp */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 5F61B04919C81A500035CD99 /* Build configuration list for PBXNativeTarget "demoapp" */;
+			buildPhases = (
+				5F61B01919C81A4F0035CD99 /* Sources */,
+				5F61B01A19C81A4F0035CD99 /* Frameworks */,
+				5F61B01B19C81A4F0035CD99 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = demoapp;
+			productName = demoapp;
+			productReference = 5F61B01D19C81A4F0035CD99 /* demoapp.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		5F61B01519C81A4F0035CD99 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 0810;
+				ORGANIZATIONNAME = pingplusplus;
+				TargetAttributes = {
+					5F61B01C19C81A4F0035CD99 = {
+						DevelopmentTeam = 77HWE3KHM5;
+					};
+				};
+			};
+			buildConfigurationList = 5F61B01819C81A4F0035CD99 /* Build configuration list for PBXProject "demoapp" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+			);
+			mainGroup = 5F61B01419C81A4F0035CD99;
+			productRefGroup = 5F61B01E19C81A4F0035CD99 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				5F61B01C19C81A4F0035CD99 /* demoapp */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		5F61B01B19C81A4F0035CD99 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				003625991D9A4CB8004E6244 /* AlipaySDK.bundle in Resources */,
+				5FA576251A58F551000B36ED /* ViewController_iPad.xib in Resources */,
+				5FA576211A58F551000B36ED /* Images.xcassets in Resources */,
+				5FA576261A58F551000B36ED /* ViewController_iPhone.xib in Resources */,
+				5FA576231A58F551000B36ED /* home.png in Resources */,
+				5FA576241A58F551000B36ED /* InfoPlist.strings in Resources */,
+				0036267F1D9A4CB8004E6244 /* Pingpp.bundle in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		5F61B01919C81A4F0035CD99 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5FA576221A58F551000B36ED /* main.m in Sources */,
+				5FA5761F1A58F551000B36ED /* AppDelegate.m in Sources */,
+				5FA576311A58FA7C000B36ED /* ViewController.mm in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		5F5BBB1F19D0189B009A9DCE /* home.png */ = {
+			isa = PBXVariantGroup;
+			children = (
+				5F5BBB2019D0189B009A9DCE /* en */,
+			);
+			name = home.png;
+			sourceTree = "<group>";
+		};
+		5F61B05D19C81D390035CD99 /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				5F61B05E19C81D390035CD99 /* en */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+		5FA576171A58F551000B36ED /* home.png */ = {
+			isa = PBXVariantGroup;
+			children = (
+				5FA576181A58F551000B36ED /* en */,
+			);
+			name = home.png;
+			sourceTree = "<group>";
+		};
+		5FA576191A58F551000B36ED /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				5FA5761A1A58F551000B36ED /* en */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		5F61B04719C81A500035CD99 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = NO;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Debug;
+		};
+		5F61B04819C81A500035CD99 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = NO;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = YES;
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		5F61B04A19C81A500035CD99 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CODE_SIGN_IDENTITY = "iPhone Developer";
+				DEVELOPMENT_TEAM = 77HWE3KHM5;
+				ENABLE_BITCODE = NO;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/../lib/Channels/Alipay",
+				);
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "demoapp/demoapp-Info.pch";
+				INFOPLIST_FILE = "$(SRCROOT)/demoapp/demoapp-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LIBRARY_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/../lib",
+					"$(PROJECT_DIR)/../lib/Channels/Alipay",
+					"$(PROJECT_DIR)/../lib/Channels/UnionPay",
+					"$(PROJECT_DIR)/../lib/Channels/Yeepay",
+					"$(PROJECT_DIR)/../lib/Channels/BfbWap",
+					"$(PROJECT_DIR)/../lib/One",
+					"$(PROJECT_DIR)/../lib/Dependencies/Network",
+					"$(PROJECT_DIR)/../lib/Channels/QQWallet",
+					"$(PROJECT_DIR)/../lib/Dependencies/Webview",
+				);
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"-ObjC",
+					"-l\"c++\"",
+					"-l\"sqlite3\"",
+					"-l\"pingpp+yeepay\"",
+					"-l\"stdc++\"",
+					"-l\"z\"",
+					"-framework",
+					"\"AddressBook\"",
+					"-framework",
+					"\"AddressBookUI\"",
+					"-framework",
+					"\"AlipaySDK\"",
+					"-framework",
+					"\"AudioToolbox\"",
+					"-framework",
+					"\"CFNetwork\"",
+					"-framework",
+					"\"CoreAudio\"",
+					"-framework",
+					"\"CoreGraphics\"",
+					"-framework",
+					"\"CoreTelephony\"",
+					"-framework",
+					"\"ImageIO\"",
+					"-framework",
+					"\"MapKit\"",
+					"-framework",
+					"\"MessageUI\"",
+					"-framework",
+					"\"MobileCoreServices\"",
+					"-framework",
+					"\"QuartzCore\"",
+					"-framework",
+					"\"Security\"",
+					"-framework",
+					"\"SystemConfiguration\"",
+					"-framework",
+					"\"CoreMotion\"",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = com.pingplusplus.demoapp;
+				PRODUCT_NAME = demoapp;
+				WRAPPER_EXTENSION = app;
+			};
+			name = Debug;
+		};
+		5F61B04B19C81A500035CD99 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CODE_SIGN_IDENTITY = "iPhone Developer";
+				DEVELOPMENT_TEAM = 77HWE3KHM5;
+				ENABLE_BITCODE = NO;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/../lib/Channels/Alipay",
+				);
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "demoapp/demoapp-Info.pch";
+				INFOPLIST_FILE = "$(SRCROOT)/demoapp/demoapp-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LIBRARY_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/../lib",
+					"$(PROJECT_DIR)/../lib/Channels/Alipay",
+					"$(PROJECT_DIR)/../lib/Channels/UnionPay",
+					"$(PROJECT_DIR)/../lib/Channels/Yeepay",
+					"$(PROJECT_DIR)/../lib/Channels/BfbWap",
+					"$(PROJECT_DIR)/../lib/One",
+					"$(PROJECT_DIR)/../lib/Dependencies/Network",
+					"$(PROJECT_DIR)/../lib/Channels/QQWallet",
+					"$(PROJECT_DIR)/../lib/Dependencies/Webview",
+				);
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"-ObjC",
+					"-l\"c++\"",
+					"-l\"sqlite3\"",
+					"-l\"pingpp+yeepay\"",
+					"-l\"stdc++\"",
+					"-l\"z\"",
+					"-framework",
+					"\"AddressBook\"",
+					"-framework",
+					"\"AddressBookUI\"",
+					"-framework",
+					"\"AlipaySDK\"",
+					"-framework",
+					"\"AudioToolbox\"",
+					"-framework",
+					"\"CFNetwork\"",
+					"-framework",
+					"\"CoreAudio\"",
+					"-framework",
+					"\"CoreGraphics\"",
+					"-framework",
+					"\"CoreTelephony\"",
+					"-framework",
+					"\"ImageIO\"",
+					"-framework",
+					"\"MapKit\"",
+					"-framework",
+					"\"MessageUI\"",
+					"-framework",
+					"\"MobileCoreServices\"",
+					"-framework",
+					"\"QuartzCore\"",
+					"-framework",
+					"\"Security\"",
+					"-framework",
+					"\"SystemConfiguration\"",
+					"-framework",
+					"\"CoreMotion\"",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = com.pingplusplus.demoapp;
+				PRODUCT_NAME = demoapp;
+				WRAPPER_EXTENSION = app;
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		5F61B01819C81A4F0035CD99 /* Build configuration list for PBXProject "demoapp" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5F61B04719C81A500035CD99 /* Debug */,
+				5F61B04819C81A500035CD99 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		5F61B04919C81A500035CD99 /* Build configuration list for PBXNativeTarget "demoapp" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5F61B04A19C81A500035CD99 /* Debug */,
+				5F61B04B19C81A500035CD99 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 5F61B01519C81A4F0035CD99 /* Project object */;
+}
diff --git a/pingpp-ios/example/demoapp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/pingpp-ios/example/demoapp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100755
index 0000000..8b8d88d
--- /dev/null
+++ b/pingpp-ios/example/demoapp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:demoapp.xcodeproj">
+   </FileRef>
+</Workspace>
diff --git a/pingpp-ios/example/demoapp/AppDelegate.h b/pingpp-ios/example/demoapp/AppDelegate.h
new file mode 100755
index 0000000..d7097ec
--- /dev/null
+++ b/pingpp-ios/example/demoapp/AppDelegate.h
@@ -0,0 +1,18 @@
+//
+//  AppDelegate.h
+//  AppDelegate
+//
+//  Created by Jacky Hu on 07/14/14.
+//
+
+#import <UIKit/UIKit.h>
+
+@class ViewController;
+
+@interface AppDelegate : UIResponder <UIApplicationDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+
+@property (strong, nonatomic) UINavigationController *viewController;
+
+@end
diff --git a/pingpp-ios/example/demoapp/AppDelegate.m b/pingpp-ios/example/demoapp/AppDelegate.m
new file mode 100755
index 0000000..cf950d7
--- /dev/null
+++ b/pingpp-ios/example/demoapp/AppDelegate.m
@@ -0,0 +1,66 @@
+//
+//  AppDelegate.m
+//  AppDelegate
+//
+//  Created by Jacky Hu on 07/14/14.
+//
+
+#import "AppDelegate.h"
+#import "Pingpp.h"
+#import "ViewController.h"
+
+@implementation AppDelegate
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
+    // Override point for customization after application launch.
+
+    ViewController* root = [[ViewController alloc] init];
+    UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController:root];
+
+    self.viewController = nav;
+    self.window.rootViewController = self.viewController;
+    [self.window makeKeyAndVisible];
+    
+    [Pingpp setDebugMode:YES];
+    return YES;
+}
+
+- (void)applicationWillResignActive:(UIApplication *)application {
+    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application {
+    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application {
+    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application {
+    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application {
+    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+}
+
+#warning \
+��������������������������������������������� AppDelegate ��������������� ���[Pingpp handleOpenURL:url withCompletion:nil]`���\
+������������������������������������ nil������������ `createPayment` ��������� `Completion` ���������������������������������������������������������\
+������������������������������������������������������������������������������������������������������������ url ��� host ������������������������������������\
+������������������ Ping++ ������������������ return ��������� false��������������� url ������������������������������������������������������
+// iOS 8 ���������������������
+- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
+    return [Pingpp handleOpenURL:url withCompletion:nil];
+}
+
+// iOS 9 ������������������
+- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options {
+    return [Pingpp handleOpenURL:url withCompletion:nil];
+}
+
+@end
diff --git a/pingpp-ios/example/demoapp/Images.xcassets/AppIcon.appiconset/Contents.json b/pingpp-ios/example/demoapp/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100755
index 0000000..1b96b3b
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,128 @@
+{
+  "images" : [
+    {
+      "idiom" : "iphone",
+      "size" : "20x20",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "20x20",
+      "scale" : "3x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "29x29",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "29x29",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "29x29",
+      "scale" : "3x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "40x40",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "40x40",
+      "scale" : "3x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "57x57",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "57x57",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "60x60",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "60x60",
+      "scale" : "3x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "20x20",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "20x20",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "29x29",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "29x29",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "40x40",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "40x40",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "50x50",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "50x50",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "72x72",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "72x72",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "76x76",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "76x76",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "83.5x83.5",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/example/demoapp/Images.xcassets/Contents.json b/pingpp-ios/example/demoapp/Images.xcassets/Contents.json
new file mode 100755
index 0000000..da4a164
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Images.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/Contents.json b/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/Contents.json
new file mode 100755
index 0000000..34c29f2
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/Contents.json
@@ -0,0 +1,146 @@
+{
+  "images" : [
+    {
+      "extent" : "full-screen",
+      "idiom" : "iphone",
+      "subtype" : "736h",
+      "filename" : "launch-5.5.png",
+      "minimum-system-version" : "8.0",
+      "orientation" : "portrait",
+      "scale" : "3x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "iphone",
+      "extent" : "full-screen",
+      "minimum-system-version" : "8.0",
+      "subtype" : "736h",
+      "scale" : "3x"
+    },
+    {
+      "extent" : "full-screen",
+      "idiom" : "iphone",
+      "subtype" : "667h",
+      "filename" : "launch-4.7.png",
+      "minimum-system-version" : "8.0",
+      "orientation" : "portrait",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "filename" : "launch-3.5.png",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "extent" : "full-screen",
+      "idiom" : "iphone",
+      "subtype" : "retina4",
+      "filename" : "launch-4.0.png",
+      "minimum-system-version" : "7.0",
+      "orientation" : "portrait",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "extent" : "full-screen",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "extent" : "full-screen",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "extent" : "full-screen",
+      "subtype" : "retina4",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "to-status-bar",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "to-status-bar",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "to-status-bar",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "to-status-bar",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-3.5.png b/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-3.5.png
new file mode 100755
index 0000000..09fc4d2
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-3.5.png
Binary files differ
diff --git a/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-4.0.png b/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-4.0.png
new file mode 100755
index 0000000..8a2f50b
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-4.0.png
Binary files differ
diff --git a/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-4.7.png b/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-4.7.png
new file mode 100755
index 0000000..6286bb7
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-4.7.png
Binary files differ
diff --git a/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-5.5.png b/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-5.5.png
new file mode 100755
index 0000000..615f031
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Images.xcassets/LaunchImage.launchimage/launch-5.5.png
Binary files differ
diff --git a/pingpp-ios/example/demoapp/Resources/ViewController_iPad.xib b/pingpp-ios/example/demoapp/Resources/ViewController_iPad.xib
new file mode 100755
index 0000000..9d05b4a
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Resources/ViewController_iPad.xib
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="8.00">
+	<data>
+		<int key="IBDocument.SystemTarget">1536</int>
+		<string key="IBDocument.SystemVersion">12A206j</string>
+		<string key="IBDocument.InterfaceBuilderVersion">2519</string>
+		<string key="IBDocument.AppKitVersion">1172.1</string>
+		<string key="IBDocument.HIToolboxVersion">613.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+			<string key="NS.object.0">1856</string>
+		</object>
+		<array key="IBDocument.IntegratedClassDependencies">
+			<string>IBProxyObject</string>
+			<string>IBUIView</string>
+		</array>
+		<array key="IBDocument.PluginDependencies">
+			<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+		</array>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+			<integer value="1" key="NS.object.0"/>
+		</object>
+		<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+			<object class="IBProxyObject" id="841351856">
+				<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+				<string key="targetRuntimeIdentifier">IBIPadFramework</string>
+			</object>
+			<object class="IBProxyObject" id="606714003">
+				<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+				<string key="targetRuntimeIdentifier">IBIPadFramework</string>
+			</object>
+			<object class="IBUIView" id="766721923">
+				<reference key="NSNextResponder"/>
+				<int key="NSvFlags">274</int>
+				<string key="NSFrame">{{0, 20}, {768, 1004}}</string>
+				<reference key="NSSuperview"/>
+				<reference key="NSWindow"/>
+				<object class="NSColor" key="IBUIBackgroundColor">
+					<int key="NSColorSpace">3</int>
+					<bytes key="NSWhite">MQA</bytes>
+					<object class="NSColorSpace" key="NSCustomColorSpace">
+						<int key="NSID">2</int>
+					</object>
+				</object>
+				<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
+					<int key="IBUIStatusBarStyle">2</int>
+				</object>
+				<string key="targetRuntimeIdentifier">IBIPadFramework</string>
+			</object>
+		</array>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<array class="NSMutableArray" key="connectionRecords">
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchOutletConnection" key="connection">
+						<string key="label">view</string>
+						<reference key="source" ref="841351856"/>
+						<reference key="destination" ref="766721923"/>
+					</object>
+					<int key="connectionID">3</int>
+				</object>
+			</array>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<array key="orderedObjects">
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<array key="object" id="0"/>
+						<reference key="children" ref="1000"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-1</int>
+						<reference key="object" ref="841351856"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">File's Owner</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="606714003"/>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">2</int>
+						<reference key="object" ref="766721923"/>
+						<reference key="parent" ref="0"/>
+					</object>
+				</array>
+			</object>
+			<dictionary class="NSMutableDictionary" key="flattenedProperties">
+				<string key="-1.CustomClassName">ViewController</string>
+				<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+				<string key="-2.CustomClassName">UIResponder</string>
+				<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+				<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+			</dictionary>
+			<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+			<nil key="activeLocalization"/>
+			<dictionary class="NSMutableDictionary" key="localizations"/>
+			<nil key="sourceID"/>
+			<int key="maxID">3</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<array class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<object class="IBPartialClassDescription">
+					<string key="className">ViewController</string>
+					<string key="superclassName">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">./Classes/ViewController.h</string>
+					</object>
+				</object>
+			</array>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+		<bool key="IBDocument.UseAutolayout">YES</bool>
+		<string key="IBCocoaTouchPluginVersion">1856</string>
+	</data>
+</archive>
diff --git a/pingpp-ios/example/demoapp/Resources/ViewController_iPhone.xib b/pingpp-ios/example/demoapp/Resources/ViewController_iPhone.xib
new file mode 100755
index 0000000..7878e43
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Resources/ViewController_iPhone.xib
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
+	<data>
+		<int key="IBDocument.SystemTarget">1536</int>
+		<string key="IBDocument.SystemVersion">12A269</string>
+		<string key="IBDocument.InterfaceBuilderVersion">2835</string>
+		<string key="IBDocument.AppKitVersion">1187</string>
+		<string key="IBDocument.HIToolboxVersion">624.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+			<string key="NS.object.0">1919</string>
+		</object>
+		<array key="IBDocument.IntegratedClassDependencies">
+			<string>IBProxyObject</string>
+			<string>IBUIView</string>
+		</array>
+		<array key="IBDocument.PluginDependencies">
+			<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+		</array>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+			<integer value="1" key="NS.object.0"/>
+		</object>
+		<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+			<object class="IBProxyObject" id="372490531">
+				<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBProxyObject" id="843779117">
+				<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBUIView" id="774585933">
+				<reference key="NSNextResponder"/>
+				<int key="NSvFlags">274</int>
+				<string key="NSFrame">{{0, 20}, {320, 548}}</string>
+				<reference key="NSSuperview"/>
+				<reference key="NSWindow"/>
+				<reference key="NSNextKeyView"/>
+				<object class="NSColor" key="IBUIBackgroundColor">
+					<int key="NSColorSpace">3</int>
+					<bytes key="NSWhite">MC43NQA</bytes>
+					<object class="NSColorSpace" key="NSCustomColorSpace">
+						<int key="NSID">2</int>
+					</object>
+				</object>
+				<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+				<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+				<object class="IBUIScreenMetrics" key="IBUISimulatedDestinationMetrics">
+					<string key="IBUISimulatedSizeMetricsClass">IBUIScreenMetrics</string>
+					<object class="NSMutableDictionary" key="IBUINormalizedOrientationToSizeMap">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<array key="dict.sortedKeys">
+							<integer value="1"/>
+							<integer value="3"/>
+						</array>
+						<array key="dict.values">
+							<string>{320, 568}</string>
+							<string>{568, 320}</string>
+						</array>
+					</object>
+					<string key="IBUITargetRuntime">IBCocoaTouchFramework</string>
+					<string key="IBUIDisplayName">Retina 4 Full Screen</string>
+					<int key="IBUIType">2</int>
+				</object>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+		</array>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<array class="NSMutableArray" key="connectionRecords">
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchOutletConnection" key="connection">
+						<string key="label">view</string>
+						<reference key="source" ref="372490531"/>
+						<reference key="destination" ref="774585933"/>
+					</object>
+					<int key="connectionID">7</int>
+				</object>
+			</array>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<array key="orderedObjects">
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<array key="object" id="0"/>
+						<reference key="children" ref="1000"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-1</int>
+						<reference key="object" ref="372490531"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">File's Owner</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="843779117"/>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">6</int>
+						<reference key="object" ref="774585933"/>
+						<reference key="parent" ref="0"/>
+					</object>
+				</array>
+			</object>
+			<dictionary class="NSMutableDictionary" key="flattenedProperties">
+				<string key="-1.CustomClassName">ViewController</string>
+				<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+				<string key="-2.CustomClassName">UIResponder</string>
+				<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+				<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+			</dictionary>
+			<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+			<nil key="activeLocalization"/>
+			<dictionary class="NSMutableDictionary" key="localizations"/>
+			<nil key="sourceID"/>
+			<int key="maxID">7</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<array class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<object class="IBPartialClassDescription">
+					<string key="className">ViewController</string>
+					<string key="superclassName">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">./Classes/ViewController.h</string>
+					</object>
+				</object>
+			</array>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+		<bool key="IBDocument.UseAutolayout">YES</bool>
+		<string key="IBCocoaTouchPluginVersion">1919</string>
+	</data>
+</archive>
diff --git a/pingpp-ios/example/demoapp/Resources/en.lproj/InfoPlist.strings b/pingpp-ios/example/demoapp/Resources/en.lproj/InfoPlist.strings
new file mode 100755
index 0000000..0f167df
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Resources/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git a/pingpp-ios/example/demoapp/Resources/en.lproj/home.png b/pingpp-ios/example/demoapp/Resources/en.lproj/home.png
new file mode 100755
index 0000000..906236c
--- /dev/null
+++ b/pingpp-ios/example/demoapp/Resources/en.lproj/home.png
Binary files differ
diff --git a/pingpp-ios/example/demoapp/ViewController.h b/pingpp-ios/example/demoapp/ViewController.h
new file mode 100755
index 0000000..a4ccee2
--- /dev/null
+++ b/pingpp-ios/example/demoapp/ViewController.h
@@ -0,0 +1,23 @@
+//
+//  ViewController.h
+//  ViewController
+//
+//  Created by Jacky Hu on 07/14/14.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface ViewController : UIViewController<UIAlertViewDelegate, UITextFieldDelegate>
+{
+    UIAlertView* mAlert;
+    UITextField *mTextField;
+}
+
+@property(nonatomic, retain)NSString *channel;
+@property(nonatomic ,retain)UITextField *mTextField;
+
+- (void)showAlertWait;
+- (void)showAlertMessage:(NSString*)msg;
+- (void)hideAlert;
+
+@end
diff --git a/pingpp-ios/example/demoapp/ViewController.mm b/pingpp-ios/example/demoapp/ViewController.mm
new file mode 100755
index 0000000..888b362
--- /dev/null
+++ b/pingpp-ios/example/demoapp/ViewController.mm
@@ -0,0 +1,287 @@
+//
+//  ViewController.m
+//  ViewController
+//
+//  Created by Jacky Hu on 07/14/14.
+//
+
+#include <sys/socket.h> // Per msqr
+#include <sys/sysctl.h>
+#include <net/if.h>
+#include <net/if_dl.h>
+#import "ViewController.h"
+#import "AppDelegate.h"
+#import "Pingpp.h"
+
+#define KBtn_width        200
+#define KBtn_height       40
+#define KXOffSet          (self.view.frame.size.width - KBtn_width) / 2
+#define KYOffSet          20
+
+#define kWaiting          @"������������������������,���������..."
+#define kNote             @"������"
+#define kConfirm          @"������"
+#define kErrorNet         @"������������"
+#define kResult           @"���������������%@"
+
+#define kPlaceHolder      @"������������"
+#define kMaxAmount        9999999
+
+#warning \
+URL Schemes ��������� Xcode ��� Info ������������ URL Types ������������\
+��������������������������������� "alipay", "wx", "wechat" ���������������������������������������������������������������������������������������������������������\
+��������������������������������������������������������������������������� App ���������������������������������\
+��������������������������������������������������������������������������������������� id���"wx" ��������������������������� URL Scheme���
+#define kUrlScheme      @"demoapp001" // ��������������������� URL Scheme������������������������������������������������������������
+
+#define kUrl            @"http://218.244.151.190/demo/charge" // ������������������������������ charge ��� URL ������������������������������������
+
+@interface ViewController ()
+
+@end
+
+@implementation ViewController
+@synthesize channel;
+@synthesize mTextField;
+
+- (void)viewDidLoad
+{
+    [super viewDidLoad];
+    self.view.backgroundColor = [UIColor whiteColor];
+    [self.navigationController setNavigationBarHidden:YES];
+    // Do any additional setup after loading the view, typically from a nib.
+    CGRect viewRect = self.view.frame;
+    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:viewRect];
+    [scrollView setScrollEnabled:YES];
+    [self.view addSubview:scrollView];
+    
+    CGRect windowRect = [[UIScreen mainScreen] bounds];
+    UIImage *headerImg = [UIImage imageNamed:@"home.png"];
+    CGFloat imgViewWith = windowRect.size.width * 0.9;
+    CGFloat imgViewHeight = headerImg.size.height * imgViewWith / headerImg.size.width;
+    UIImageView *imgView = [[UIImageView alloc] initWithImage:headerImg];
+    [imgView setContentScaleFactor:[[UIScreen mainScreen] scale]];
+    CGFloat imgx = windowRect.size.width/2-imgViewWith/2;
+    [imgView setFrame:CGRectMake(imgx, KYOffSet, imgViewWith, imgViewHeight)];
+    [scrollView addSubview:imgView];
+    
+    mTextField = [[UITextField alloc]initWithFrame:CGRectMake(imgx, KYOffSet+imgViewHeight+40, imgViewWith-40, 40)];
+    mTextField.borderStyle = UITextBorderStyleRoundedRect;
+    mTextField.backgroundColor = [UIColor whiteColor];
+    mTextField.placeholder = kPlaceHolder;
+    mTextField.keyboardType = UIKeyboardTypeNumberPad;
+    mTextField.returnKeyType =UIReturnKeyDone;
+    mTextField.delegate = self;
+    [mTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
+    [scrollView addSubview:mTextField];
+    
+    UIButton* doneButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
+    [doneButton setTitle:@"OK" forState:UIControlStateNormal];
+    [doneButton addTarget:self action:@selector(okButtonAction:) forControlEvents:UIControlEventTouchUpInside];
+    [doneButton setFrame:CGRectMake(imgx+imgViewWith-35, KYOffSet+imgViewHeight+40, 40, 40)];
+    [doneButton.layer setMasksToBounds:YES];
+    [doneButton.layer setCornerRadius:8.0];
+    [doneButton.layer setBorderWidth:1.0];
+    [doneButton.layer setBorderColor:[UIColor grayColor].CGColor];
+    [scrollView addSubview:doneButton];
+    
+    UIButton* wxButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
+    [wxButton setTitle:@"������" forState:UIControlStateNormal];
+    [wxButton addTarget:self action:@selector(normalPayAction:) forControlEvents:UIControlEventTouchUpInside];
+    [wxButton setFrame:CGRectMake(imgx, KYOffSet+imgViewHeight+90, imgViewWith, KBtn_height)];
+    [wxButton.layer setMasksToBounds:YES];
+    [wxButton.layer setCornerRadius:8.0];
+    [wxButton.layer setBorderWidth:1.0];
+    [wxButton.layer setBorderColor:[UIColor grayColor].CGColor];
+    wxButton.titleLabel.font = [UIFont systemFontOfSize: 18.0];
+    [wxButton setTag:1];
+    [scrollView addSubview:wxButton];
+    
+    UIButton* alipayButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
+    [alipayButton setTitle:@"���������" forState:UIControlStateNormal];
+    [alipayButton addTarget:self action:@selector(normalPayAction:) forControlEvents:UIControlEventTouchUpInside];
+    [alipayButton setFrame:CGRectMake(imgx, KYOffSet+imgViewHeight+140, imgViewWith, KBtn_height)];
+    [alipayButton.layer setMasksToBounds:YES];
+    [alipayButton.layer setCornerRadius:8.0];
+    [alipayButton.layer setBorderWidth:1.0];
+    [alipayButton.layer setBorderColor:[UIColor grayColor].CGColor];
+    alipayButton.titleLabel.font = [UIFont systemFontOfSize: 18.0];
+    [alipayButton setTag:2];
+    [scrollView addSubview:alipayButton];
+    
+    UIButton* upmpButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
+    [upmpButton setTitle:@"������" forState:UIControlStateNormal];
+    [upmpButton addTarget:self action:@selector(normalPayAction:) forControlEvents:UIControlEventTouchUpInside];
+    [upmpButton setFrame:CGRectMake(imgx, KYOffSet+imgViewHeight+190, imgViewWith, KBtn_height)];
+    [upmpButton.layer setMasksToBounds:YES];
+    [upmpButton.layer setCornerRadius:8.0];
+    [upmpButton.layer setBorderWidth:1.0];
+    [upmpButton.layer setBorderColor:[UIColor grayColor].CGColor];
+    upmpButton.titleLabel.font = [UIFont systemFontOfSize: 18.0];
+    [upmpButton setTag:3];
+    [scrollView addSubview:upmpButton];
+    
+    UIButton* bfbButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
+    [bfbButton setTitle:@"������������" forState:UIControlStateNormal];
+    [bfbButton addTarget:self action:@selector(normalPayAction:) forControlEvents:UIControlEventTouchUpInside];
+    [bfbButton setFrame:CGRectMake(imgx, KYOffSet+imgViewHeight+240, imgViewWith, KBtn_height)];
+    [bfbButton.layer setMasksToBounds:YES];
+    [bfbButton.layer setCornerRadius:8.0];
+    [bfbButton.layer setBorderWidth:1.0];
+    [bfbButton.layer setBorderColor:[UIColor grayColor].CGColor];
+    bfbButton.titleLabel.font = [UIFont systemFontOfSize: 18.0];
+    [bfbButton setTag:4];
+    [scrollView addSubview:bfbButton];
+    
+    [scrollView setContentSize:CGSizeMake(viewRect.size.width, KYOffSet+imgViewHeight+260+KBtn_height)];
+}
+
+- (void)didReceiveMemoryWarning
+{
+    [super didReceiveMemoryWarning];
+    // Dispose of any resources that can be recreated.
+}
+
+- (void)showAlertWait
+{
+    mAlert = [[UIAlertView alloc] initWithTitle:kWaiting message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil];
+    [mAlert show];
+    UIActivityIndicatorView* aiv = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
+    aiv.center = CGPointMake(mAlert.frame.size.width / 2.0f - 15, mAlert.frame.size.height / 2.0f + 10 );
+    [aiv startAnimating];
+    [mAlert addSubview:aiv];
+}
+
+- (void)showAlertMessage:(NSString*)msg
+{
+    mAlert = [[UIAlertView alloc] initWithTitle:kNote message:msg delegate:nil cancelButtonTitle:kConfirm otherButtonTitles:nil, nil];
+    [mAlert show];
+}
+
+- (void)hideAlert
+{
+    if (mAlert != nil)
+    {
+        [mAlert dismissWithClickedButtonIndex:0 animated:YES];
+        mAlert = nil;
+    }
+}
+
+- (void)normalPayAction:(id)sender
+{
+    NSInteger tag = ((UIButton*)sender).tag;
+    if (tag == 1) {
+        self.channel = @"wx";
+        [self normalPayAction:nil];
+    } else if (tag == 2) {
+        self.channel = @"alipay";
+    } else if (tag == 3) {
+        self.channel = @"upacp";
+    } else if (tag == 4) {
+        self.channel = @"bfb_wap";
+    } else {
+        return;
+    }
+    
+    [mTextField resignFirstResponder];
+    long long amount = [[self.mTextField.text stringByReplacingOccurrencesOfString:@"." withString:@""] longLongValue];
+    if (amount == 0) {
+        return;
+    }
+    NSString *amountStr = [NSString stringWithFormat:@"%lld", amount];
+    NSURL* url = [NSURL URLWithString:kUrl];
+    NSMutableURLRequest * postRequest=[NSMutableURLRequest requestWithURL:url];
+
+    NSDictionary* dict = @{
+        @"channel" : self.channel,
+        @"amount"  : amountStr
+    };
+    NSData* data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
+    NSString *bodyData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
+    
+    [postRequest setHTTPBody:[NSData dataWithBytes:[bodyData UTF8String] length:strlen([bodyData UTF8String])]];
+    [postRequest setHTTPMethod:@"POST"];
+    [postRequest setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
+    
+    ViewController * __weak weakSelf = self;
+    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
+    [self showAlertWait];
+    [NSURLConnection sendAsynchronousRequest:postRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
+        dispatch_async(dispatch_get_main_queue(), ^{
+            NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
+            [weakSelf hideAlert];
+            if (httpResponse.statusCode != 200) {
+                NSLog(@"statusCode=%ld error = %@", (long)httpResponse.statusCode, connectionError);
+                [weakSelf showAlertMessage:kErrorNet];
+                return;
+            }
+            if (connectionError != nil) {
+                NSLog(@"error = %@", connectionError);
+                [weakSelf showAlertMessage:kErrorNet];
+                return;
+            }
+            NSString* charge = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
+            NSLog(@"charge = %@", charge);
+            
+            
+            [Pingpp createPayment:charge
+                   viewController:weakSelf
+                     appURLScheme:kUrlScheme
+                   withCompletion:^(NSString *result, PingppError *error)
+            {
+                NSLog(@"completion block: %@", result);
+                if (error == nil)
+                {
+                    NSLog(@"PingppError is nil");
+                }
+                else
+                {
+                    NSLog(@"PingppError: code=%lu msg=%@", (unsigned  long)error.code, [error getMsg]);
+                }
+                
+                [weakSelf showAlertMessage:result];
+            }];
+        });
+    }];
+}
+
+- (void)okButtonAction:(id)sender
+{
+    [mTextField resignFirstResponder];
+}
+
+- (void) textFieldDidChange:(UITextField *) textField
+{
+    NSString *text = textField.text;
+    NSUInteger index = [text rangeOfString:@"."].location;
+    if (index != NSNotFound) {
+        double amount = [[text stringByReplacingOccurrencesOfString:@"." withString:@""] doubleValue];
+        text = [NSString stringWithFormat:@"%.02f", MIN(amount, kMaxAmount)/100];
+    } else {
+        double amount = [text doubleValue];
+        text = [NSString stringWithFormat:@"%.02f", MIN(amount, kMaxAmount)/100];
+    }
+    textField.text = text;
+}
+
+-(void)textFieldDidBeginEditing:(UITextField *)textField
+{
+    CGRect frame = textField.frame;
+    if (self.view.frame.size.height > 480) {
+        return;
+    }
+    int offset = frame.origin.y + 45 - (self.view.frame.size.height - 216.0);
+    NSTimeInterval animationDuration = 0.30f;
+    [UIView beginAnimations:@"ResizeForKeyboard" context:nil];
+    [UIView setAnimationDuration:animationDuration];
+    if(offset > 0)
+        self.view.frame = CGRectMake(0.0f, -offset, self.view.frame.size.width, self.view.frame.size.height);
+    [UIView commitAnimations];
+}
+
+-(void)textFieldDidEndEditing:(UITextField *)textField
+{
+    self.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
+}
+
+@end
diff --git a/pingpp-ios/example/demoapp/demoapp-Info.pch b/pingpp-ios/example/demoapp/demoapp-Info.pch
new file mode 100755
index 0000000..51a923d
--- /dev/null
+++ b/pingpp-ios/example/demoapp/demoapp-Info.pch
@@ -0,0 +1,14 @@
+//
+// Prefix header for all source files of the 'demoapp' target in the 'demoapp' project
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_4_0
+#warning "This project uses features only available in iOS SDK 4.0 and later."
+#endif
+
+#ifdef __OBJC__
+    #import <UIKit/UIKit.h>
+    #import <Foundation/Foundation.h>
+#endif
diff --git a/pingpp-ios/example/demoapp/demoapp-Info.plist b/pingpp-ios/example/demoapp/demoapp-Info.plist
new file mode 100755
index 0000000..223a1bc
--- /dev/null
+++ b/pingpp-ios/example/demoapp/demoapp-Info.plist
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleAllowMixedLocalizations</key>
+	<true/>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>zh_CN</string>
+	<key>CFBundleDisplayName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundleExecutable</key>
+	<string>${EXECUTABLE_NAME}</string>
+	<key>CFBundleIcons</key>
+	<dict/>
+	<key>CFBundleIcons~ipad</key>
+	<dict/>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleURLTypes</key>
+	<array>
+		<dict>
+			<key>CFBundleTypeRole</key>
+			<string>Editor</string>
+			<key>CFBundleURLSchemes</key>
+			<array>
+				<string>YOUR-APP-URL-SCHEME</string>
+			</array>
+		</dict>
+		<dict>
+			<key>CFBundleTypeRole</key>
+			<string>Editor</string>
+			<key>CFBundleURLSchemes</key>
+			<array>
+				<string>demoapp001</string>
+			</array>
+		</dict>
+	</array>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>LSApplicationQueriesSchemes</key>
+	<array>
+		<string>weixin</string>
+		<string>wechat</string>
+		<string>alipay</string>
+	</array>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>NSAppTransportSecurity</key>
+	<dict>
+		<key>NSAllowsArbitraryLoads</key>
+		<true/>
+	</dict>
+	<key>UIRequiredDeviceCapabilities</key>
+	<array>
+		<string>armv7</string>
+	</array>
+	<key>UISupportedInterfaceOrientations</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+	</array>
+	<key>UISupportedInterfaceOrientations~ipad</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+		<string>UIInterfaceOrientationPortraitUpsideDown</string>
+		<string>UIInterfaceOrientationLandscapeLeft</string>
+		<string>UIInterfaceOrientationLandscapeRight</string>
+	</array>
+</dict>
+</plist>
diff --git a/pingpp-ios/example/demoapp/main.m b/pingpp-ios/example/demoapp/main.m
new file mode 100755
index 0000000..50ebdba
--- /dev/null
+++ b/pingpp-ios/example/demoapp/main.m
@@ -0,0 +1,17 @@
+//
+//  main.m
+//  main
+//
+//  Created by Jacky Hu on 07/14/14.
+//
+
+#import <UIKit/UIKit.h>
+
+#import "AppDelegate.h"
+
+int main(int argc, char *argv[])
+{
+    @autoreleasepool {
+        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+    }
+}
diff --git a/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/bar@2x.png b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/bar@2x.png
new file mode 100755
index 0000000..9f5fa56
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/bar@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/refresh@2x.png b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/refresh@2x.png
new file mode 100755
index 0000000..d5209d4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/refresh@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/refresh_click@2x.png b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/refresh_click@2x.png
new file mode 100755
index 0000000..ea18bbf
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/refresh_click@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/shutdown@2x.png b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/shutdown@2x.png
new file mode 100755
index 0000000..e576e62
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/shutdown@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/shutdown_click@2x.png b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/shutdown_click@2x.png
new file mode 100755
index 0000000..c0ee0e7
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.bundle/shutdown_click@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/AlipaySDK b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/AlipaySDK
new file mode 100755
index 0000000..d6a36d5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/AlipaySDK
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Headers/APayAuthInfo.h b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Headers/APayAuthInfo.h
new file mode 100755
index 0000000..c5e4553
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Headers/APayAuthInfo.h
@@ -0,0 +1,33 @@
+//
+//  APAuthInfo.h
+//  AliSDKDemo
+//
+//  Created by ������ on 14-7-18.
+//  Copyright (c) 2014��� Alipay.com. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface APayAuthInfo : NSObject
+
+@property(nonatomic, copy)NSString *appID;
+@property(nonatomic, copy)NSString *pid;
+@property(nonatomic, copy)NSString *redirectUri;
+
+/**
+ *  ���������AuthInfo
+ *
+ *  @param appIDStr     ������ID
+ *  @param productIDStr ��������� ������������aboss���������������,������������pid���������������
+ *  @param pidStr       ������ID   ���������
+ *  @param uriStr       ���������������������������  ���������alidemo://auth
+ *
+ *  @return authinfo������
+ */
+- (id)initWithAppID:(NSString *)appIDStr
+                pid:(NSString *)pidStr
+        redirectUri:(NSString *)uriStr;
+
+- (NSString *)description;
+- (NSString *)wapDescription;
+@end
diff --git a/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Headers/AlipaySDK.h b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Headers/AlipaySDK.h
new file mode 100755
index 0000000..cc651d9
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Headers/AlipaySDK.h
@@ -0,0 +1,170 @@
+//
+//  AlipaySDK.h
+//  AlipaySDK
+//
+//  Created by ������ on 14-4-28.
+//  Copyright (c) 2014��� Alipay. All rights reserved.
+//
+
+
+////////////////////////////////////////////////////////
+////////////////version:2.1  motify:2014.12.24//////////
+///////////////////Merry Christmas=���=//////////////////
+////////////////////////////////////////////////////////
+
+
+#import "APayAuthInfo.h"
+typedef enum {
+    ALIPAY_TIDFACTOR_IMEI,
+    ALIPAY_TIDFACTOR_IMSI,
+    ALIPAY_TIDFACTOR_TID,
+    ALIPAY_TIDFACTOR_CLIENTKEY,
+    ALIPAY_TIDFACTOR_VIMEI,
+    ALIPAY_TIDFACTOR_VIMSI,
+    ALIPAY_TIDFACTOR_CLIENTID,
+    ALIPAY_TIDFACTOR_APDID,
+    ALIPAY_TIDFACTOR_MAX
+} AlipayTidFactor;
+
+typedef void(^CompletionBlock)(NSDictionary *resultDic);
+
+@interface AlipaySDK : NSObject
+
+/**
+ *  ������������������������
+ *
+ *  @return ������������������
+ */
++ (AlipaySDK *)defaultService;
+
+/**
+ *  ������������
+ *
+ *  @param orderStr       ������������
+ *  @param schemeStr      ���������������app���������info.plist������scheme
+ *  @param compltionBlock ������������������Block
+ */
+- (void)payOrder:(NSString *)orderStr
+      fromScheme:(NSString *)schemeStr
+        callback:(CompletionBlock)completionBlock;
+
+/**
+ *  ������������������������������app������������������app���������������������Url
+ *
+ *  @param resultUrl ������������url���������������SDK���������������������������pay���������callback���������
+ *  @param completionBlock ���������������������������������������������������������������������������������app���������kill������������������������������������������������
+ */
+- (void)processOrderWithPaymentResult:(NSURL *)resultUrl
+                      standbyCallback:(CompletionBlock)completionBlock;
+
+
+
+/**
+ *  ������������token���
+ *
+ *  @return ������token���������������������
+ */
+- (NSString *)fetchTradeToken;
+
+/**
+ *  ���������������������
+ *
+ *  @return YES���������������������NO������
+ */
+- (BOOL)isLogined;
+
+/**
+ *  ���������������
+ *
+ *  @return ���������������������
+ */
+- (NSString *)currentVersion;
+
+/**
+ *  ���������������
+ *
+ *  @return tid������������
+ */
+- (NSString*)queryTidFactor:(AlipayTidFactor)factor;
+
+/**
+ *  ���������������realse���������
+ *
+ *  @param url  ������������
+ */
+- (void)setUrl:(NSString *)url;
+
+
+//////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////h5 ������������������///////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  url order ������������
+ *
+ *  @param urlStr     ��������� url string
+ *
+ *  @return ������������url order info
+ */
+- (NSString*)fetchOrderInfoFromH5PayUrl:(NSString*)urlStr;
+
+
+/**
+ *  url������������
+ *
+ *  @param orderStr       ������������
+ *  @param schemeStr      ���������������app���������info.plist������scheme
+ *  @param compltionBlock ������������������Block
+ */
+- (void)payUrlOrder:(NSString *)orderStr
+         fromScheme:(NSString *)schemeStr
+           callback:(CompletionBlock)completionBlock;
+
+
+//////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////������1.0//////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  ������������
+ *  @param authInfo        ���������������
+ *  @param completionBlock ������������������
+ */
+- (void)authWithInfo:(APayAuthInfo *)authInfo
+             callback:(CompletionBlock)completionBlock;
+
+
+/**
+ *  ������������������Url
+ *
+ *  @param resultUrl ���������������������������url
+ *  @param completionBlock ���������������������������������������������������������������������������app���������kill������������������������������������������������
+ */
+- (void)processAuthResult:(NSURL *)resultUrl
+          standbyCallback:(CompletionBlock)completionBlock;
+
+//////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////������2.0//////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  ������������2.0
+ *
+ *  @param infoStr         ���������������������������
+ *  @param schemeStr       ���������������app���������info.plist������scheme
+ *  @param completionBlock ������������������
+ */
+- (void)auth_V2WithInfo:(NSString *)infoStr
+             fromScheme:(NSString *)schemeStr
+               callback:(CompletionBlock)completionBlock;
+
+/**
+ *  ������������������Url
+ *
+ *  @param resultUrl ���������������������������url
+ *  @param completionBlock ���������������������������������������������������������������������������app���������kill������������������������������������������������
+ */
+- (void)processAuth_V2Result:(NSURL *)resultUrl
+             standbyCallback:(CompletionBlock)completionBlock;
+
+@end
diff --git a/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Info.plist b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Info.plist
new file mode 100755
index 0000000..babd2e6
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/Info.plist
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/en.lproj/InfoPlist.strings b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/en.lproj/InfoPlist.strings
new file mode 100755
index 0000000..3967e06
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/AlipaySDK.framework/en.lproj/InfoPlist.strings
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Alipay/libpingpp+alipay.a b/pingpp-ios/lib/Channels/Alipay/libpingpp+alipay.a
new file mode 100755
index 0000000..274674b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Alipay/libpingpp+alipay.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/ApplePay/libUPAPayPlugin.a b/pingpp-ios/lib/Channels/ApplePay/libUPAPayPlugin.a
new file mode 100755
index 0000000..dba3706
--- /dev/null
+++ b/pingpp-ios/lib/Channels/ApplePay/libUPAPayPlugin.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/ApplePay/libpingpp+applepayUpacp.a b/pingpp-ios/lib/Channels/ApplePay/libpingpp+applepayUpacp.a
new file mode 100755
index 0000000..2b03752
--- /dev/null
+++ b/pingpp-ios/lib/Channels/ApplePay/libpingpp+applepayUpacp.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/BfbWap/libpingpp+bfbWap.a b/pingpp-ios/lib/Channels/BfbWap/libpingpp+bfbWap.a
new file mode 100755
index 0000000..4c63bc0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/BfbWap/libpingpp+bfbWap.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/Contents.json
new file mode 100755
index 0000000..da4a164
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/Contents.json
@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/Contents.json
new file mode 100755
index 0000000..277e225
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bg1.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bg1@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/kb_bg1.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/kb_bg1.png
new file mode 100755
index 0000000..0a7358e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/kb_bg1.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/kb_bg1@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/kb_bg1@2x.png
new file mode 100755
index 0000000..c2c9807
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1-1.imageset/kb_bg1@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/Contents.json
new file mode 100755
index 0000000..1dfaa29
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bg1@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bg1@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bg1@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@1x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@1x.png
new file mode 100755
index 0000000..c3cf4f1
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@1x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@2x.png
new file mode 100755
index 0000000..bd2ba4a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@3x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@3x.png
new file mode 100755
index 0000000..110fa5e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg1.imageset/kb_bg1@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/Contents.json
new file mode 100755
index 0000000..28e7032
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bg2.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bg2@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/kb_bg2.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/kb_bg2.png
new file mode 100755
index 0000000..a28f264
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/kb_bg2.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/kb_bg2@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/kb_bg2@2x.png
new file mode 100755
index 0000000..efedf0f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2-1.imageset/kb_bg2@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/Contents.json
new file mode 100755
index 0000000..53db337
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bg2.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bg2@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bg2@6p.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2.png
new file mode 100755
index 0000000..a28f264
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2@2x.png
new file mode 100755
index 0000000..efedf0f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2@6p.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2@6p.png
new file mode 100755
index 0000000..754ab12
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg2.imageset/kb_bg2@6p.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/Contents.json
new file mode 100755
index 0000000..32d294e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bgline@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bgline@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "kb_bgline@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@1x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@1x.png
new file mode 100755
index 0000000..90700a0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@1x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@2x.png
new file mode 100755
index 0000000..90700a0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@3x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@3x.png
new file mode 100755
index 0000000..90700a0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/kb_bg_line.imageset/kb_bgline@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/Contents.json
new file mode 100755
index 0000000..d97cfc0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_backspace_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_backspace_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/key_backspace_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/key_backspace_normal.png
new file mode 100755
index 0000000..a82860a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/key_backspace_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/key_backspace_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/key_backspace_normal@2x.png
new file mode 100755
index 0000000..8410a5e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal-1.imageset/key_backspace_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/Contents.json
new file mode 100755
index 0000000..c5aef25
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_backspace_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_backspace_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_backspace_normal@6p.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal.png
new file mode 100755
index 0000000..a82860a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal@2x.png
new file mode 100755
index 0000000..8410a5e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal@6p.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal@6p.png
new file mode 100755
index 0000000..4e792d2
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_normal.imageset/key_backspace_normal@6p.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/Contents.json
new file mode 100755
index 0000000..5277c5f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_backspace_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_backspace_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/key_backspace_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/key_backspace_pressed.png
new file mode 100755
index 0000000..66d3a78
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/key_backspace_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/key_backspace_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/key_backspace_pressed@2x.png
new file mode 100755
index 0000000..9d207ff
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed-1.imageset/key_backspace_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/Contents.json
new file mode 100755
index 0000000..5d4e4c9
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_backspace_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_backspace_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_backspace_pressed@6p.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed.png
new file mode 100755
index 0000000..66d3a78
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed@2x.png
new file mode 100755
index 0000000..9d207ff
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed@6p.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed@6p.png
new file mode 100755
index 0000000..82dfe5b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_backspace_pressed.imageset/key_backspace_pressed@6p.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/Contents.json
new file mode 100755
index 0000000..e22e32f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_bg_blue.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_bg_blue@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/key_fat_bg_blue.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/key_fat_bg_blue.png
new file mode 100755
index 0000000..e71a45b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/key_fat_bg_blue.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/key_fat_bg_blue@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/key_fat_bg_blue@2x.png
new file mode 100755
index 0000000..8d472fb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue-1.imageset/key_fat_bg_blue@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/Contents.json
new file mode 100755
index 0000000..e22e32f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_bg_blue.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_bg_blue@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/key_fat_bg_blue.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/key_fat_bg_blue.png
new file mode 100755
index 0000000..e71a45b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/key_fat_bg_blue.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/key_fat_bg_blue@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/key_fat_bg_blue@2x.png
new file mode 100755
index 0000000..8d472fb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_blue.imageset/key_fat_bg_blue@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/Contents.json
new file mode 100755
index 0000000..247854f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_bg_white.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_bg_white@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/key_fat_bg_white.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/key_fat_bg_white.png
new file mode 100755
index 0000000..bf4f4bb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/key_fat_bg_white.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/key_fat_bg_white@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/key_fat_bg_white@2x.png
new file mode 100755
index 0000000..58cc3c7
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white-1.imageset/key_fat_bg_white@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/Contents.json
new file mode 100755
index 0000000..247854f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_bg_white.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_bg_white@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/key_fat_bg_white.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/key_fat_bg_white.png
new file mode 100755
index 0000000..bf4f4bb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/key_fat_bg_white.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/key_fat_bg_white@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/key_fat_bg_white@2x.png
new file mode 100755
index 0000000..58cc3c7
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_bg_white.imageset/key_fat_bg_white@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/Contents.json
new file mode 100755
index 0000000..81b9fa8
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/key_fat_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/key_fat_normal.png
new file mode 100755
index 0000000..52f8317
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/key_fat_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/key_fat_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/key_fat_normal@2x.png
new file mode 100755
index 0000000..7d7efe0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal-1.imageset/key_fat_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/Contents.json
new file mode 100755
index 0000000..81b9fa8
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/key_fat_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/key_fat_normal.png
new file mode 100755
index 0000000..52f8317
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/key_fat_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/key_fat_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/key_fat_normal@2x.png
new file mode 100755
index 0000000..7d7efe0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_normal.imageset/key_fat_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/Contents.json
new file mode 100755
index 0000000..0091d3e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/key_fat_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/key_fat_pressed.png
new file mode 100755
index 0000000..bf4f4bb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/key_fat_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/key_fat_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/key_fat_pressed@2x.png
new file mode 100755
index 0000000..58cc3c7
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed-1.imageset/key_fat_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/Contents.json
new file mode 100755
index 0000000..0091d3e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_fat_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/key_fat_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/key_fat_pressed.png
new file mode 100755
index 0000000..bf4f4bb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/key_fat_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/key_fat_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/key_fat_pressed@2x.png
new file mode 100755
index 0000000..58cc3c7
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_fat_pressed.imageset/key_fat_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/Contents.json
new file mode 100755
index 0000000..9c23a8d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_del.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_del@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/key_icon_del.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/key_icon_del.png
new file mode 100755
index 0000000..22bdd13
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/key_icon_del.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/key_icon_del@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/key_icon_del@2x.png
new file mode 100755
index 0000000..e27868e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del-1.imageset/key_icon_del@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/Contents.json
new file mode 100755
index 0000000..9c23a8d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_del.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_del@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/key_icon_del.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/key_icon_del.png
new file mode 100755
index 0000000..22bdd13
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/key_icon_del.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/key_icon_del@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/key_icon_del@2x.png
new file mode 100755
index 0000000..e27868e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_del.imageset/key_icon_del@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/Contents.json
new file mode 100755
index 0000000..f68dd9c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_actived.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_actived@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/key_icon_shift_actived.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/key_icon_shift_actived.png
new file mode 100755
index 0000000..ee8fdd0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/key_icon_shift_actived.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/key_icon_shift_actived@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/key_icon_shift_actived@2x.png
new file mode 100755
index 0000000..82c57f6
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived-1.imageset/key_icon_shift_actived@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/Contents.json
new file mode 100755
index 0000000..f68dd9c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_actived.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_actived@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/key_icon_shift_actived.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/key_icon_shift_actived.png
new file mode 100755
index 0000000..ee8fdd0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/key_icon_shift_actived.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/key_icon_shift_actived@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/key_icon_shift_actived@2x.png
new file mode 100755
index 0000000..82c57f6
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_actived.imageset/key_icon_shift_actived@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/Contents.json
new file mode 100755
index 0000000..c03fd44
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_highlighted.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_highlighted@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/key_icon_shift_highlighted.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/key_icon_shift_highlighted.png
new file mode 100755
index 0000000..20954cd
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/key_icon_shift_highlighted.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/key_icon_shift_highlighted@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/key_icon_shift_highlighted@2x.png
new file mode 100755
index 0000000..72db513
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted-1.imageset/key_icon_shift_highlighted@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/Contents.json
new file mode 100755
index 0000000..c03fd44
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_highlighted.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_highlighted@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/key_icon_shift_highlighted.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/key_icon_shift_highlighted.png
new file mode 100755
index 0000000..20954cd
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/key_icon_shift_highlighted.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/key_icon_shift_highlighted@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/key_icon_shift_highlighted@2x.png
new file mode 100755
index 0000000..72db513
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_highlighted.imageset/key_icon_shift_highlighted@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/Contents.json
new file mode 100755
index 0000000..4b94254
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/key_icon_shift_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/key_icon_shift_normal.png
new file mode 100755
index 0000000..a1dda9d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/key_icon_shift_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/key_icon_shift_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/key_icon_shift_normal@2x.png
new file mode 100755
index 0000000..5eb312d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal-1.imageset/key_icon_shift_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/Contents.json
new file mode 100755
index 0000000..4b94254
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_icon_shift_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/key_icon_shift_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/key_icon_shift_normal.png
new file mode 100755
index 0000000..a1dda9d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/key_icon_shift_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/key_icon_shift_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/key_icon_shift_normal@2x.png
new file mode 100755
index 0000000..5eb312d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_icon_shift_normal.imageset/key_icon_shift_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/Contents.json
new file mode 100755
index 0000000..37e131a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_mood_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_mood_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/key_mood_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/key_mood_normal.png
new file mode 100755
index 0000000..73eb2fa
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/key_mood_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/key_mood_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/key_mood_normal@2x.png
new file mode 100755
index 0000000..4534422
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal-1.imageset/key_mood_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/Contents.json
new file mode 100755
index 0000000..37e131a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_mood_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_mood_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/key_mood_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/key_mood_normal.png
new file mode 100755
index 0000000..73eb2fa
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/key_mood_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/key_mood_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/key_mood_normal@2x.png
new file mode 100755
index 0000000..4534422
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_normal.imageset/key_mood_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/Contents.json
new file mode 100755
index 0000000..649411f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_mood_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_mood_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/key_mood_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/key_mood_pressed.png
new file mode 100755
index 0000000..3949ba6
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/key_mood_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/key_mood_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/key_mood_pressed@2x.png
new file mode 100755
index 0000000..173be7d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed-1.imageset/key_mood_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/Contents.json
new file mode 100755
index 0000000..649411f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_mood_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_mood_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/key_mood_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/key_mood_pressed.png
new file mode 100755
index 0000000..3949ba6
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/key_mood_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/key_mood_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/key_mood_pressed@2x.png
new file mode 100755
index 0000000..173be7d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_mood_pressed.imageset/key_mood_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/Contents.json
new file mode 100755
index 0000000..42e75b4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/key_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/key_normal.png
new file mode 100755
index 0000000..ccd0ceb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/key_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/key_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/key_normal@2x.png
new file mode 100755
index 0000000..9284fb6
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal-1.imageset/key_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/Contents.json
new file mode 100755
index 0000000..42e75b4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/key_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/key_normal.png
new file mode 100755
index 0000000..ccd0ceb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/key_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/key_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/key_normal@2x.png
new file mode 100755
index 0000000..9284fb6
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_normal.imageset/key_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/Contents.json
new file mode 100755
index 0000000..e56942c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/key_num_column_1.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/key_num_column_1.png
new file mode 100755
index 0000000..5efecc5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/key_num_column_1.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/key_num_column_1@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/key_num_column_1@2x.png
new file mode 100755
index 0000000..00869cd
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1-1.imageset/key_num_column_1@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/Contents.json
new file mode 100755
index 0000000..e56942c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/key_num_column_1.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/key_num_column_1.png
new file mode 100755
index 0000000..5efecc5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/key_num_column_1.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/key_num_column_1@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/key_num_column_1@2x.png
new file mode 100755
index 0000000..00869cd
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1.imageset/key_num_column_1@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/Contents.json
new file mode 100755
index 0000000..4343ba0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_last_row.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_last_row@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/key_num_column_1_last_row.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/key_num_column_1_last_row.png
new file mode 100755
index 0000000..c521af4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/key_num_column_1_last_row.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/key_num_column_1_last_row@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/key_num_column_1_last_row@2x.png
new file mode 100755
index 0000000..c20e655
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row-1.imageset/key_num_column_1_last_row@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/Contents.json
new file mode 100755
index 0000000..4343ba0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_last_row.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_last_row@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/key_num_column_1_last_row.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/key_num_column_1_last_row.png
new file mode 100755
index 0000000..c521af4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/key_num_column_1_last_row.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/key_num_column_1_last_row@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/key_num_column_1_last_row@2x.png
new file mode 100755
index 0000000..c20e655
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row.imageset/key_num_column_1_last_row@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/Contents.json
new file mode 100755
index 0000000..58ed94e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_last_row_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_last_row_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/key_num_column_1_last_row_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/key_num_column_1_last_row_pressed.png
new file mode 100755
index 0000000..b583f48
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/key_num_column_1_last_row_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/key_num_column_1_last_row_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/key_num_column_1_last_row_pressed@2x.png
new file mode 100755
index 0000000..a62697c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed-1.imageset/key_num_column_1_last_row_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/Contents.json
new file mode 100755
index 0000000..58ed94e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_last_row_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_last_row_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/key_num_column_1_last_row_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/key_num_column_1_last_row_pressed.png
new file mode 100755
index 0000000..b583f48
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/key_num_column_1_last_row_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/key_num_column_1_last_row_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/key_num_column_1_last_row_pressed@2x.png
new file mode 100755
index 0000000..a62697c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_last_row_pressed.imageset/key_num_column_1_last_row_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/Contents.json
new file mode 100755
index 0000000..8038b03
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/key_num_column_1_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/key_num_column_1_pressed.png
new file mode 100755
index 0000000..0c249b5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/key_num_column_1_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/key_num_column_1_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/key_num_column_1_pressed@2x.png
new file mode 100755
index 0000000..2329b10
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed-1.imageset/key_num_column_1_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/Contents.json
new file mode 100755
index 0000000..8038b03
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_1_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/key_num_column_1_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/key_num_column_1_pressed.png
new file mode 100755
index 0000000..0c249b5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/key_num_column_1_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/key_num_column_1_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/key_num_column_1_pressed@2x.png
new file mode 100755
index 0000000..2329b10
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_1_pressed.imageset/key_num_column_1_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/Contents.json
new file mode 100755
index 0000000..618149b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/key_num_column_2.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/key_num_column_2.png
new file mode 100755
index 0000000..1a10fce
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/key_num_column_2.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/key_num_column_2@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/key_num_column_2@2x.png
new file mode 100755
index 0000000..6549dac
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2-1.imageset/key_num_column_2@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/Contents.json
new file mode 100755
index 0000000..618149b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/key_num_column_2.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/key_num_column_2.png
new file mode 100755
index 0000000..1a10fce
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/key_num_column_2.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/key_num_column_2@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/key_num_column_2@2x.png
new file mode 100755
index 0000000..6549dac
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2.imageset/key_num_column_2@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/Contents.json
new file mode 100755
index 0000000..f7f6851
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_last_row.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_last_row@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/key_num_column_2_last_row.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/key_num_column_2_last_row.png
new file mode 100755
index 0000000..62edd46
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/key_num_column_2_last_row.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/key_num_column_2_last_row@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/key_num_column_2_last_row@2x.png
new file mode 100755
index 0000000..ac5eef9
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row-1.imageset/key_num_column_2_last_row@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/Contents.json
new file mode 100755
index 0000000..f7f6851
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_last_row.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_last_row@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/key_num_column_2_last_row.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/key_num_column_2_last_row.png
new file mode 100755
index 0000000..62edd46
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/key_num_column_2_last_row.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/key_num_column_2_last_row@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/key_num_column_2_last_row@2x.png
new file mode 100755
index 0000000..ac5eef9
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row.imageset/key_num_column_2_last_row@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/Contents.json
new file mode 100755
index 0000000..955b53e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_last_row_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_last_row_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/key_num_column_2_last_row_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/key_num_column_2_last_row_pressed.png
new file mode 100755
index 0000000..9875f34
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/key_num_column_2_last_row_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/key_num_column_2_last_row_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/key_num_column_2_last_row_pressed@2x.png
new file mode 100755
index 0000000..f041e72
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed-1.imageset/key_num_column_2_last_row_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/Contents.json
new file mode 100755
index 0000000..955b53e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_last_row_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_last_row_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/key_num_column_2_last_row_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/key_num_column_2_last_row_pressed.png
new file mode 100755
index 0000000..9875f34
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/key_num_column_2_last_row_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/key_num_column_2_last_row_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/key_num_column_2_last_row_pressed@2x.png
new file mode 100755
index 0000000..f041e72
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_last_row_pressed.imageset/key_num_column_2_last_row_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/Contents.json
new file mode 100755
index 0000000..42391cd
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/key_num_column_2_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/key_num_column_2_pressed.png
new file mode 100755
index 0000000..b4709b8
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/key_num_column_2_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/key_num_column_2_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/key_num_column_2_pressed@2x.png
new file mode 100755
index 0000000..6f97245
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed-1.imageset/key_num_column_2_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/Contents.json
new file mode 100755
index 0000000..42391cd
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_2_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/key_num_column_2_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/key_num_column_2_pressed.png
new file mode 100755
index 0000000..b4709b8
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/key_num_column_2_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/key_num_column_2_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/key_num_column_2_pressed@2x.png
new file mode 100755
index 0000000..6f97245
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_2_pressed.imageset/key_num_column_2_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/Contents.json
new file mode 100755
index 0000000..371d7bf
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/key_num_column_3.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/key_num_column_3.png
new file mode 100755
index 0000000..1452722
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/key_num_column_3.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/key_num_column_3@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/key_num_column_3@2x.png
new file mode 100755
index 0000000..11274f3
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3-1.imageset/key_num_column_3@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/Contents.json
new file mode 100755
index 0000000..371d7bf
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/key_num_column_3.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/key_num_column_3.png
new file mode 100755
index 0000000..1452722
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/key_num_column_3.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/key_num_column_3@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/key_num_column_3@2x.png
new file mode 100755
index 0000000..11274f3
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3.imageset/key_num_column_3@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/Contents.json
new file mode 100755
index 0000000..f67134b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_last_row.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_last_row@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/key_num_column_3_last_row.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/key_num_column_3_last_row.png
new file mode 100755
index 0000000..d25a584
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/key_num_column_3_last_row.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/key_num_column_3_last_row@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/key_num_column_3_last_row@2x.png
new file mode 100755
index 0000000..72637f8
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row-1.imageset/key_num_column_3_last_row@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/Contents.json
new file mode 100755
index 0000000..f67134b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_last_row.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_last_row@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/key_num_column_3_last_row.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/key_num_column_3_last_row.png
new file mode 100755
index 0000000..d25a584
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/key_num_column_3_last_row.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/key_num_column_3_last_row@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/key_num_column_3_last_row@2x.png
new file mode 100755
index 0000000..72637f8
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row.imageset/key_num_column_3_last_row@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/Contents.json
new file mode 100755
index 0000000..074a33a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_last_row_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_last_row_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/key_num_column_3_last_row_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/key_num_column_3_last_row_pressed.png
new file mode 100755
index 0000000..85cf5a7
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/key_num_column_3_last_row_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/key_num_column_3_last_row_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/key_num_column_3_last_row_pressed@2x.png
new file mode 100755
index 0000000..4fcc25a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed-1.imageset/key_num_column_3_last_row_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/Contents.json
new file mode 100755
index 0000000..074a33a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_last_row_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_last_row_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/key_num_column_3_last_row_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/key_num_column_3_last_row_pressed.png
new file mode 100755
index 0000000..85cf5a7
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/key_num_column_3_last_row_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/key_num_column_3_last_row_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/key_num_column_3_last_row_pressed@2x.png
new file mode 100755
index 0000000..4fcc25a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_last_row_pressed.imageset/key_num_column_3_last_row_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/Contents.json
new file mode 100755
index 0000000..0353b6c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/key_num_column_3_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/key_num_column_3_pressed.png
new file mode 100755
index 0000000..98a0bcc
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/key_num_column_3_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/key_num_column_3_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/key_num_column_3_pressed@2x.png
new file mode 100755
index 0000000..474d4f5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed-1.imageset/key_num_column_3_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/Contents.json
new file mode 100755
index 0000000..0353b6c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_num_column_3_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/key_num_column_3_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/key_num_column_3_pressed.png
new file mode 100755
index 0000000..98a0bcc
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/key_num_column_3_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/key_num_column_3_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/key_num_column_3_pressed@2x.png
new file mode 100755
index 0000000..474d4f5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_num_column_3_pressed.imageset/key_num_column_3_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/Contents.json
new file mode 100755
index 0000000..ce0a720
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_fat_middle.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_fat_middle@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/key_pressed_fat_middle.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/key_pressed_fat_middle.png
new file mode 100755
index 0000000..df62d19
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/key_pressed_fat_middle.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/key_pressed_fat_middle@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/key_pressed_fat_middle@2x.png
new file mode 100755
index 0000000..6113dd5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle-1.imageset/key_pressed_fat_middle@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/Contents.json
new file mode 100755
index 0000000..ce0a720
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_fat_middle.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_fat_middle@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/key_pressed_fat_middle.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/key_pressed_fat_middle.png
new file mode 100755
index 0000000..df62d19
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/key_pressed_fat_middle.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/key_pressed_fat_middle@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/key_pressed_fat_middle@2x.png
new file mode 100755
index 0000000..6113dd5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_fat_middle.imageset/key_pressed_fat_middle@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/Contents.json
new file mode 100755
index 0000000..54f44ce
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_leftside.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_leftside@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/key_pressed_leftside.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/key_pressed_leftside.png
new file mode 100755
index 0000000..2f3bd45
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/key_pressed_leftside.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/key_pressed_leftside@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/key_pressed_leftside@2x.png
new file mode 100755
index 0000000..0a89dc3
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside-1.imageset/key_pressed_leftside@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/Contents.json
new file mode 100755
index 0000000..54f44ce
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_leftside.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_leftside@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/key_pressed_leftside.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/key_pressed_leftside.png
new file mode 100755
index 0000000..2f3bd45
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/key_pressed_leftside.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/key_pressed_leftside@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/key_pressed_leftside@2x.png
new file mode 100755
index 0000000..0a89dc3
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_leftside.imageset/key_pressed_leftside@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/Contents.json
new file mode 100755
index 0000000..2737fdb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_middle.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_middle@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/key_pressed_middle.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/key_pressed_middle.png
new file mode 100755
index 0000000..c0dd141
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/key_pressed_middle.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/key_pressed_middle@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/key_pressed_middle@2x.png
new file mode 100755
index 0000000..5a93e87
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle-1.imageset/key_pressed_middle@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/Contents.json
new file mode 100755
index 0000000..2737fdb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_middle.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_middle@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/key_pressed_middle.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/key_pressed_middle.png
new file mode 100755
index 0000000..c0dd141
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/key_pressed_middle.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/key_pressed_middle@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/key_pressed_middle@2x.png
new file mode 100755
index 0000000..5a93e87
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_middle.imageset/key_pressed_middle@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/Contents.json
new file mode 100755
index 0000000..0bcec5b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_rightside.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_rightside@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/key_pressed_rightside.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/key_pressed_rightside.png
new file mode 100755
index 0000000..d99e527
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/key_pressed_rightside.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/key_pressed_rightside@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/key_pressed_rightside@2x.png
new file mode 100755
index 0000000..aa0c9b4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside-1.imageset/key_pressed_rightside@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/Contents.json
new file mode 100755
index 0000000..0bcec5b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_rightside.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_pressed_rightside@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/key_pressed_rightside.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/key_pressed_rightside.png
new file mode 100755
index 0000000..d99e527
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/key_pressed_rightside.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/key_pressed_rightside@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/key_pressed_rightside@2x.png
new file mode 100755
index 0000000..aa0c9b4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_pressed_rightside.imageset/key_pressed_rightside@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/Contents.json
new file mode 100755
index 0000000..e3da380
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_space_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_space_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/key_space_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/key_space_normal.png
new file mode 100755
index 0000000..ee85038
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/key_space_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/key_space_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/key_space_normal@2x.png
new file mode 100755
index 0000000..98cf5a4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal-1.imageset/key_space_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/Contents.json
new file mode 100755
index 0000000..e3da380
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_space_normal.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_space_normal@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/key_space_normal.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/key_space_normal.png
new file mode 100755
index 0000000..ee85038
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/key_space_normal.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/key_space_normal@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/key_space_normal@2x.png
new file mode 100755
index 0000000..98cf5a4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_normal.imageset/key_space_normal@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/Contents.json
new file mode 100755
index 0000000..6321d16
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_space_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_space_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/key_space_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/key_space_pressed.png
new file mode 100755
index 0000000..a17ab2e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/key_space_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/key_space_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/key_space_pressed@2x.png
new file mode 100755
index 0000000..a87cf4e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed-1.imageset/key_space_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/Contents.json b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/Contents.json
new file mode 100755
index 0000000..6321d16
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "key_space_pressed.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "key_space_pressed@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/key_space_pressed.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/key_space_pressed.png
new file mode 100755
index 0000000..a17ab2e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/key_space_pressed.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/key_space_pressed@2x.png b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/key_space_pressed@2x.png
new file mode 100755
index 0000000..a87cf4e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/SecreteKeyBoard/key_space_pressed.imageset/key_space_pressed@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Headers/CMBWebKeyboard.h b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Headers/CMBWebKeyboard.h
new file mode 100755
index 0000000..eecf552
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Headers/CMBWebKeyboard.h
@@ -0,0 +1,34 @@
+//
+//  CMBWebKeyboard.h
+//  SKeyboardTest
+//
+//  Created by zk on 16/2/23.
+//  Copyright �� 2016��� zkr. All rights reserved.
+//
+
+#ifndef CMBWebKeyboard_h
+#define CMBWebKeyboard_h
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+
+#define cmbKeyboardWillHideNotification @"cmbKeyboardWillHideNotification"
+#define cmbKeyboardDidChangeCharactersNotification @"cmbKeyboardDidChangeCharactersNotification"
+
+typedef NS_ENUM(NSUInteger, CMBLSUICommandPresentType) {
+    CMBLSUICommandPresentTypeKeyboardLike,
+    CMBLSUICommandPresentTypeFullScreen,
+    CMBLSUICommandPresentTypeToolBar,// navigation br or tabbar
+};
+
+@interface CMBWebKeyboard : NSObject
+
+@property (nonatomic, strong) UIWebView *webView;
+
++ (CMBWebKeyboard *)shareInstance;
+- (void)showKeyboardWithRequest:(NSURLRequest *)request;
+- (void)hideKeyboard;
+@end
+
+
+#endif /* CMBWebKeyboard_h */
diff --git a/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Headers/NSString+Additions.h b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Headers/NSString+Additions.h
new file mode 100755
index 0000000..7fe1f3d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Headers/NSString+Additions.h
@@ -0,0 +1,38 @@
+//
+//  NSString+Additions.h
+//  MPBBank-Vista
+//
+//  Created by Xuhl on 12-12-31.
+//
+//
+
+#import <Foundation/Foundation.h>
+
+//#import "NSString+Url.h"
+
+@interface NSString (NSString_Additions)
+
++ (NSString *)hmac_sha1:(NSString *)key text:(NSString *)text;
+
++ (NSString *)parseCardNoToStarString:(NSString *)no;
+
++ (NSString *)stringWithStringOrNil:(NSString *)string;
+
+- (NSComparisonResult)versionStringCompare:(NSString *)version;
+- (BOOL)isCaseInsensitiveEqualToString:(NSString *)string;
+
+- (NSString *)stringByUnescapingHTMLEntities;
++ (NSString *)hexStringFromData:(NSData *)data;
+
++ (NSString *)UUIDString;
+
++ (BOOL)isStringEmpty:(NSString *)str;
+
+- (BOOL)pb_containsString:(NSString *)subString;
+@end
+
+@interface NSString (Repeat)
+
+- (NSString *)repeatTimes:(NSUInteger)times;
+
+@end
diff --git a/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Info.plist b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Info.plist
new file mode 100755
index 0000000..c3cd7e0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/Info.plist
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeDirectory b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeDirectory
new file mode 100755
index 0000000..dbcaf47
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeDirectory
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeRequirements b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeRequirements
new file mode 100755
index 0000000..6992da1
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeRequirements
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeResources b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeResources
new file mode 100755
index 0000000..2a735d5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeResources
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>files</key>
+	<dict>
+		<key>.DS_Store</key>
+		<data>
+		rsl8pg+xjDwCVvfco5syYP9ckYI=
+		</data>
+		<key>Headers/CMBWebKeyboard.h</key>
+		<data>
+		l+B25l6wgAL6uycW0MbI3G0qjuM=
+		</data>
+		<key>Headers/NSString+Additions.h</key>
+		<data>
+		VIdZ0gVZpyxzSdesUi9rstZVyRM=
+		</data>
+		<key>Info.plist</key>
+		<data>
+		AzcRVJOb2K/4OSb1KQ76OOufUi4=
+		</data>
+	</dict>
+	<key>files2</key>
+	<dict>
+		<key>Headers/CMBWebKeyboard.h</key>
+		<data>
+		l+B25l6wgAL6uycW0MbI3G0qjuM=
+		</data>
+		<key>Headers/NSString+Additions.h</key>
+		<data>
+		VIdZ0gVZpyxzSdesUi9rstZVyRM=
+		</data>
+	</dict>
+	<key>rules</key>
+	<dict>
+		<key>^</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^version.plist$</key>
+		<true/>
+	</dict>
+	<key>rules2</key>
+	<dict>
+		<key>.*\.dSYM($|/)</key>
+		<dict>
+			<key>weight</key>
+			<real>11</real>
+		</dict>
+		<key>^</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^(.*/)?\.DS_Store$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>2000</real>
+		</dict>
+		<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^.*</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Info\.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^PkgInfo$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^[^/]+$</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^embedded\.provisionprofile$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^version\.plist$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+	</dict>
+</dict>
+</plist>
diff --git a/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeSignature b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeSignature
new file mode 100755
index 0000000..0e5449d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/_CodeSignature/CodeSignature
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/cmbkeyboard b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/cmbkeyboard
new file mode 100755
index 0000000..40a37e5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/cmbkeyboard.framework/cmbkeyboard
Binary files differ
diff --git a/pingpp-ios/lib/Channels/CmbWallet/libpingpp+cmbWallet.a b/pingpp-ios/lib/Channels/CmbWallet/libpingpp+cmbWallet.a
new file mode 100755
index 0000000..9f07bee
--- /dev/null
+++ b/pingpp-ios/lib/Channels/CmbWallet/libpingpp+cmbWallet.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Info.plist b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Info.plist
new file mode 100755
index 0000000..8564169
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Info.plist
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>BuildMachineOSBuild</key>
+	<string>15B42</string>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>zh_CN</string>
+	<key>CFBundleExecutable</key>
+	<string>PassGuardCtrlBundle</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.microdone.security.PassGuardCtrlBundle</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>PassGuardCtrlBundle</string>
+	<key>CFBundlePackageType</key>
+	<string>BNDL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1</string>
+	<key>CFPlugInDynamicRegisterFunction</key>
+	<string></string>
+	<key>CFPlugInDynamicRegistration</key>
+	<string>NO</string>
+	<key>CFPlugInFactories</key>
+	<dict>
+		<key>00000000-0000-0000-0000-000000000000</key>
+		<string>MyFactoryFunction</string>
+	</dict>
+	<key>CFPlugInTypes</key>
+	<dict>
+		<key>00000000-0000-0000-0000-000000000000</key>
+		<array>
+			<string>00000000-0000-0000-0000-000000000000</string>
+		</array>
+	</dict>
+	<key>CFPlugInUnloadFunction</key>
+	<string></string>
+	<key>DTCompiler</key>
+	<string>com.apple.compilers.llvm.clang.1_0</string>
+	<key>DTPlatformBuild</key>
+	<string>6E35b</string>
+	<key>DTPlatformVersion</key>
+	<string>GM</string>
+	<key>DTSDKBuild</key>
+	<string>14D125</string>
+	<key>DTSDKName</key>
+	<string>macosx10.10</string>
+	<key>DTXcode</key>
+	<string>0640</string>
+	<key>DTXcodeBuild</key>
+	<string>6E35b</string>
+	<key>NSHumanReadableCopyright</key>
+	<string>Copyright �� 2014��� __microdone__. All rights reserved.</string>
+</dict>
+</plist>
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/123_\043+=1@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/123_\043+=1@2x.png"
new file mode 100755
index 0000000..d7d33c8
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/123_\043+=1@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/123_\043+=@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/123_\043+=@2x.png"
new file mode 100755
index 0000000..146329b
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/123_\043+=@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\345\210\240\351\231\244\347\202\271\345\207\273@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\345\210\240\351\231\244\347\202\271\345\207\273@3x.png"
new file mode 100755
index 0000000..4778d5f
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\345\210\240\351\231\244\347\202\271\345\207\273@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\345\210\240\351\231\244\351\273\230\350\256\244@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\345\210\240\351\231\244\351\273\230\350\256\244@3x.png"
new file mode 100755
index 0000000..32a5f07
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\345\210\240\351\231\244\351\273\230\350\256\244@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\347\202\271\345\207\273@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\347\202\271\345\207\273@3x.png"
new file mode 100755
index 0000000..a79a66d
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\347\202\271\345\207\273@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\351\273\230\350\256\244@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\351\273\230\350\256\244@3x.png"
new file mode 100755
index 0000000..c8d7260
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6Plus\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\351\273\230\350\256\244@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\347\202\271\345\207\273@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\347\202\271\345\207\273@3x.png"
new file mode 100755
index 0000000..fcdf8a4
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\347\202\271\345\207\273@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\351\273\230\350\256\244@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\351\273\230\350\256\244@3x.png"
new file mode 100755
index 0000000..67657a1
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/Iphone6\344\271\235\345\256\253\346\240\274\346\224\266\350\265\267\351\273\230\350\256\244@3x.png"
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/bj.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/bj.png
new file mode 100755
index 0000000..7038d5b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/bj.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/bj@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/bj@2x.png
new file mode 100755
index 0000000..0fb6a57
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/bj@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/da123@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/da123@2x.png
new file mode 100755
index 0000000..10a3e31
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/da123@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/da123_down@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/da123_down@2x.png
new file mode 100755
index 0000000..78bb2ae
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/da123_down@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/en.lproj/InfoPlist.strings b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/en.lproj/InfoPlist.strings
new file mode 100755
index 0000000..5e45963
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/en.lproj/InfoPlist.strings
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_Land.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_Land.png
new file mode 100755
index 0000000..968067c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_Land.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_Land@2x.png
new file mode 100755
index 0000000..2d5dd4f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_Land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_down_Land.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_down_Land.png
new file mode 100755
index 0000000..3aebc57
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_down_Land.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_down_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_down_Land@2x.png
new file mode 100755
index 0000000..b3eacea
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadCtrlBackground_down_Land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape.png
new file mode 100755
index 0000000..c647ca0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape@2x.png
new file mode 100755
index 0000000..ac36bed
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape_Land.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape_Land.png
new file mode 100755
index 0000000..1183210
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape_Land.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape_Land@2x.png
new file mode 100755
index 0000000..1282c9e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadDoneLandscape_Land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadInputView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadInputView.nib
new file mode 100755
index 0000000..ca78042
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadInputView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land.png
new file mode 100755
index 0000000..ba93d2a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land@2x.png
new file mode 100755
index 0000000..65b5a10
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land_down.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land_down.png
new file mode 100755
index 0000000..11b45cb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land_down.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land_down@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land_down@2x.png
new file mode 100755
index 0000000..5aaac08
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyBackground_Land_down@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape.png
new file mode 100755
index 0000000..05c1946
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape@2x.png
new file mode 100755
index 0000000..83626a5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape_down.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape_down.png
new file mode 100755
index 0000000..231d009
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape_down.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape_down@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape_down@2x.png
new file mode 100755
index 0000000..0f7fc8a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyDeleteLandscape_down@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape 09-46-05-236.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape 09-46-05-236.png
new file mode 100755
index 0000000..91e6dce
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape 09-46-05-236.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape.png
new file mode 100755
index 0000000..9d4ebfb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape@2x 09-52-35-496.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape@2x 09-52-35-496.png
new file mode 100755
index 0000000..00b9f1c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape@2x 09-52-35-496.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape@2x.png
new file mode 100755
index 0000000..95c62bd
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftLandscape@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftonceLandscape.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftonceLandscape.png
new file mode 100755
index 0000000..8fc5ba1
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftonceLandscape.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftonceLandscape@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftonceLandscape@2x.png
new file mode 100755
index 0000000..470c4a9
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftonceLandscape@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftretainLandscape.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftretainLandscape.png
new file mode 100755
index 0000000..6311c3a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftretainLandscape.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftretainLandscape@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftretainLandscape@2x.png
new file mode 100755
index 0000000..1ab004c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeyShiftretainLandscape@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape.png
new file mode 100755
index 0000000..21f4247
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape@2x.png
new file mode 100755
index 0000000..628d185
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape_down.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape_down.png
new file mode 100755
index 0000000..41ae7a3
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape_down.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape_down@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape_down@2x.png
new file mode 100755
index 0000000..7a9e16b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadKeySpaceLandscape_down@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadNumberKeyboardView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadNumberKeyboardView.nib
new file mode 100755
index 0000000..222bb13
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadNumberKeyboardView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadSpecialCharKeyboardView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadSpecialCharKeyboardView.nib
new file mode 100755
index 0000000..e0f2427
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadSpecialCharKeyboardView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadStandardKeyboardView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadStandardKeyboardView.nib
new file mode 100755
index 0000000..20a8f84
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadStandardKeyboardView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land.png
new file mode 100755
index 0000000..389c8df
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land@2x.png
new file mode 100755
index 0000000..e30ba19
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land_Down.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land_Down.png
new file mode 100755
index 0000000..a97ff34
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land_Down.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land_Down@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land_Down@2x.png
new file mode 100755
index 0000000..6c0dbcc
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPadZFBackground_Land_Down@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusInputView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusInputView.nib
new file mode 100755
index 0000000..341ed83
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusInputView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusNumberKeyboardView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusNumberKeyboardView.nib
new file mode 100755
index 0000000..2e1f927
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusNumberKeyboardView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/objects-8.0+.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/objects-8.0+.nib
new file mode 100755
index 0000000..f0bfb5c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/objects-8.0+.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/objects.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/objects.nib
new file mode 100755
index 0000000..f0bfb5c
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/objects.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/runtime.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/runtime.nib
new file mode 100755
index 0000000..1199667
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusPureNumberKeyboardView.nib/runtime.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusSpecialCharKeyboardView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusSpecialCharKeyboardView.nib
new file mode 100755
index 0000000..b217dbd
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusSpecialCharKeyboardView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusStandardKeyboardView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusStandardKeyboardView.nib
new file mode 100755
index 0000000..d4c2b22
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhone6PlusStandardKeyboardView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete@2x.png
new file mode 100755
index 0000000..1a199b0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete@3x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete@3x.png
new file mode 100755
index 0000000..db019d4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDeleteDown_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDeleteDown_Land@2x.png
new file mode 100755
index 0000000..dc553e1
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDeleteDown_Land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_Land@2x.png
new file mode 100755
index 0000000..fc61555
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_Land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_down@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_down@2x.png
new file mode 100755
index 0000000..9cb35ee
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_down@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_down@3x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_down@3x.png
new file mode 100755
index 0000000..0ffc147
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDelete_down@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone@2x.png
new file mode 100755
index 0000000..526d85a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone@3x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone@3x.png
new file mode 100755
index 0000000..a8fb253
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDoneDown_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDoneDown_Land@2x.png
new file mode 100755
index 0000000..6b53e24
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDoneDown_Land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone_Land@2x.png
new file mode 100755
index 0000000..6ce5cb3
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone_Land@2x.png
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone\346\224\266\350\265\267@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone\346\224\266\350\265\267@2x.png"
new file mode 100755
index 0000000..5ccd6a6
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone\346\224\266\350\265\267@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone\346\224\266\350\265\267@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone\346\224\266\350\265\267@3x.png"
new file mode 100755
index 0000000..719c4af
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone\346\224\266\350\265\267@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone\346\224\266\350\265\267\346\250\252\346\235\2771@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone\346\224\266\350\265\267\346\250\252\346\235\2771@2x.png"
new file mode 100755
index 0000000..36f4523
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneDone\346\224\266\350\265\267\346\250\252\346\235\2771@2x.png"
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneInputView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneInputView.nib
new file mode 100755
index 0000000..f34a9c9
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneInputView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneKeyBackground@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneKeyBackground@2x.png
new file mode 100755
index 0000000..377e5c7
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneKeyBackground@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneNumberKeyboardView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneNumberKeyboardView.nib
new file mode 100755
index 0000000..3cf5bab
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneNumberKeyboardView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhonePureNumberKeyboardView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhonePureNumberKeyboardView.nib
new file mode 100755
index 0000000..82b1b79
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhonePureNumberKeyboardView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhonePureNumberKeyboardView1.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhonePureNumberKeyboardView1.nib
new file mode 100755
index 0000000..eab729a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhonePureNumberKeyboardView1.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShift@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShift@2x.png
new file mode 100755
index 0000000..346c207
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShift@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShift@3x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShift@3x.png
new file mode 100755
index 0000000..b8ff54a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShift@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftonce@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftonce@2x.png
new file mode 100755
index 0000000..6b42b04
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftonce@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftonce@3x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftonce@3x.png
new file mode 100755
index 0000000..6ee83f0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftonce@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftretain@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftretain@2x.png
new file mode 100755
index 0000000..8e2b257
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftretain@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftretain@3x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftretain@3x.png
new file mode 100755
index 0000000..267ad58
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneShiftretain@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneSpace@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneSpace@2x.png
new file mode 100755
index 0000000..6211f8a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneSpace@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneSpecialCharKeyboardView.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneSpecialCharKeyboardView.nib
new file mode 100755
index 0000000..988afb9
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneSpecialCharKeyboardView.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/objects-8.0+.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/objects-8.0+.nib
new file mode 100755
index 0000000..57ba1f1
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/objects-8.0+.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/objects.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/objects.nib
new file mode 100755
index 0000000..57ba1f1
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/objects.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/runtime.nib b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/runtime.nib
new file mode 100755
index 0000000..83f50b0
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/iPhoneStandardKeyboardView.nib/runtime.nib
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/kb_bg@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/kb_bg@2x.png
new file mode 100755
index 0000000..e060650
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/kb_bg@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/kb_bg_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/kb_bg_Land@2x.png
new file mode 100755
index 0000000..9a8e3ea
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/kb_bg_Land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdelete@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdelete@2x.png
new file mode 100755
index 0000000..912c781
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdelete@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdelete@3x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdelete@3x.png
new file mode 100755
index 0000000..330dfcb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdelete@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown@2x.png
new file mode 100755
index 0000000..8177166
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown@3x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown@3x.png
new file mode 100755
index 0000000..e63b14f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown_Land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown_Land@2x.png
new file mode 100755
index 0000000..f6d72a4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeletedown_Land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeleteland@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeleteland@2x.png
new file mode 100755
index 0000000..2839dc4
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdeleteland@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone@2x.png
new file mode 100755
index 0000000..b4c2db1
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone@3x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone@3x.png
new file mode 100755
index 0000000..5a84292
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone_land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone_land@2x.png
new file mode 100755
index 0000000..751dc46
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdone_land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown@2x.png
new file mode 100755
index 0000000..7abac29
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown@3x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown@3x.png
new file mode 100755
index 0000000..fb86257
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown@3x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown_land@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown_land@2x.png
new file mode 100755
index 0000000..037a27f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/numdonedown_land@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift1@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift1@2x.png
new file mode 100755
index 0000000..f94cb29
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift1@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift2@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift2@2x.png
new file mode 100755
index 0000000..80977cf
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift2@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift@2x.png
new file mode 100755
index 0000000..31b517a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/shift@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/space1@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/space1@2x.png
new file mode 100755
index 0000000..1dbf7a8
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/space1@2x.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/space@2x.png b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/space@2x.png
new file mode 100755
index 0000000..294d9a1
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/space@2x.png
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\270\255\347\202\271\345\207\273@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\270\255\347\202\271\345\207\273@2x.png"
new file mode 100755
index 0000000..5f3353d
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\270\255\347\202\271\345\207\273@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274del1@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274del1@3x.png"
new file mode 100755
index 0000000..d6d7d14
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274del1@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274\346\250\252\347\211\210\346\224\266\350\265\267\346\214\211\344\270\213@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274\346\250\252\347\211\210\346\224\266\350\265\267\346\214\211\344\270\213@3x.png"
new file mode 100755
index 0000000..9309ac8
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274\346\250\252\347\211\210\346\224\266\350\265\267\346\214\211\344\270\213@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274\346\250\252\347\211\210\346\224\266\350\265\267\346\214\211\344\270\213\351\273\230\350\256\244@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274\346\250\252\347\211\210\346\224\266\350\265\267\346\214\211\344\270\213\351\273\230\350\256\244@3x.png"
new file mode 100755
index 0000000..e5da450
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274\346\250\252\347\211\210\346\224\266\350\265\267\346\214\211\344\270\213\351\273\230\350\256\244@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274\351\273\230\350\256\244del1@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274\351\273\230\350\256\244del1@3x.png"
new file mode 100755
index 0000000..b2b557f
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\344\271\235\345\256\253\346\240\274\351\273\230\350\256\244del1@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\217\263\350\276\271\347\202\271\345\207\273@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\217\263\350\276\271\347\202\271\345\207\273@2x.png"
new file mode 100755
index 0000000..cf7bfc0
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\217\263\350\276\271\347\202\271\345\207\273@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\244\247123_\043+=1@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\244\247123_\043+=1@2x.png"
new file mode 100755
index 0000000..db441dd
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\244\247123_\043+=1@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\244\247123_\043+=@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\244\247123_\043+=@2x.png"
new file mode 100755
index 0000000..4895711
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\244\247123_\043+=@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\267\246\350\276\271\347\202\271\345\207\273@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\267\246\350\276\271\347\202\271\345\207\273@2x.png"
new file mode 100755
index 0000000..ffa25b5
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\345\267\246\350\276\271\347\202\271\345\207\273@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\346\214\211\344\270\213\346\214\211\351\224\256@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\346\214\211\344\270\213\346\214\211\351\224\256@2x.png"
new file mode 100755
index 0000000..9889177
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\346\214\211\344\270\213\346\214\211\351\224\256@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\346\214\211\344\270\213\346\214\211\351\224\256@3x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\346\214\211\344\270\213\346\214\211\351\224\256@3x.png"
new file mode 100755
index 0000000..4499b82
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\346\214\211\344\270\213\346\214\211\351\224\256@3x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\346\214\211\351\224\256@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\346\214\211\351\224\256@2x.png"
new file mode 100755
index 0000000..e56509a
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\346\214\211\351\224\256@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\202\271\345\207\273@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\202\271\345\207\273@2x.png"
new file mode 100755
index 0000000..42910c8
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\202\271\345\207\273@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\251\272\346\240\274\346\214\211\344\270\213_03_nologo@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\251\272\346\240\274\346\214\211\344\270\213_03_nologo@2x.png"
new file mode 100755
index 0000000..19264b5
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\251\272\346\240\274\346\214\211\344\270\213_03_nologo@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\2561@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\2561@2x.png"
new file mode 100755
index 0000000..2fc5344
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\2561@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\2561\346\250\252\346\235\277@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\2561\346\250\252\346\235\277@2x.png"
new file mode 100755
index 0000000..ab63263
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\2561\346\250\252\346\235\277@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\256@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\256@2x.png"
new file mode 100755
index 0000000..fbcd5ab
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\256@2x.png"
Binary files differ
diff --git "a/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\256\346\250\252\346\235\277@2x.png" "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\256\346\250\252\346\235\277@2x.png"
new file mode 100755
index 0000000..26dbdc8
--- /dev/null
+++ "b/pingpp-ios/lib/Channels/Cnp/PassGuardCtrlBundle.bundle/Contents/Resources/\347\272\257\346\225\260\345\255\227\346\214\211\351\224\256\346\250\252\346\235\277@2x.png"
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/Pingpp+Cnp.h b/pingpp-ios/lib/Channels/Cnp/Pingpp+Cnp.h
new file mode 100755
index 0000000..e14e608
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/Pingpp+Cnp.h
@@ -0,0 +1,81 @@
+//
+//  Pingpp+Cnp.h
+//  Pingpp
+//
+//  Created by Afon on 15/9/23.
+//  Copyright �� 2015��� pingplusplus. All rights reserved.
+//
+
+#import "Pingpp.h"
+#import "PingppURLResponse.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef void (^PingppResultCompletion)(NSString *result, PingppURLResponse * __nullable response, NSError * __nullable error);
+
+typedef NS_ENUM(NSUInteger, PingppCardOperationOption) {
+    PingppCardOperationAdd,
+    PingppCardOperationRemove,
+    PingppCardOperationUnknown
+};
+
+typedef NS_ENUM(NSUInteger, PingppCardOperationResultOption) {
+    PingppCardOperationResultSucceeded,
+    PingppCardOperationResultFailed,
+    PingppCardOperationResultCancelled
+};
+
+@interface Pingpp (Cnp)
+
+/**
+ *  ������������������
+ *  @param  orderNo   ���������������
+ *  @param  amount    ������������
+ *  @param  params    ��������������������������������� custom_params ���������POST ��� chargeURL
+ */
++ (void)payInAppWithOrderNo:(NSString *)orderNo
+                     amount:(NSUInteger)amount
+                     params:(nullable NSDictionary *)params
+                  chargeURL:(NSString *)url
+             viewController:(UIViewController *)viewController
+          completionHandler:(PingppResultCompletion)handler;
+
+/**
+ *  ������ Publishable Key
+ *  @param  publishableKey  ��������� https://dashboard.pingxx.com������������������������������
+ */
++ (void)setPublishableKey:(NSString *)publishableKey;
+
++ (NSString *)publishableKey;
+
+/**
+ *  ������ Customer
+ *  @param  customer  Customer JSON ������������ NSDictionary
+ *  @param  error     JSON ������������������������������
+ */
++ (void)setCustomer:(id)customer error:(NSError **)error;
+
++ (nullable NSDictionary *)customer;
+
+/**
+ *  ������������������������
+ *  ������������������ + (void)setCustomer:error:
+ */
++ (void)openCardManager;
+
+/**
+ *  ������������������
+ *  @param  operation   ������������������������������������
+ *  @param  data        ��������������������������������������� token_id���card_id���customer_id
+ */
++ (void)setOperationBlock:(nullable void (^)(PingppCardOperationOption operation, NSDictionary *data))block;
+
+/**
+ *  ������������������������
+ *  @param  result   ������������
+ *  @param  data     ��������� SDK ���������������������
+ */
++ (void)continueOperation:(PingppCardOperationResultOption)result withData:(nullable id)data;
+
+@end
+NS_ASSUME_NONNULL_END
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/Info.plist b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/Info.plist
new file mode 100755
index 0000000..c193e2b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/Info.plist
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/PingppCnpProtocolData.plist b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/PingppCnpProtocolData.plist
new file mode 100755
index 0000000..87022a6
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/PingppCnpProtocolData.plist
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/abc.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/abc.png
new file mode 100755
index 0000000..dd30628
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/abc.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bcm.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bcm.png
new file mode 100755
index 0000000..486b6db
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bcm.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bob.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bob.png
new file mode 100755
index 0000000..607f59f
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bob.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/boc.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/boc.png
new file mode 100755
index 0000000..cb7b30a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/boc.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bosh.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bosh.png
new file mode 100755
index 0000000..d50a592
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/bosh.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/ccb.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/ccb.png
new file mode 100755
index 0000000..23024fc
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/ccb.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/ceb.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/ceb.png
new file mode 100755
index 0000000..9fde822
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/ceb.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cgb.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cgb.png
new file mode 100755
index 0000000..aa96d5d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cgb.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cib.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cib.png
new file mode 100755
index 0000000..3f84b67
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cib.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cmb.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cmb.png
new file mode 100755
index 0000000..c556c3d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cmb.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cmbc.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cmbc.png
new file mode 100755
index 0000000..a914787
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cmbc.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cncb.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cncb.png
new file mode 100755
index 0000000..c338ee2
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/cncb.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/czb.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/czb.png
new file mode 100755
index 0000000..637106a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/czb.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/dlcb.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/dlcb.png
new file mode 100755
index 0000000..4bed0d1
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/dlcb.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/hxb.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/hxb.png
new file mode 100755
index 0000000..2b6fd4d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/hxb.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/icbc.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/icbc.png
new file mode 100755
index 0000000..9b2bbaa
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/icbc.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/jlbk.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/jlbk.png
new file mode 100755
index 0000000..ee27726
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/jlbk.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/mastercard.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/mastercard.png
new file mode 100755
index 0000000..d8a5250
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/mastercard.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/pab.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/pab.png
new file mode 100755
index 0000000..db60505
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/pab.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/pbc.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/pbc.png
new file mode 100755
index 0000000..d15f5e9
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/pbc.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/psbc.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/psbc.png
new file mode 100755
index 0000000..608e163
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/psbc.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/sjbc.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/sjbc.png
new file mode 100755
index 0000000..fbe39a5
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/sjbc.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/spdb.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/spdb.png
new file mode 100755
index 0000000..c2ba7eb
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/spdb.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/test-foreign.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/test-foreign.png
new file mode 100755
index 0000000..4ca7b06
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/test-foreign.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/test.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/test.png
new file mode 100755
index 0000000..e1e00ee
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/test.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/visa.png b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/visa.png
new file mode 100755
index 0000000..23d8c83
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/PingppCnp.bundle/visa.png
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Cnp/libpingpp+cnp.a b/pingpp-ios/lib/Channels/Cnp/libpingpp+cnp.a
new file mode 100755
index 0000000..4ed708b
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Cnp/libpingpp+cnp.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Fqlpay/libpingpp+fqlpay.a b/pingpp-ios/lib/Channels/Fqlpay/libpingpp+fqlpay.a
new file mode 100755
index 0000000..2c0a87e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Fqlpay/libpingpp+fqlpay.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Jdpay/libpingpp+jdpay.a b/pingpp-ios/lib/Channels/Jdpay/libpingpp+jdpay.a
new file mode 100755
index 0000000..1ecb08a
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Jdpay/libpingpp+jdpay.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Mmdpay/libpingpp+mmdpay.a b/pingpp-ios/lib/Channels/Mmdpay/libpingpp+mmdpay.a
new file mode 100755
index 0000000..6a97a70
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Mmdpay/libpingpp+mmdpay.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/QQWallet/libpingpp+qqwallet.a b/pingpp-ios/lib/Channels/QQWallet/libpingpp+qqwallet.a
new file mode 100755
index 0000000..83beb4e
--- /dev/null
+++ b/pingpp-ios/lib/Channels/QQWallet/libpingpp+qqwallet.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Qgbc/libpingpp+qgbc.a b/pingpp-ios/lib/Channels/Qgbc/libpingpp+qgbc.a
new file mode 100755
index 0000000..a1af679
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Qgbc/libpingpp+qgbc.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/UnionPay/libPaymentControl.a b/pingpp-ios/lib/Channels/UnionPay/libPaymentControl.a
new file mode 100755
index 0000000..46c9d4d
--- /dev/null
+++ b/pingpp-ios/lib/Channels/UnionPay/libPaymentControl.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/UnionPay/libpingpp+up.a b/pingpp-ios/lib/Channels/UnionPay/libpingpp+up.a
new file mode 100755
index 0000000..1c23e46
--- /dev/null
+++ b/pingpp-ios/lib/Channels/UnionPay/libpingpp+up.a
Binary files differ
diff --git a/pingpp-ios/lib/Channels/Yeepay/libpingpp+yeepay.a b/pingpp-ios/lib/Channels/Yeepay/libpingpp+yeepay.a
new file mode 100755
index 0000000..7c855ce
--- /dev/null
+++ b/pingpp-ios/lib/Channels/Yeepay/libpingpp+yeepay.a
Binary files differ
diff --git a/pingpp-ios/lib/Dependencies/Network/PingppURLResponse.h b/pingpp-ios/lib/Dependencies/Network/PingppURLResponse.h
new file mode 100755
index 0000000..b110081
--- /dev/null
+++ b/pingpp-ios/lib/Dependencies/Network/PingppURLResponse.h
@@ -0,0 +1,37 @@
+//
+//  PingppURLResponse.h
+//  Pingpp
+//
+//  Created by afon on 15/8/29.
+//  Copyright (c) 2015��� PingPluspPlus. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface PingppURLResponse : NSObject
+
+/**
+ The last response received by the operation's connection.
+ */
+@property (readonly, nonatomic, strong, nullable) NSURLResponse *response;
+
+/**
+ The data received during the request.
+ */
+@property (readonly, nonatomic, strong, nullable) NSData *responseData;
+
+/**
+ The string representation of the response data.
+ */
+@property (readonly, nonatomic, copy, nullable) NSString *responseString;
+
+/**
+ The string encoding of the response.
+ */
+@property (readonly, nonatomic, assign) NSStringEncoding responseStringEncoding;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/pingpp-ios/lib/Dependencies/Network/libpingpp+network.a b/pingpp-ios/lib/Dependencies/Network/libpingpp+network.a
new file mode 100755
index 0000000..13e0c96
--- /dev/null
+++ b/pingpp-ios/lib/Dependencies/Network/libpingpp+network.a
Binary files differ
diff --git a/pingpp-ios/lib/Dependencies/WebView/libpingpp+webview.a b/pingpp-ios/lib/Dependencies/WebView/libpingpp+webview.a
new file mode 100755
index 0000000..6e08d6c
--- /dev/null
+++ b/pingpp-ios/lib/Dependencies/WebView/libpingpp+webview.a
Binary files differ
diff --git a/pingpp-ios/lib/One/Pingpp+One.h b/pingpp-ios/lib/One/Pingpp+One.h
new file mode 100755
index 0000000..fd9d242
--- /dev/null
+++ b/pingpp-ios/lib/One/Pingpp+One.h
@@ -0,0 +1,78 @@
+//
+//  Pingpp+One.h
+//  pingpp+one
+//
+//  Created by Afon on 15/9/2.
+//  Copyright (c) 2015��� pingplusplus. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import "Pingpp.h"
+#import "PingppURLResponse.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef void (^PingppOneCompletion)(NSString *result, PingppURLResponse * __nullable response, NSError * __nullable error);
+
+typedef NS_OPTIONS(NSUInteger, PingppBtnOption) {
+    PingppBtnAlipay = 1 << 0,
+    PingppBtnWx = 1 << 1,
+    PingppBtnUpacp = 1 << 2,
+    PingppBtnUp = PingppBtnUpacp,
+    PingppBtnBfb = 1 << 3,
+    PingppBtnUpmp = 1 << 4
+};
+
+@interface Pingpp (One)
+
+/**
+ *  ���������������������
+ *  @param  orderNo         ������������������������������������
+ *  @param  amount          ������������������������������������150 ������ 1.5 ������
+ *  @param  params          ������������������������ chargeURL ��������������� custom_params ������
+ *  @param  chargeURL       ������������������������������������������������������������ charge ��� JSON ���������
+ *  @param  appURLScheme    Info.plist ������������ URL Scheme���������������������������������������
+ *  @param  viewController  ��������� ViewController
+ *  @param  handler         ������
+ */
++ (void)payWithOrderNo:(NSString *)orderNo
+                amount:(NSUInteger)amount
+                params:(nullable NSDictionary *)params
+             chargeURL:(NSString *)url
+          appURLScheme:(nullable NSString *)scheme
+        viewController:(UIViewController *)viewController
+     completionHandler:(PingppOneCompletion)handler;
+
+/**
+ *  ������������ charge ��� URL������������������������ chargeURL ���������
+ *  @param  chargeURLString  ������ charge ��� URL
+ */
++ (void)setChargeURLString:(NSString *)chargeURLString;
+
+/**
+ *  ��������������������� chargeURLString
+ *  @return  ��������� charge ��� URL
+ */
++ (NSString *)chargeURLString;
+
+/**
+ *  ���������������������������������������������
+ *  @param  channels  ������������������ API ��� channel ������������������: @[@"wx", @"alipay", @"upacp", @"bfb"]
+ */
++ (void)enableChannels:(NSArray *)channels;
+
+/**
+ *  ������������������������������������������������������������������
+ *  @param  option  ������������: PingppBtnAlipay|PingppBtnWx|PingppBtnUpacp|PingppBtnBfb
+ */
++ (void)enableBtn:(PingppBtnOption)option;
+
+/**
+ *  ���������������������������
+ *  @param  enable  YES/NO������������������(������������������������������������������������)
+ */
++ (void)enableCnp:(BOOL)enable;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/pingpp-ios/lib/One/libpingpp+one.a b/pingpp-ios/lib/One/libpingpp+one.a
new file mode 100755
index 0000000..3ac03a1
--- /dev/null
+++ b/pingpp-ios/lib/One/libpingpp+one.a
Binary files differ
diff --git a/pingpp-ios/lib/Pingpp.bundle/Info.plist b/pingpp-ios/lib/Pingpp.bundle/Info.plist
new file mode 100755
index 0000000..395fc87
--- /dev/null
+++ b/pingpp-ios/lib/Pingpp.bundle/Info.plist
Binary files differ
diff --git a/pingpp-ios/lib/Pingpp.bundle/PingppTestPaymentSummaryViewController.nib b/pingpp-ios/lib/Pingpp.bundle/PingppTestPaymentSummaryViewController.nib
new file mode 100755
index 0000000..3bb4d14
--- /dev/null
+++ b/pingpp-ios/lib/Pingpp.bundle/PingppTestPaymentSummaryViewController.nib
Binary files differ
diff --git a/pingpp-ios/lib/Pingpp.bundle/about_blank.html b/pingpp-ios/lib/Pingpp.bundle/about_blank.html
new file mode 100755
index 0000000..702534c
--- /dev/null
+++ b/pingpp-ios/lib/Pingpp.bundle/about_blank.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="UTF-8">
+        <title>������������������������...</title>
+        <style>
+            *,
+            *:before,
+            *:after {
+                box-sizing: border-box;
+            }
+        
+        *:before {
+            content: "";
+            display: table;
+        }
+        
+        *:after {
+            content: "";
+            display: table;
+            clear: both;
+        }
+        
+        html, body {
+            height: 100%;
+            margin: 0;
+            overflow: auto;
+        }
+        .justify {
+            position: relative;
+            margin: 0 auto;
+            top: 50%;
+            -webkit-transform: translateY(-50%);
+            transform: translateY(-50%);
+        }
+        .text-center {
+            text-align: center;
+        }
+        </style>
+    </head>
+    <body>
+        <div class="justify">
+            <p class="text-center">������������������������...</p>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/pingpp-ios/lib/Pingpp.bundle/en.lproj/Localizable.strings b/pingpp-ios/lib/Pingpp.bundle/en.lproj/Localizable.strings
new file mode 100755
index 0000000..3967e06
--- /dev/null
+++ b/pingpp-ios/lib/Pingpp.bundle/en.lproj/Localizable.strings
Binary files differ
diff --git a/pingpp-ios/lib/Pingpp.bundle/zh-Hans.lproj/Localizable.strings b/pingpp-ios/lib/Pingpp.bundle/zh-Hans.lproj/Localizable.strings
new file mode 100755
index 0000000..ab605bf
--- /dev/null
+++ b/pingpp-ios/lib/Pingpp.bundle/zh-Hans.lproj/Localizable.strings
Binary files differ
diff --git a/pingpp-ios/lib/Pingpp.h b/pingpp-ios/lib/Pingpp.h
new file mode 100755
index 0000000..fab5d4c
--- /dev/null
+++ b/pingpp-ios/lib/Pingpp.h
@@ -0,0 +1,163 @@
+//
+//  Pingpp.h
+//  Pingpp
+//
+//  Created by afon on 14/11/20.
+//
+#ifndef Pingpp_Pingpp_h
+#define Pingpp_Pingpp_h
+
+#import <UIKit/UIKit.h>
+#import <Foundation/Foundation.h>
+
+typedef NS_ENUM(NSUInteger, PingppErrorOption)
+{
+    PingppErrInvalidCharge,
+    PingppErrInvalidCredential,
+    PingppErrInvalidChannel,
+    PingppErrWxNotInstalled,
+    PingppErrWxAppNotSupported,
+    PingppErrCancelled,
+    PingppErrUnknownCancel,
+    PingppErrViewControllerIsNil,
+    PingppErrTestmodeNotifyFailed,
+    PingppErrChannelReturnFail,
+    PingppErrConnectionError,
+    PingppErrUnknownError,
+    PingppErrActivation,
+    PingppErrRequestTimeOut,
+    PingppErrProcessing,
+    PingppErrQqNotInstalled,
+};
+
+typedef NS_ENUM(NSUInteger, PingppRequestContentTypeOption) {
+    PingppRequestContentTypeJSON,
+    PingppRequestContentTypeForm
+};
+
+@interface PingppError : NSObject
+
+@property(readonly, assign) PingppErrorOption code;
+
+- (NSString *)getMsg;
+
+@end
+
+
+typedef void (^PingppCompletion)(NSString *result, PingppError *error);
+
+
+@interface Pingpp : NSObject
+
+/**
+ *  ������������������
+ *
+ *  @param charge           Charge ������(JSON ��������������� ��� NSDictionary)
+ *  @param viewController   ������������������
+ *  @param scheme           URL Scheme������������������������������
+ *  @param completionBlock  ������������������ Block
+ */
++ (void)createPayment:(NSObject *)charge viewController:(UIViewController*)viewController appURLScheme:(NSString *)scheme withCompletion:(PingppCompletion)completionBlock;
+
+/**
+ *  ������������������(���������/������)
+ *
+ *  @param charge           Charge ������(JSON ��������������� ��� NSDictionary)
+ *  @param scheme           URL Scheme������������������������������
+ *  @param completionBlock  ������������������ Block
+ */
++ (void)createPayment:(NSObject *)charge appURLScheme:(NSString *)scheme withCompletion:(PingppCompletion)completion;
+
+/**
+ *  ������������������(���������/������/������������)
+ *
+ *  @param url              ������url
+ *  @param completionBlock  ������������������ Block������������������������������������ app ��� kill ������������������������������������������������
+ *
+ *  @return                 ��������������� URL ������ URL ������������������������������ NO���
+ */
++ (BOOL)handleOpenURL:(NSURL *)url withCompletion:(PingppCompletion)completion;
+
+/**
+ *  ������������������(���������/������/������������)
+ *
+ *  @param url                ������url
+ *  @param sourceApplication  ��������� Bundle identifier
+ *  @param completionBlock    ������������������ Block������������������������������������ app ��� kill ������������������������������������������������
+ *
+ *  @return                   ��������������� URL ������ URL ������������������������������ NO���
+ */
++ (BOOL)handleOpenURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication withCompletion:(PingppCompletion)completion;
+
+/**
+ *  ���������
+ *
+ *  @return         Pingpp SDK ���������
+ */
++ (NSString *)version;
+
+/**
+ *  ������ Debug ������
+ *
+ *  @param enabled    ������������
+ */
++ (void)setDebugMode:(BOOL)enabled;
+
+/**
+*  web��������������������������� "������������" ������������������������
+*  @enabled        ������������
+*/
++ (void)ignoreResultUrl:(BOOL)enabled;
+
+/**
+ *  ������ App ID
+ *  @param  appId  Ping++ ��������� ID������������ https://dashboard.pingxx.com ������
+ */
++ (void)setAppId:(NSString *)appId;
+
++ (NSString *)appId;
+
+/**
+ *  ��������������� Content-Type
+ *  @param  type  ������������ JSON ��� Form������������ JSON
+ */
++ (void)setRequestContentType:(PingppRequestContentTypeOption)type;
+
++ (PingppRequestContentTypeOption)requestContentType;
+
+/**
+ *  ������ https ������������������������ chargeURL ��� https ������������������������������������������
+ *  @param  allowInvalidCertificates BOOL
+ */
++ (void)setAllowInvalidCertificates:(BOOL)allowInvalidCertificates;
+
++ (BOOL)allowInvalidCertificates;
+
+/**
+ *  ���������������������������������������������������������������������������������
+ *
+ *  @param timeout  ���������������������������
+ */
++ (void)setNetworkTimeout:(NSTimeInterval)timeout;
+
+/**
+ *  ���������������������������������
+ */
++ (void)setBdWalletNavBgImage:(UIImage *)image;
+
+/**
+ *  ���������������������������Normal������
+ */
++ (void)setBdWalletNavBackNormalImage:(UIImage *)image;
+
+/**
+ *  ������������������Title������
+ */
++ (void)setBdWalletNavTitleColor:(UIColor *)color;
+
+/**
+ * ������webView navigationItem ������
+ */
++ (void)setWebViewItemColor:(UIColor *)itemColor buttonColor:(UIColor*)bntColor;
+@end
+#endif
\ No newline at end of file
diff --git a/pingpp-ios/lib/libpingppcore.a b/pingpp-ios/lib/libpingppcore.a
new file mode 100755
index 0000000..c954b4c
--- /dev/null
+++ b/pingpp-ios/lib/libpingppcore.a
Binary files differ

--
Gitblit v1.8.0