1. 程式人生 > >iOS9 微信支付支付寶支付適配

iOS9 微信支付支付寶支付適配

網上有相關文章,但不全,一方面是限制了http訪問,需要在info.plist中設定下:

<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSAllowsArbitraryLoads</key>
		<true/>
	</dict>

另一方面,是介面跳轉,將要使用的URL Schemes設定為白名單:
<key>LSApplicationQueriesSchemes</key>
	<array>
		<string>alipay</string>
		<string>wechat</string>
		<string>weixin</string>
	</array>
這個微信的sdk 1.6更新了,其中說明文件有說到,支付寶暫沒有找到。readme檔案如下
重要!
SDK1.6
1、iOS 9系統策略更新,限制了http協議的訪問,此外應用需要在“Info.plist”中將要使用的URL Schemes列為白名單,才可正常檢查其他應用是否安裝。
受此影響,當你的應用在iOS 9中需要使用微信SDK的相關能力(分享、收藏、支付、登入等)時,需要在“Info.plist”裡增加如下程式碼:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>weixin</string>
</array>

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
或者配置白名單域名pingma.qq.com

2、開發者需要在工程中連結上 CoreTelephony.framework
3、解決bitcode編譯不過問題

另外,微信支付demo中有用到libsqlite3.dylib和libz.dylib,但是在xcode 7.0中找不到了,參考stackoverflow上的方法新增,能正常編譯(因為之前找不到檔案標紅,我刪了後編譯不通過),見連結:http://stackoverflow.com/questions/30815806/swift-2-ios-9-libz-dylib-not-found
I had the same problem. I found some kind of way around.

Go to Build Phases >Link Binary with Librairies > + > Add other
Once in the file selection window do "CMD"+Shift+G (Go to folder) and type /usr/lib/
From /user/lib you can add : libz.dylib and more...
Compile and have fun

大概就是這樣啦,現在支付寶和微信支付在iOS 9.0下都能正常使用