跟夥伴協同開發專案,使用git來做專案版本管理,時常會遇到CodeSign的問題,不過這問題還算小,只要在專案那兒作調整即可解決~而編譯時失敗會出現這條訊息:
CodeSign error: code signing is required for product type ‘Application’ in SDK ‘iOS 7.0’
我想關於Code Sign的疑惑可以一起瞭解一下~
為什麼需要CodeSign?
Code Signing最主要的意義就是,它能讓我們的App在設備上運行。不管是我們自己的設備,某方客戶的設備,或是在App store上購買的使用者。如果沒有Code Signing,我們只能在模擬器上,或者一台越獄過的機器上運行我們的應用程式。
為什麼要在實機上測試?
- 真正的設備通常會比模擬器慢很多
- 真正的設備的記憶體通常會比模擬器少很多
- 有些API只可在真正的設備上有效用
此外,可以瀏覽這一篇:ARM架構與i設備的關係,簡單來說,模擬器是x86架構,而實機是ARM架構,當然我們最後的成品是在使用者的iPhone或iPad上運行,所以無論如何還是要在實機上跑,以此測試使用者體驗吧~
拿有著其他工程師CodeSign的專案檔,在自己Xcode上編譯將會出現錯誤,原因是沒有在key chain上找到符合的目標。
此時可以在專案檔中的Build Setting中設定Code Signing為自己的目標。
參考:iOS Code Signing: Under The Hood、(譯)iOS Code Signing: 解惑。



Comments on: "[iOS] CodeSign的問題" (1)
[…] 原以為不會再犯遺漏增加框架這個錯誤,沒想到還是發生這個問題了!哈~原因是和夥伴協同開發,總是會修改到專案檔的CodeSign,時常你推我拉,就把原本加框架(framework)的設定給覆蓋掉,而且編譯錯誤訊息讓人摸不著頭緒~ […]
讚讚