第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Xcode是否可以警告新的API調(diào)用?

Xcode是否可以警告新的API調(diào)用?

侃侃爾雅 2019-11-27 12:50:33
在不止一次的情況下,我已經(jīng)看到由于使用了4.x中引入的新調(diào)用而未進行適當檢查的情況下,iOS 3.x上出現(xiàn)了崩潰的錯誤。Xcode是否有辦法警告只能在比部署目標更高的版本上使用的類,方法和過程?這樣,我可以輕松列出所有代碼,并確保將其適當條件化。
查看完整描述

3 回答

?
GCT1015

TA貢獻1827條經(jīng)驗 獲得超4個贊

至少在OS X上,使用最新的clang / SDK,現(xiàn)在有一個-Wpartial-availability選項(例如在“其他警告選項”中添加),然后可以定義以下宏以封裝用于支持運行時測試的代碼(如果支持該方法)


#define START_IGNORE_PARTIAL _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wpartial-availability\"")

#define END_IGNORE_PARTIAL _Pragma("clang diagnostic pop")

我還沒有在iOS上進行測試。


查看完整回答
反對 回復 2019-11-27
?
汪汪一只貓

TA貢獻1898條經(jīng)驗 獲得超8個贊

深入研究之后AvailabilityInternal.h,我意識到部署目標上方的所有可用版本都被__AVAILABILITY_INTERNAL_WEAK_IMPORT宏標記。


因此,我可以通過重新定義該宏來生成警告:


#import <Availability.h>

#undef  __AVAILABILITY_INTERNAL_WEAK_IMPORT

#define __AVAILABILITY_INTERNAL_WEAK_IMPORT \

    __attribute__((weak_import,deprecated("API newer than Deployment Target.")))

通過將此代碼放置在項目的預編譯頭文件中,任何可能在受支持的最低iOS版本上導致崩潰的API用法現(xiàn)在都會產(chǎn)生警告。如果您正確地保護了呼叫,則可以專門針對該呼叫禁用警告(Apple SDK兼容性指南中的修改后的示例):


#pragma GCC diagnostic ignored "-Wdeprecated-declarations"

    if ([UIPrintInteractionController class]) {

        // Create an instance of the class and use it.

    }

#pragma GCC diagnostic warning "-Wdeprecated-declarations"

    else {

        // Alternate code path to follow when the

        // class is not available.

    }


查看完整回答
反對 回復 2019-11-27
  • 3 回答
  • 0 關注
  • 776 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號