構建新的項目時,在重新引入alipaySDK進行編譯之後出現了一個錯誤:找不到 #include<openssl/asn1.h> 這個文件 首先排除是SDK的問題以及代碼問題.在重新翻看了官方文檔以及網上的一些帖子之後大致推斷出問題出現的原因可能是由於文件路徑的變化導致了配置信息出現錯誤.所以我的解 ...
構建新的項目時,在重新引入alipaySDK進行編譯之後出現了一個錯誤:找不到 #include<openssl/asn1.h> 這個文件
首先排除是SDK的問題以及代碼問題.在重新翻看了官方文檔以及網上的一些帖子之後大致推斷出問題出現的原因可能是由於文件路徑的變化導致了配置信息出現錯誤.所以我的解決辦法是重新配置文件路徑.
1.打開項目,點擊Build Settings,選擇Header Search Paths.
2.在Header Search Paths對應的輸入框中添加ssl的路徑( $(PROJECT_DIR)/文件夾路徑名).
3.重新運行.
值得註意的是:在關於知道路徑的問題,網上一些方法是點擊openssl ----> show in Finder ----> command + i查看路徑,然後把得到路徑的工程名字以後的部分加在文件夾名這OK了.但是我並沒有操作出來,所以我的操作是這樣的,效仿Header Search Paths上方和下方的Framework Search Paths以及 Library Search Paths 的路徑,將統一的部分copy下來,然後再加上AlipaySDK.結果證明是有效的.
另外:添加路徑時要把項目名之前的所有都替換成$(PROJECT_DIR).假如之前是/Users/Sylar/Desktop/FarmersMarket/Alipay然後替換後就是$(PROJECT_DIR)/FarmersMarket/Alipay,這時候再Clean 一下.如果還是報錯,那就把$(PROJECT_DIR) 換成$(PROJECT_ROOT),再Clean一下運行.
歸根結底,在集成支付寶SDK如果出現問題的話,排查問題的基本邏輯順序大致是這樣的(轉):
1.查看第三方庫和系統庫是否添加完畢
2.-ObjC是否寫入
3.Header Search Paths路徑是否添加正確,或者少添加
4.以上未能解決就需要刪除原本的SDK,重新添加
5.第一次使用支付寶最好先寫一個示例demo,這樣好修改好替換
祝各位及時解決問題,早日成為技術大牛.多多答疑解惑,我們一同成長