JSONKIT中的isa廢棄相容

來源:互聯網
上載者:User

BUG描述:Direct access to objective-c's isa is deprecated in favor of object_setClass() and object_getClass()

處理方法:在target的Build Settings裡面,將Build ActiveArchitecture Only改成YES

處理結果:成功運行

其他方法:

1.更改代碼

將     array->isa      =_JKArrayClass;

替換為  object_setClass(array,_JKArrayClass);

將     dictionary->isa      =_JKDictionaryClass;

替換為  object_setClass(dictionary,_JKDictionaryClass);

2.網上其他描述

Xcode升級4.6引用靜態庫.a報錯 ld: file... not contain a(n) armv7s slice:xxx.afor architecture armv7s

由於iPhone 5的A6處理器採用新的Armv7s的架構,XCode4.6在建立Project的時預設使用了該架構,此時編譯含有第三方靜態庫時,會提示“ld: file … not containa(n) armv7s slice: xxx.a for architecture armv7s”錯誤。

所以,在第三方類庫未SDK來相容Armv7s架構更新前,我們可以採取下面的辦法解決問題:

方法一 .   升級涉及到的.a檔案相容Armv7s

方法二 .   在target的Build Settings裡面,將Build ActiveArchitecture Only改成YES

方法三 .   在XCode 4.5的BuildSetting中將Architectures的$(ARCHS_STANDARD_32_BIT)修改為armv7

所以如果是開源庫,直接把原始碼包含進項目最好,這樣就不會出現這樣的問題。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.