一,最常見的一個問題 openssl/asn1.h file not found
這是因為沒添加一個支付寶sdk的頭文件路徑。
解決方法:
1,將支付寶的所有sdk放到一個文件夾中,是finder中實際存在的文件夾,而不是在工程里建的那種floder,然后將此文件夾addFile到工程里,可以加到自己工程的第三方文件夾下
2,TARGETS-Build Settings-找到Header Search Path 添加
$(PROJECT_DIR)/工程文件夾名/第三方文件夾名/存放支付寶sdk的文件夾名
后面的路徑 就是支付寶sdk在finder中的實際存在的一條路徑
例如我的名稱叫PropertyStore我將支付寶sdk放到OSLibrary文件夾下的Alipay文件夾中(注意,每個文件夾都是finder中實際存在的)
目錄結果截圖:那么我這個在頭文件添加的就是 $(PROJECT_DIR)/PropertyStore/OSLibrary/Alipay 然后編輯,一般這個問題就都解決了,如果還是不行,仔細看看這個路徑是否正確。如下圖,每個層級的關系。如果跟我的層級不太相同 就按照你的層級關系 來給頭文件添加路徑
二,第二個問題可能是由於我當時剛接觸ios對這些都不懂導致,在此記錄,給新手參考借鑒。
當跳到支付頁面后取消支付或者支付成功后,不跳回到當前程序,這個問題跟URL types有關,當你的程序從應用內跳到應用外的一些網頁或者別的應用內的時候,想要再回到當前應用,ios系統是通過這個url types來找到你的當前應用的。也就是說 如果你不添加這個url types 那么你支付成功之后 頁面會一直停在支付寶頁面,所以這個url types是一定要添加的,一般就是你工程的名字 千萬別把支付寶demo中的那個名字寫上,如果你設備上裝了demo 並且你工程的urlt ypes就是跟支付寶demo一樣的 那么當你設備中有支付寶客戶端的時候,你在本程序去付款,支付頁面不會開啟,並且會報錯,說合作者id錯誤好像,有點記不清了。改了這個url types就ok了
截圖url types的位置 在TARGETS-Info下的URL Types
暫時想到這兩個問題,如果再想到別的再更新。
本來ios開發並不久,希望跟更多人的一起學習,一起探討。