JSONKIT中的isa廢棄兼容

JSONKIT中的isa廢棄兼容

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

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章