記一筆在上傳ipa 失敗的經歷(二)

?? 5.刪掉以后,再編譯,我突然看到一個紅色的錯誤的感嘆號,你知道這個紅色的感嘆號是多么的可愛么,就像在垂死的邊緣的一個救命稻草.我打開一看,我激動的都快哭了,提示 Undefined symbols for architecture arm64 ?一大堆,clang:error :linker command failed with exit code .

? ? ?我終于找到害我的罪魁禍首,但是不心情也是很忐忑,因為提示的這個文件是我接手之前的一個靜態編譯庫,只有.a文件的接口. ?立馬一封郵件到日本: "調查發現XX文件不支持arm64位,我需要時間,請等待."


?? 6.開始解決這個問題

? ? ? 首先靜態庫,不支持,也無法改變,直接刪掉,在其他代碼中刪除調用的地方,先編譯通過再說.

? ??? 時間過去了半個小時.還好這個庫,用到的地方不多,之前代碼中有進行替換,這里就不說了.

?? 7.編譯通過,發現界面的顏色都變了,怎么回事,白色變成綠色,其他顏色全成黑色了,我菜鳥啊,不懂,我猜測是不是我改錯了,然后把代碼又折騰一遍,發現沒動這塊啊,顏色這和我改的地方沒關系啊,我特么的瘋了.時間又過去了半個小時.不管了,我先嘗試上傳到appstore 試試,發現現在不提ERROR ITMS-90086: ?Missing 64-bit support.Beginning on February 1 錯誤了,成功上傳.那么接下來就是顏色的問題了.

???? 8.我沉默了,靜靜的坐著,嘴里默念顏色怎么回事,我突然意識到是顏色出問題了,那就是加載顏色的代碼出問題了,我特么的看其他代碼干什么,(主要是對自己不自信,以為自己改出問題了.)調出顏色改變的代碼 這個時候10分鐘又過去了. 看到這段代碼我猛然間腦海中閃過一個64位適配的問題,之前64位剛出來要是被的時候了解的.不要將指針類型pointer賦值給整型int (64-bit導致地址數據丟失).我的代碼是

??? const float *components = CGColorGetComponents(color.CGColor);

? ? 通過這兩項,我不是很懂,但我知道這里有貓膩,直接換成

??? const CGFloat *components = CGColorGetComponents(color.CGColor);


? ?9.默默的編譯,完成,顏色ok ,完美解決.最后的問題是大家猜我幾點下班?

? ? ? ? ? 參考: 64位 ?對應問題? http://www.codeceo.com/article/ios-64-bit.html

????????? http://www.open-open.com/lib/view/open1420697675843.html



最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容