cocos2dx項目接入支付寶SDK

一、在支付寶開放平臺下載支付寶SDK(https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.WWgVz8&treeId=54&articleId=104509&docType=1)

二,添加sdk文件到xcode

1,新建一個aliPaySDK文件夾,提取SDK包中以下文件到此文件夾裏,在xcode中添加此文件夾


2.在xcode中,點擊項目名,選擇"target"->"Link Binary With Libraries"添加依賴庫。

3.編譯項目,會出現以下問題:

  1)"Unknown type name ‘NSString‘ "或者"Unknown type name ‘NSData‘ "等不識別常見類的問題。

  這是因爲缺少Foundation類庫和UIKit類庫,支付寶Demo中之所以沒有出現此錯誤,是因爲在.pch文件中導入過這些類庫

  解決辦法:只需要在出現錯誤的文件中導入這些類庫即可

  2)‘openssl/asn1.h‘ file not found

  這是openssl文件夾頭文件鏈接問題,如果openssl文件夾隨意拉進項目中,即使添加頭文件鏈接,也可能解決不了此問題,

  這也是問什麼一開始就將所需要的文件放到一個新建文件夾中再添加到項目中的原因。

  解決辦法:Targets->Build Settings->Header Search Path中添加1中建立的aliPaySDK文件夾的路徑(拖拽此文件夾至輸入框即可)

  3)根據項目需求添加demo中ViewController中的代碼 編譯後可能會出下面錯誤:

  "_OBJC_CLASS_$_Product", referenced from: objc-class-ref in ViewController.o

  AlipaySDK的demo中將Product的定義寫在了ViewControler.h中所致

  解決辦法:新建Product類,將ViewController中的代碼拷貝過去即可。

4)

解決方法:這個問題有2種情況..
1.你沒有編譯到這個DataSigner.m源文件
Tagert--Build Phases -- Compile Sources 下添加對應的.m文件
比如上面的錯誤 就是需要加上 DataSigner.m源文件

2.如果確定已經添加上面這個文件的
很可能你是在混編文件(也就是.MM)裏調用的CreateRSADataSigner方法
解決辦法 就是DataSigner.m和DataVerifiler.m

把這兩個類改爲MM文件,C++和OC混編 

DataSigner.m和DataVerifiler.m改爲DataSigner.mm和DataVerifiler.mm文件之後,

通過Tagert--Build Phases -- Compile Sources--Add Other(兩文件)

然後必須clean,再重新運行


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章