簡體   English   中英

iOS 7:“ isa”已棄用

[英]iOS 7 : 'isa' is deprecated

當我在iOS7中運行我的應用程序時,我得到警告“不贊成使用'isa'”,我不知道如何解決此警告消息。 請對此有任何幫助。

array->isa      = _JKArrayClass;

包括<objc/runtime.h>

替換所有內容,例如array->isa = _JKArrayClass; object_setClass(array, _JKArrayClass)

class = array.isaclass = object_getClass(array)所有東西

我想我會為你們的Cocoapods用戶分享我的解決方案。 (如果您找到了更好的解決方案,請在評論中讓我知道)

我正在使用Cocoapods,因此,我不想修改要導入的庫的源代碼。問題是由於Cocoapods將“ isa的直接用法”值設置為“是(視為錯誤,處理)”引起的。 ”,從而導致所有自動構建失敗。

我通過將其添加到我的Podfile中來解決了這個問題:

post_install do |installer_representation|
    installer_representation.project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['CLANG_WARN_DIRECT_OBJC_ISA_USAGE'] = 'YES'
        end
    end
end

這樣,直接使用“ isa”將顯示為警告,但不會導致自動構建失敗。

但是在arm64 iOS設備構建(使用Xcode 5.1.0)中,奇怪的是CLANG_WARN_DIRECT_OBJC_ISA_USAGE ='YES'選項將無法正確應用(視為錯誤)。 如果需要構建(包括arm64),則只能使用CLANG_WARN_DIRECT_OBJC_ISA_USAGE ='NO'選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM