Xcode 11 Beta 5

這一篇文章給大家介紹:Xcode 11 Beta 5齿风,雖然是beta版本榕吼,但是在不久的將來(lái)必將來(lái)臨继低,例如:SwiftUI + Combine

概述

Xcode 11包括用于iOS 13竹宋、macOS Catalina 10.15劳澄、watchOS 6tvOS 13sdkXcode 11支持iOS 8及以上版本蜈七、tvOS 9及以上版本秒拔、watchOS 2及以上版本的設(shè)備上調(diào)試。Xcode 11要求Mac運(yùn)行macOS Mojave 10.14.4或更高版本飒硅。這是版本要求

通用

新特性

注意:SwiftUI開(kāi)發(fā)工具只能在macOS Catalina 10.15 beta版上運(yùn)行溯警。

  • 現(xiàn)在,您可以獨(dú)立于系統(tǒng)外觀(guān)設(shè)置更改Xcode的外觀(guān)狡相。(41165587)

  • Xcode支持使用 xcodebuildxcrun altoolOrganizer window或命令行上傳應(yīng)用程序梯轻。Xcode不再包含Application Loader。(29008875)

  • 現(xiàn)在尽棕,當(dāng)啟動(dòng)嵌入在 Xcode 中的 Instruments喳挑、模擬器和其他開(kāi)發(fā)工具時(shí),macOS上的 LaunchServices會(huì)考慮所選擇的Xcode滔悉。例如伊诵,當(dāng)您在Finder中雙擊一個(gè)Instruments trace時(shí),將啟動(dòng)所選XcodeInstruments版本回官。從命令行中更改XcodeXcode -select一起使用的是哪個(gè)Xcode曹宴。(6757601)

  • 編輯器可以添加到任何窗口,而不需要助理編輯器歉提。編輯器是使用跳轉(zhuǎn)欄中的“Add Editor” 按鈕或File > New > Editor command添加的〉烟梗現(xiàn)在区转,每個(gè)編輯器都可以處于以下三種模式之一:“Editor Only”, “Editor and Assistant” 或 “Editor and Canvas”。后兩種模式在可用時(shí)自動(dòng)顯示相關(guān)內(nèi)容版扩。當(dāng)使用多個(gè)編輯器時(shí)废离,View > Editor > Focus command可用于臨時(shí)展開(kāi)活動(dòng)編輯器,以填充整個(gè)窗口礁芦,隱藏其他編輯器蜻韭。對(duì)于源代碼控制支持,工具欄中的Code Review按鈕將替換Comparison Editor柿扣。“Show Authors”命令現(xiàn)在可以從Source Editor的編輯器菜單中獲得肖方。SCM日志現(xiàn)在位于檢查器區(qū)域。(43806898)

已知問(wèn)題

  • Xcode 11不支持在Mac Catalyst應(yīng)用程序中使用SwiftUI未状。

已解決的問(wèn)題

  • 所需的軟件包安裝程序不再不必要地出現(xiàn)在macOS 10.15上俯画。(51080815)

  • Foundation繼承 Combine framework 現(xiàn)在可以了!可以使用以下FoundationGrand Central DispatchCombine進(jìn)行集成:keyvalueobserver娩践、NotificationCenter活翩、RunLoop烹骨、OperationQueue翻伺、TimerURLSession沮焕、DispatchQueue吨岭、JSONEncoderJSONDecoder峦树、PropertyListEncoder辣辫、PropertyListDecoder和@Published屬性包裝器。(51241500)

  • 當(dāng)使用帶有暗黑系統(tǒng)外觀(guān)的淺色主題時(shí)魁巩,問(wèn)題文本不再是淺色的急灭。(48230278)

Apple Clang Compiler

新特性

  • Clang 現(xiàn)在提供了一種機(jī)制來(lái)控制退出時(shí)析構(gòu)函數(shù)注冊(cè)。您可以使用 -fno-c++-static-destructors 標(biāo)志全局禁用這些函數(shù)谷遂,或者應(yīng)用屬性[[clang::no_destroy]] 來(lái)禁用特定變量的析構(gòu)函數(shù)葬馋。還添加了屬性[[clang:::always_destroy]],以便在使用 -fno-c++-static-destructors時(shí)啟用特定變量的析構(gòu)函數(shù)肾扰。(21734598)

  • 作為擴(kuò)展畴嘶,所有語(yǔ)言模式現(xiàn)在都支持具有固定底層類(lèi)型的c++ 11枚舉。(43831380)

  • 當(dāng)使用在活躍 Standard version 中被棄用的標(biāo)準(zhǔn)庫(kù)設(shè)施時(shí)集晚,將發(fā)出棄用警告窗悯。(46881474)

  • 堆棧檢查在所有平臺(tái)上都是默認(rèn)打開(kāi)的,以防止內(nèi)存損壞偷拔。(25859140)

  • 默認(rèn)情況下蒋院,機(jī)器碼outliner-Oz 下是打開(kāi)的亏钩。它通過(guò)跨函數(shù)標(biāo)識(shí)相同的代碼序列來(lái)減小代碼大小。這些序列被封裝在一個(gè)編譯器生成(“outlined”)的函數(shù)中悦污。每個(gè)原始代碼序列都替換為對(duì)所述函數(shù)的調(diào)用赘方。(46385499)

  • 為了提高性能和安全性贩绕,靜態(tài)鏈接器(ld)現(xiàn)在將標(biāo)記為常量的全局變量移動(dòng)到一個(gè)新的段中:__DATA_CONST。這些全局變量可能由編譯器生成的指針組成,動(dòng)態(tài)鏈接器(dynamic linker, dyld)需要在加載期間修復(fù)這些指針褥琐,但是其他方面是常量,比如vtables和顯式聲明的常量指針嫡秕。一旦dyld完成加載映像丸凭,它就會(huì)使__DATA_CONST只讀。這種更改不會(huì)影響行為良好的代碼茵瀑,但是可能會(huì)破壞依賴(lài)于未定義行為的代碼间驮,比如使用類(lèi)型雙關(guān)來(lái)編寫(xiě)聲明為const`的指針。(50898833)

static int value1 = 0;                  // Stored in __DATA
static int value2 = 0;                  // Stored in __DATA
const int * const valuePtr = &value1;   // Stored in __DATA_CONST

// ERROR: Attempting to store a value to a constant pointer
(int *)valuePtr = &value2;
  • Clang 現(xiàn)在支持用于 iOS 13马昨、macOS 10.15竞帽、watchOS 6tvOS 13c++ 17 <filesystem>庫(kù)。(50988273)

已知問(wèn)題

  • 當(dāng)使用手動(dòng)保留釋放時(shí)鸿捧,可能不會(huì)捕捉到以下方法或它們傳遞調(diào)用的任何函數(shù)或方法拋出的異常: release屹篓、autorelease、retain匙奴、alloc或allocWithZone堆巧。(50253394)

已解決的問(wèn)題

  • 當(dāng) Xcodeif (@available(…)) 鏈接到運(yùn)行在 iOS 13、macOS 10.15泼菌、watchOS 6或tvOS 13 上的應(yīng)用程序或框架中時(shí)谍肤,if (@available(…)) 檢查可以正常工作。(51109405)

  • 刪除 <experimental/optional><experimental/ variable > 標(biāo)頭哗伯。使用c++ 17 中的 < optional >和< variant > 來(lái)替代荒揣。(50175894)
    解決了優(yōu)化器循環(huán)不變代碼運(yùn)動(dòng)傳遞中的長(zhǎng)編譯時(shí)問(wèn)題。(39648918)

Asset Catalog

新特性

  • 現(xiàn)在可以使用菜單或鍵盤(pán)快捷鍵剪切焊刹、復(fù)制系任、粘貼和復(fù)制資產(chǎn)。(27107912)

已知問(wèn)題

  • Localized assets 中的本地化資產(chǎn)與用戶(hù)首選的語(yǔ)言和地區(qū)不匹配伴澄。(49565973)

已解決的問(wèn)題

  • 如果您按下 Command-U 或在 navigator區(qū)域中選擇一個(gè) Localized assets赋除,Xcode將不再崩潰非凌。(52211868)

  • 修正了在使用 Interface Builder 的圖像檢查器時(shí)举农,如果資產(chǎn)目錄包含一個(gè)符號(hào)和位圖圖像資產(chǎn),并且它們具有相同的名稱(chēng)敞嗡,則可能發(fā)生崩潰的問(wèn)題颁糟。(51279661)

  • 添加到資產(chǎn)目錄的新用戶(hù)定義圖像將顯示在圖像視圖圖像組合框中(51090225,51120715)

  • 修正了導(dǎo)致 Mac CatalystNSDataAsset 在運(yùn)行時(shí)返回nil的問(wèn)題航背。(50022757)

  • 解決了一個(gè)問(wèn)題,當(dāng)一個(gè)資產(chǎn)具有為iPadMac Catalyst指定的變量時(shí)棱貌,會(huì)導(dǎo)致 NSDataAsset 查找返回錯(cuò)誤的數(shù)據(jù)玖媚。(49990047,51278348,51288447)

Build System

新特性

  • 如果測(cè)試是使用測(cè)試計(jì)劃運(yùn)行的,現(xiàn)在可以使用測(cè)試計(jì)劃的代碼覆蓋率設(shè)置來(lái)配置哪些目標(biāo)應(yīng)該包括在代碼覆蓋率結(jié)果中婚脱。(50502861)

  • Xcode 默認(rèn)情況下使用響應(yīng)文件將輸入文件傳遞給Swift編譯器今魔。要關(guān)閉此行為,請(qǐng)將 USE_SWIFT_RESPONSE_FILE 設(shè)置為 NO障贸。

  • 您可以在目標(biāo)中使用無(wú)限數(shù)量的 Swift 文件错森。(35879960)

  • 運(yùn)行腳本階段和自定義構(gòu)建規(guī)則可以聲明和發(fā)出依賴(lài)項(xiàng)文件,使用一些編譯器和構(gòu)建工具使用的 makefile 樣式的 .d格式輸出篮洁。在確定是否應(yīng)該執(zhí)行規(guī)則或階段時(shí)涩维,構(gòu)建系統(tǒng)將檢查列出的文件,以了解后續(xù)構(gòu)建過(guò)程中的更改袁波。(49226986)

  • 項(xiàng)目現(xiàn)在可以使用定制的構(gòu)建規(guī)則來(lái)處理頭文件(APPLY_RULES_IN_COPY_HEADERS)瓦阐。(48185100)

  • 自定義構(gòu)建規(guī)則現(xiàn)在可以指定在執(zhí)行期間使用的附加靜態(tài)輸入文件。使用SCRIPT_INPUT_FILE_# 環(huán)境變量為規(guī)則腳本提供這些已解析的輸入文件路徑篷牌。(49645853)

  • Xcode 從信息中刪除了一些條目睡蟋。如果條目不適合為其構(gòu)建的平臺(tái),則在構(gòu)建時(shí)使用產(chǎn)品的 plist 文件娃磺,這對(duì)于配置為為多個(gè)平臺(tái)構(gòu)建的目標(biāo)非常有用薄湿〗斜叮可以通過(guò)將構(gòu)建設(shè)置 DISABLE_INFOPLIST_PLATFORM_PROCESSING 設(shè)置為 YES來(lái)禁用此行為偷卧,在這種情況下,目標(biāo)必須承擔(dān)適當(dāng)管理這些條目的責(zé)任吆倦。(47797497)

  • 自定義構(gòu)建規(guī)則現(xiàn)在可以聲明它們應(yīng)該在每個(gè)體系結(jié)構(gòu)中運(yùn)行一次(默認(rèn)情況下)听诸,或者在所有體系結(jié)構(gòu)中只運(yùn)行一次。這對(duì)于與體系結(jié)構(gòu)無(wú)關(guān)的自定義規(guī)則非常有用蚕泽,例如晌梨,代碼生成工具生成的文件不會(huì)因體系結(jié)構(gòu)而異。(47716990)

  • XCFramework 允許將適用于多個(gè)平臺(tái)(包括iOS設(shè)備须妻、iOS模擬器和Mac Catalyst) 的二進(jìn)制框架或庫(kù)打包到一個(gè)可分發(fā)的. XCFramework包中仔蝌,開(kāi)發(fā)人員可以在自己的應(yīng)用程序中使用這個(gè)包』睦簦可以將.xcframework包添加到Xcode 目標(biāo)的鏈接庫(kù)階段敛惊,并且Xcode在構(gòu)建時(shí)使用所包含框架或庫(kù)的正確平臺(tái)版本。使用xcodebuild -create-xcframework命令行支持創(chuàng)建框架绰更。捆綁在XCFramework中的框架或庫(kù)應(yīng)該與發(fā)行版構(gòu)建設(shè)置設(shè)置為 YES 的構(gòu)建庫(kù)一起構(gòu)建瞧挤。(49948269)

已知問(wèn)題

  • 增量構(gòu)建可能無(wú)法對(duì)項(xiàng)目的非源相關(guān)更改(如資源文件修改)進(jìn)行正確的協(xié)同設(shè)計(jì)锡宋,這可能導(dǎo)致應(yīng)用程序無(wú)法啟動(dòng)。(41254808)
    解決方案 :在相同的目標(biāo)中更改源文件以觸發(fā) codesign 流程特恬,或者執(zhí)行一個(gè)干凈的構(gòu)建执俩。

  • 為Mac Catalyst更新iOS應(yīng)用程序可能會(huì)顯示新的錯(cuò)誤診斷,說(shuō)明Mac上沒(méi)有某些框架或功能癌刽。如果其中一個(gè)診斷顯示錯(cuò)誤役首,可以通過(guò)將VALIDATE_WORKSPACE構(gòu)建設(shè)置設(shè)置為NO來(lái)禁用它。(50607174)

  • 新的構(gòu)建系統(tǒng)不計(jì)算到用戶(hù)主目錄的構(gòu)建設(shè)置路徑中的前導(dǎo)波浪號(hào)(~)显拜。(41339901)
    解決方法:使用 $(HOME)代替宋税。

  • 如果目標(biāo)啟用 RUN_CLANG_STATIC_ANALYZER,那么單個(gè)文件處理命令(如Compile讼油、Preprocess杰赛、Show Assembly)將不能正確工作,因?yàn)樗鼈兩伸o態(tài)分析器輸出文件矮台,而不是適當(dāng)?shù)妮敵觥?43340227)
    解決方法:在目標(biāo)中禁用RUN_CLANG_STATIC_ANALYZER乏屯。

  • 如果應(yīng)用程序承載的測(cè)試目標(biāo)的構(gòu)建(其中定義了TEST_HOST)失敗,那么后續(xù)的構(gòu)建可能會(huì)在簽署應(yīng)用程序產(chǎn)品時(shí)失敗瘦赫,因?yàn)樵趹?yīng)用程序的初始簽名時(shí)辰晕,測(cè)試目標(biāo)是不完整的,并且是未簽名的确虱。(43402096)
    解決方法 :執(zhí)行一個(gè)干凈的構(gòu)建含友。或者校辩,從app target的產(chǎn)品中手動(dòng)刪除未簽名的測(cè)試包并重新構(gòu)建窘问。

  • 覆蓋iOS架構(gòu)和有效架構(gòu)構(gòu)建設(shè)置的目標(biāo)可能需要?jiǎng)h除或限制覆蓋,以便正確地為Mac Catalyst構(gòu)建宜咒。(51074742)

  • 當(dāng)在macOS 10.15上使用Xcode時(shí)惠赫,一些文件——特別是.xib文件和storyboard文件——可能會(huì)被復(fù)制而不是編譯,從而導(dǎo)致不正確的構(gòu)建產(chǎn)品故黑。(49351105)
    解決方法:在正在復(fù)制的文件的文件檢查器中儿咱,將類(lèi)型彈出框從默認(rèn)值切換到<some type>,然后返回默認(rèn)值场晶。這將重置項(xiàng)目文件中的文件類(lèi)型為正確的類(lèi)型混埠,并使構(gòu)建系統(tǒng)能夠?qū)⑵淦ヅ涞秸_的工具來(lái)處理它。

  • 當(dāng)用戶(hù)第一次構(gòu)建時(shí)诗轻,可能會(huì)出現(xiàn)一個(gè)彈出窗口钳宪,說(shuō)明SimulatorTrampoline希望訪(fǎng)問(wèn)桌面文件,因?yàn)檫\(yùn)行在simulator中的ibtool需要訪(fǎng)問(wèn)這些文件來(lái)編譯故事板。(51114450)
    解決方案:允許在提示符中訪(fǎng)問(wèn)文件使套。

已解決的問(wèn)題

  • 當(dāng)使用 Xcode Server 中的測(cè)試計(jì)劃在多個(gè)配置下運(yùn)行測(cè)試時(shí)罐呼,集成報(bào)告現(xiàn)在可以正確地顯示測(cè)試所運(yùn)行的每個(gè)配置的名稱(chēng)。(53402104)

  • 如果更改活動(dòng)測(cè)試計(jì)劃文檔在test navigator是可見(jiàn)的,如添加或刪除一個(gè)測(cè)試目標(biāo),或啟用或禁用一個(gè)單獨(dú)的測(cè)試或測(cè)試類(lèi)——navigator現(xiàn)在更新立即響應(yīng)的變化而變得不同步測(cè)試計(jì)劃侦高。(52065983)

  • 如果修改了活動(dòng)測(cè)試計(jì)劃文檔中的設(shè)置嫉柴,并且隨后調(diào)用test Again操作來(lái)重新運(yùn)行上次運(yùn)行的測(cè)試,那么修改后的設(shè)置現(xiàn)在將生效奉呛,而不是使用先前的設(shè)置计螺。(51145300)

  • macOS現(xiàn)在支持按需資源(ODR)。(50358184)

  • 使用遺留的構(gòu)建系統(tǒng)特性瞧壮,如構(gòu)建規(guī)則或腳本階段發(fā)現(xiàn)的依賴(lài)文件登馒、定制構(gòu)建規(guī)則的輸入聲明,或APPLY_RULES_IN_COPY_HEADERS構(gòu)建設(shè)置咆槽,將生成一個(gè)錯(cuò)誤陈轿,而不是無(wú)聲地被忽略。(51318274)

  • Watch目標(biāo)中秦忿,將架構(gòu)構(gòu)建設(shè)置覆蓋為僅僅armv7k并不會(huì)阻止部署到TestFlightXcode的企業(yè)分發(fā)工作流麦射。(51104990)

  • 索引器不會(huì)在索引Swift響應(yīng)文件之前等待執(zhí)行構(gòu)建。(52110336)

  • 在關(guān)閉和重新打開(kāi)一個(gè)項(xiàng)目之后灯谣,或者在使用xcodebuild執(zhí)行增量構(gòu)建時(shí)潜秋,來(lái)自先前構(gòu)建的關(guān)于不兼容框架、應(yīng)用程序擴(kuò)展和代碼簽名設(shè)置的診斷信息現(xiàn)在會(huì)在問(wèn)題導(dǎo)航器和構(gòu)建日志中顯示胎许。(51131884)

  • 默認(rèn)情況下峻呛,Xcode的新構(gòu)建系統(tǒng)不會(huì)檢測(cè)作為shell腳本構(gòu)建階段輸入聲明的目錄中的更改。啟用構(gòu)建設(shè)置allow_recursive_script_input會(huì)導(dǎo)致它這樣做辜窑。但是钩述,如果目錄中的任何文件是由依賴(lài)于腳本階段輸出的任務(wù)生成的,則會(huì)發(fā)出

  • 依賴(lài)循環(huán)錯(cuò)誤谬擦,必須通過(guò)重組目標(biāo)來(lái)解決切距。(41126633)

  • 當(dāng)構(gòu)建一些使用隨需應(yīng)變資源的目標(biāo)時(shí)朽缎,構(gòu)建系統(tǒng)不再崩潰惨远。(49072702)

Command Line Tools

已解決的問(wèn)題

  • python3pip3命令不再錯(cuò)誤地失敗,不再出現(xiàn)聲稱(chēng)只安裝命令行工具時(shí)需要Xcode的錯(cuò)誤话肖。(53284703)

  • 當(dāng)使用macOS Catalina 10.15 beta 4時(shí)北秽,可以使用默認(rèn)的shell路徑使用pip3。(50877974)

  • Python 3在命令行工具包中可用最筒。(51727440)

  • Xcode的內(nèi)置usdz_converter工具已被棄用贺氓,將被刪除。使用增強(qiáng)現(xiàn)實(shí)資源下的更新工具套件Augmented Reality床蜘。(52922369)

Core Data

新特性

  • 現(xiàn)在有一個(gè)復(fù)選框辙培,使您能夠區(qū)分string屬性的默認(rèn)值是nil還是空字符串蔑水。設(shè)置時(shí),如果沒(méi)有指定其他默認(rèn)值扬蕊,則默認(rèn)值為空字符串搀别。(26534406)

  • Xcode 11數(shù)據(jù)模型文件格式不再為實(shí)體或?qū)傩詫?xiě)出或保存已廢棄的同步服務(wù)信息。(32524648)

  • Core Data數(shù)據(jù)模型編輯器在使用Xcode 11數(shù)據(jù)模型文件格式和適當(dāng)?shù)牟渴鹉繕?biāo)時(shí)尾抑,添加了對(duì)派生屬性的支持歇父。(45567066)

  • 當(dāng)使用Core Data創(chuàng)建應(yīng)用程序時(shí),會(huì)出現(xiàn)一個(gè)新的復(fù)選框來(lái)啟用CloudKit對(duì)數(shù)據(jù)模型默認(rèn)配置的支持再愈。對(duì)于使用新的配置檢查器的現(xiàn)有數(shù)據(jù)模型榜苫,也可以啟用此功能。當(dāng)數(shù)據(jù)模型配置支持CloudKit時(shí)翎冲,數(shù)據(jù)模型編輯器執(zhí)行額外的驗(yàn)證垂睬,以確保模型符合Core data CloudKit支持的需求。(51126024)

已解決的問(wèn)題

  • CloudKit一起使用時(shí)抗悍,Core Data模型中的屬性必須是可選的羔飞,或者具有默認(rèn)值。Xcode 11 beta 3和更早版本錯(cuò)誤地要求這樣的屬性是可選的檐春,并且具有默認(rèn)值逻淌。(51593507)

  • 如果使用UUID屬性類(lèi)型、URI屬性類(lèi)型或持久性歷史記錄特性疟暖,在使用Xcode 9中使用的格式之前的數(shù)據(jù)模型文件格式時(shí)卡儒,將正確地生成錯(cuò)誤。(50188371)

Create ML

新特性

  • Create ML中提供了活動(dòng)分類(lèi)俐巴、表格分類(lèi)和單詞標(biāo)記模板骨望。

  • Create ML中提供了對(duì)象檢測(cè)和文本分類(lèi)模板,加入了圖像分類(lèi)和聲音分類(lèi)模板欣舵。從macOS 10.15 beta 3開(kāi)始使用這些模板擎鸠。(52009035)

  • 您現(xiàn)在可以使用聲音分類(lèi)預(yù)覽直接從麥克風(fēng)對(duì)聲音進(jìn)行分類(lèi)。(52131594)

已知問(wèn)題

  • Live listen在沒(méi)有麥克風(fēng)的設(shè)備上崩潰缘圈。(53405469)
  • 聲音分類(lèi)器中的進(jìn)度圖可能無(wú)法正確更新劣光。(52911042)

Debugging

新特性

  • 視圖調(diào)試器現(xiàn)在在檢查器中顯示NSImage
    實(shí)例的名稱(chēng)。(35516797)

  • 用于調(diào)試視圖層次結(jié)構(gòu)的Size檢查器中的圖形篩選器標(biāo)識(shí)所選視圖上的哪些屬性受到約束糟把。在篩選器中選擇屬性將顯示的約束縮小到與該屬性匹配的約束绢涡。標(biāo)準(zhǔn)修飾符鍵(如Shift和Command)可用于展開(kāi)顯示匹配這些屬性的約束的組合的選擇。(44864394)

  • 現(xiàn)在可以調(diào)試watchOS應(yīng)用程序的視圖層次結(jié)構(gòu)遣疯。(45173634)

  • 現(xiàn)在雄可,您可以從設(shè)備和模擬器窗口模擬連接設(shè)備的網(wǎng)絡(luò)條件和熱狀態(tài)。(44608479)

  • 視圖調(diào)試器在調(diào)試導(dǎo)航器和畫(huà)布中顯示UIWindowScene
    實(shí)例。(45378799)
    可以在scheme選項(xiàng)中禁用視圖調(diào)試数苫。(45928299)

  • 用于調(diào)試視圖層次結(jié)構(gòu)的大小檢查器有關(guān)于約束的更多細(xì)節(jié)聪舒,包括過(guò)濾器、編輯器中的懸停高亮顯示和更好的描述虐急。(16153188)

  • 視圖調(diào)試器支持調(diào)試Mac Catalyst應(yīng)用程序过椎。(37507479)

  • 視圖調(diào)試器檢查器顯示 NSImageViewNSButtoncontentTintColor 。(49506123)
    for

  • 視圖調(diào)試器現(xiàn)在顯示iOS命名的名稱(chēng)和系統(tǒng)顏色戏仓。(45162028)

  • 視圖調(diào)試器顯示特征集合信息疚宇。(45161975)

  • 視圖調(diào)試器顯示UIImage
    實(shí)例的名稱(chēng)。(45327089)

  • 視圖調(diào)試器現(xiàn)在顯示符號(hào)信息赏殃,如基線(xiàn)和中線(xiàn)敷待。(49508874)

  • 調(diào)試欄外觀(guān)切換器支持在iOS上在暗模式和亮模式之間切換。(45161907)

  • Scheme編輯器的Diagnostics選項(xiàng)卡中的“暫停問(wèn)題”復(fù)選框被常規(guī)斷點(diǎn)替換仁热“褚荆可以使用斷點(diǎn)導(dǎo)航器創(chuàng)建運(yùn)行時(shí)問(wèn)題斷點(diǎn)。(31409112)

  • 使用環(huán)境覆蓋(可從調(diào)試欄訪(fǎng)問(wèn))覆蓋已調(diào)試流程的外觀(guān)抗蠢、動(dòng)態(tài)類(lèi)型和可訪(fǎng)問(wèn)性選項(xiàng)等系統(tǒng)設(shè)置举哟。(45848655)

  • 調(diào)試器支持使用崩潰日志(。崩潰文件)迅矛。(48408310)

  • 調(diào)試器可以調(diào)試tvOS的頂層擴(kuò)展妨猩。(48869701)

  • 在安裝或調(diào)試應(yīng)用程序時(shí),Xcode更喜歡使用Wi-Fi連接手表秽褒。
    斷點(diǎn)的VoiceOver操作菜單包含一個(gè)跳轉(zhuǎn)到相應(yīng)代碼行的操作壶硅。(44941178)

  • 在調(diào)試帶有約束的視圖時(shí),雙擊size檢查器中的約束將在編輯器中選擇該約束销斟,并在檢查器中顯示約束的信息庐椒。(18842905)

已知問(wèn)題

  • watchOS 6中,APNs請(qǐng)求頭中需要一個(gè)APNs -push-type鍵蚂踊。為正在發(fā)送的通知類(lèi)型指定警告或背景乏梁。Xcode中的模板APNs文件默認(rèn)情況下不包含這個(gè)頭文件碘菜。(50709418)

  • 調(diào)試符號(hào)可能無(wú)法用于Apple Watch火鼻。(26995636)
    解決方案:驗(yàn)證您有一個(gè)工作的互聯(lián)網(wǎng)連接稚字,并在首選項(xiàng)>帳戶(hù)中登錄到您的蘋(píng)果ID。

  • watchOS模擬器中調(diào)試手表應(yīng)用程序可能會(huì)在模擬器首次啟動(dòng)時(shí)失敗特纤。(50263836)
    解決方法:等待手表模擬器完成引導(dǎo)军俊,然后再次開(kāi)始調(diào)試。

  • App和熱狀態(tài)跟蹤的能量沖擊儀可能會(huì)停止更新捧存。(50968828)
    解決方法:停止并重新運(yùn)行應(yīng)用程序。

已解決的問(wèn)題

  • 修正了當(dāng)在調(diào)試導(dǎo)航器中拖動(dòng)進(jìn)程項(xiàng)時(shí),macOS 10.15上的Xcode崩潰昔穴。(48453949)

  • 您可以調(diào)試設(shè)備上的交互式預(yù)覽镰官。(51183159)

  • 當(dāng)使用運(yùn)行當(dāng)前beta操作系統(tǒng)發(fā)行版的設(shè)備時(shí),能量報(bào)告顯示設(shè)備的熱狀態(tài)吗货。(52349364)

  • 調(diào)試可用于設(shè)備上的預(yù)覽泳唠。(47668840,51139546)

  • Environment override按鈕出現(xiàn)在調(diào)試欄中,用于watchOSiOS應(yīng)用程序擴(kuò)展目標(biāo)宙搬,而不需要先暫停進(jìn)程笨腥。(51203640)

  • 預(yù)覽調(diào)試會(huì)話(huà)不再在預(yù)覽不可見(jiàn)時(shí)結(jié)束。(50593619)

  • 添加到正在運(yùn)行的進(jìn)程中的運(yùn)行時(shí)問(wèn)題斷點(diǎn)行為正確勇垛。(49433870)

  • 視圖調(diào)試器中的項(xiàng)可以在上下文菜單的Debug導(dǎo)航器中顯示脖母。(18598643)

  • 在調(diào)試視圖層次結(jié)構(gòu)時(shí)改進(jìn)了Swift類(lèi)名的格式。(39679411)

  • 修正了調(diào)試控制臺(tái)將顯示頁(yè)面列指南的問(wèn)題闲孤。(49693398)

  • 斷點(diǎn)支持VoiceOver命令來(lái)打開(kāi)快捷菜單谆级。(44940944)

  • WatchKit 框架不再包含在 iOS SDK中。如果您正在使用來(lái)自iOSWatchKit api讼积,則需要?jiǎng)h除此使用肥照。WatchKit框架仍然可以在watchOS上使用。如果您正在使用來(lái)自iOS的WatchKit api來(lái)推斷配對(duì)的Apple Watch的功能可用性勤众,那么在向Feedback Assistant.
    提交反饋時(shí)舆绎,請(qǐng)包含關(guān)于您的用例的信息。(49707950)

  • 為了與遺留軟件兼容们颜,macOS中包含了Python亿蒸、Ruby和Perl等腳本語(yǔ)言運(yùn)行時(shí)。在macOS的未來(lái)版本中掌桩,腳本語(yǔ)言運(yùn)行時(shí)在默認(rèn)情況下不可用边锁,可能需要安裝一個(gè)附加包。如果您的軟件依賴(lài)于腳本語(yǔ)言波岛,建議您將運(yùn)行時(shí)捆綁在應(yīng)用程序中茅坛。

  • 不推薦使用Python 2.7。這個(gè)版本包含在macOS中则拷,以便與遺留軟件兼容贡蓖。macOS 的未來(lái)版本將不包括Python 2.7。相反煌茬,建議您在終端中運(yùn)行python3斥铺。(51097165)

  • Quartz Composer框架不受歡迎。從macOS 10.15開(kāi)始坛善,Quartz Composer框架將被標(biāo)記為不贊成使用晾蜘,并且為了兼容性的目的仍然保留邻眷。如果您的應(yīng)用程序使用的是Quartz Composer,那么可以過(guò)渡到Core Image剔交、SceneKit或Metal等框架肆饶。(50911608)

  • 命令行工具對(duì)Subversion的支持——包括svn、git-svn和相關(guān)命令——不再由Xcode提供岖常。如果需要Subversion或相關(guān)的命令行工具驯镊,可以通過(guò)運(yùn)行xcode-select——install來(lái)安裝命令行工具包。(50266910)

Devices

已知問(wèn)題

  • 當(dāng)同時(shí)運(yùn)行到多個(gè)目的地時(shí)竭鞍,使用xcodebuild進(jìn)行測(cè)試可能會(huì)導(dǎo)致崩潰板惑。(52962341)
    解決方案:通過(guò)將 - Disable -concurrent-destination-test 標(biāo)志傳遞給xcodebuild來(lái)禁用并發(fā)目標(biāo)測(cè)試。

  • 使用xcodebuild中的設(shè)備或模擬器名稱(chēng)指定運(yùn)行目的地不能正確解析偎快。(52081230)
    解決方案:根據(jù)平臺(tái)和 ID 而不是名稱(chēng)指定目的地冯乘。

  • 在設(shè)備上構(gòu)建并運(yùn)行 watchOS應(yīng)用程序 可能會(huì)無(wú)限期地顯示系統(tǒng)轉(zhuǎn)輪。(51726238)
    解決方法:重新啟動(dòng)設(shè)備滨砍。

已解決的問(wèn)題

  • 解決了一個(gè)問(wèn)題往湿,阻止運(yùn)行一個(gè)手表應(yīng)用程序與線(xiàn)程殺菌劑建立啟用在舊版本的watchOS。(49288795)

  • 解決了在視網(wǎng)膜和非視網(wǎng)膜顯示器之間切換導(dǎo)致的半點(diǎn)幀差異問(wèn)題惋戏。(20175879)

DriverKit

已解決的問(wèn)題

  • DriverKit 驅(qū)動(dòng)程序構(gòu)建正確领追。(52858797)

Instruments

新特性

  • 儀器中的軌跡現(xiàn)在可以在層次結(jié)構(gòu)中形成。它們現(xiàn)在可以表示任何工程類(lèi)型响逢,并使用定制的工具創(chuàng)建绒窑。(28615789)

  • 現(xiàn)在,Instruments允許一次從表中復(fù)制多行舔亭。(39326522)

  • 工具允許創(chuàng)建范圍些膨,以便在跟蹤文檔中更容易地導(dǎo)航。(49022012)

  • <os-signpost-point-schema>在定制工具中可用來(lái)匹配來(lái)自os_signpost(_:dso:log:name:signpostID:)的點(diǎn)事件钦铺。(50586708)

已知問(wèn)題

  • 當(dāng)分析一個(gè)獨(dú)立的 watchOS應(yīng)用程序 時(shí)订雾,會(huì)啟動(dòng)一個(gè) iOS模擬器。(49788679)

已解決的問(wèn)題

  • 所選軌跡在儀器的觸摸欄區(qū)域中呈現(xiàn)矛洞。(50186374)

  • 在運(yùn)行iOS洼哎、iPadOS、watchOS或tvOS的設(shè)備上進(jìn)行概要分析時(shí)沼本,Instruments對(duì)從其接收的os_log(:dso:log::_:)os_signpost(_:dso:log:name:signpostID:)消息使用正確的類(lèi)別噩峦。感興趣的點(diǎn)現(xiàn)在可以正確地接收事件,并且自定義工具類(lèi)別匹配的行為也正確抽兆。(52193505)

Interface Builder

新特性

  • 界面生成器支持ios13 UIVisualEffectView 模糊和動(dòng)態(tài)視覺(jué)效果识补。(48023286)

  • 界面生成器支持ios13 UIActivityIndicatorView樣式。(48573772)

  • iOS家庭顯示器的顏色現(xiàn)在適應(yīng)于淺色和深色畫(huà)布的外觀(guān)辫红。(48610782)

  • 接口生成器支持自定義 UIButton 符號(hào)配置凭涂。(51323174)

  • 界面生成器支持新的布局 TVCollectionViewFullScreenLayout 在蘋(píng)果電視上祝辣。(47598895)

  • UIViewController 實(shí)例現(xiàn)在默認(rèn)為自動(dòng)模式表示模式。模態(tài)表示segue可以覆蓋此設(shè)置导盅。(48129590)

  • 界面生成器支持iOS上的暗模式较幌。(45314199)

  • Interface Builder的設(shè)備欄可以讓你在iOS應(yīng)用程序的亮暗界面之間切換揍瑟。(45282451)

  • 您可以添加SwiftUI宿主控制器白翻,例如 UIHostingController,來(lái)將storyboard 控制器流連接到管理 SwiftUI 視圖層次結(jié)構(gòu)的宿主控制器绢片。您可以在Interface Builder中填充宿主控制器的內(nèi)容滤馍,方法是提供一個(gè)通過(guò)編程設(shè)置控制器的rootView的自定義子類(lèi)。(46039344)

  • 你也可以使用 Segue 動(dòng)作設(shè)置 UIHostingControllerNSHostingController 的根視圖底循。

  • 對(duì)象庫(kù)現(xiàn)在匹配所選的系統(tǒng)范圍外觀(guān)巢株。(50874168)

  • NSStackView 檢查器現(xiàn)在允許配置負(fù)間距。(49012055)

  • NSSwitchmacOS 10.15 上運(yùn)行時(shí)可用熙涤。(47566686)

  • UITableView 中的單元格現(xiàn)在可以通過(guò)畫(huà)布中的自動(dòng)布局約束視圖自調(diào)整大小阁苞。若要為現(xiàn)有表視圖選擇行為,請(qǐng)?jiān)诖笮z查器中為表視圖估計(jì)的項(xiàng)大小啟用“自動(dòng)”祠挫,并為單元格的高度啟用“自動(dòng)”那槽。(35735970)

  • NSViewUIView 在尺寸檢查器中有一個(gè)布局模式選項(xiàng),可以顯式地選擇“將自動(dòng)調(diào)整蒙版轉(zhuǎn)換為約束”等舔。默認(rèn)設(shè)置為 “Automatic” 骚灸,這是現(xiàn)有的行為』胖玻“自動(dòng)”意味著當(dāng)視圖受 storyboard或.xib 文件中的約束影響時(shí)甚牲,“將自動(dòng)調(diào)整蒙版轉(zhuǎn)換為約束”將關(guān)閉,如果不受約束則打開(kāi)蝶柿。(37352354)

  • 提高了“添加缺失約束”自動(dòng)布局約束生成的可靠性丈钙。(43694622)

  • UIScrollView 的內(nèi)容在畫(huà)布中是可滾動(dòng)的,一旦它的子視圖被自動(dòng)布局約束完全約束交汤。(44727961)

  • UICollectionView 中的單元格現(xiàn)在可以通過(guò)畫(huà)布中的自動(dòng)布局約束視圖自調(diào)整大小雏赦。若要為現(xiàn)有集合視圖選擇行為,請(qǐng)?jiān)诖笮z查器中為集合視圖的估計(jì)大小啟用“自動(dòng)”蜻展,并為單元格的大小啟用“自動(dòng)”. 如果部署在 iOS 13 之前,你可以激活自我分級(jí)集合視圖細(xì)胞通過(guò)調(diào)用 performBatchUpdates(_:completion:) viewDidLoad()喉誊。(45617083)

  • 在字體彈出窗口檢查器中,家庭彈出窗口現(xiàn)在呈現(xiàn)菜單項(xiàng)作為適用字體的預(yù)覽纵顾。(31484154)

  • 現(xiàn)在可以在文檔范圍內(nèi)對(duì)錯(cuò)位的幀執(zhí)行更新幀伍茄,而不需要選擇視圖。(22076710)

  • UIScrollView 支持內(nèi)容和框架布局指南施逾,可以在Size檢查器中啟用它們敷矫,以便對(duì)可滾動(dòng)內(nèi)容進(jìn)行更多控制例获。(29711618)

  • 界面建設(shè)者支持新的蘋(píng)果電視標(biāo)簽欄風(fēng)格。(47598643)

  • 新的 WKInterfaceTextField 接口元素可用于watchOS曹仗。(45754186)

  • canvas 支持為 Mac Catalyst 應(yīng)用程序定制界面榨汤。(37797710)

  • SF 符號(hào)在圖像檢查器屬性中可用。(47532055)

  • UIImageView 檢查器包括對(duì)配置符號(hào)的支持怎茫。(47797500)

  • 使用帶有新的 @IBSegueAction 屬性注解的視圖控制器方法供常,可以使用帶有任何所需值的自定義初始化器,在代碼中創(chuàng)建 segue 的目標(biāo)視圖控制器鄙陡。這使得在故事板中使用具有非可選初始化需求的視圖控制器成為可能。在源視圖控制器上創(chuàng)建從 segue到@IBSegueAction 方法的連接培漏。在支持 Segue 操作的新OS版本上溪厘,將調(diào)用該方法胡本,它返回的值將是傳遞給 prepare(for:sender:)Segue 對(duì)象的destinationViewController牌柄。可以在一個(gè)源視圖控制器上定義多個(gè) @IBSegueAction 方法侧甫,這可以減少在prepare(for:sender:)中檢查 segue 標(biāo)識(shí)符字符串的需要珊佣。(47091566)

  • IBSegueAction方法最多接受三個(gè)參數(shù):編碼器、發(fā)送器和segue的標(biāo)識(shí)符披粟。需要第一個(gè)參數(shù)咒锻,如果需要,可以從方法的簽名中省略其他參數(shù)守屉。必須將 NSCoder
    傳遞到目標(biāo)視圖控制器的初始化器惑艇,以確保它是用 storyboard 中配置的值定制的。該方法返回一個(gè)視圖控制器拇泛,該視圖控制器匹配故事板中定義的目標(biāo)控制器類(lèi)型滨巴,或nil,以使用標(biāo)準(zhǔn)init(coder:)方法初始化目標(biāo)控制器俺叭。如果您知道不需要返回nil恭取,則返回類(lèi)型可以是非可選的。

在Swift中熄守,添加@IBSegueAction屬性:

@IBSegueAction
func makeDogController(coder: NSCoder, sender: Any?, segueIdentifier: String?) -> ViewController? {
    PetController(
        coder: coder,
        petName:  self.selectedPetName, type: .dog
    )
}

在Objective-C中蜈垮,在返回類(lèi)型前添加IBSegueAction:

- (IBSegueAction ViewController *)makeDogController:(NSCoder *)coder
               sender:(id)sender
      segueIdentifier:(NSString *)segueIdentifier
{
   return [PetController initWithCoder:coder
                               petName:self.selectedPetName
                                  type:@"dog"];
}

已知問(wèn)題

  • 當(dāng)在設(shè)備欄中選擇 Mac設(shè)備 查看 iPad 故事板 時(shí),項(xiàng)目添加的自定義字體不會(huì)呈現(xiàn)裕照。(48528374)

  • 如果一個(gè)字形有光明模式和黑暗模式表示攒发,黑暗模式表示將不會(huì)出現(xiàn)在故事板中。(50354204)

  • Interface Builder 中配置的 UIKit菜單macOS上運(yùn)行時(shí)可用晋南,但在iOS上不可用惠猿。(51077651)

  • 蘋(píng)果電視故事板中的 ARView 對(duì)象會(huì)導(dǎo)致界面生成器渲染崩潰。(50971800)

  • iOS狀態(tài)欄 不會(huì)顯示在界面構(gòu)建器畫(huà)布中搬俊。(48639919)

  • 包含用 Xcode 11 創(chuàng)建的菜單命令的視圖控制器場(chǎng)景會(huì)導(dǎo)致應(yīng)用程序在iOS 12上運(yùn)行時(shí)崩潰紊扬。(50871098)

  • Interface Builder中蜒茄,將對(duì)齊設(shè)置為“center”或“right”的UILabel , UITextField , UITextView 實(shí)例在為macOS設(shè)計(jì)或運(yùn)行時(shí)對(duì)齊錯(cuò)誤。(50062524)
    解決方法:在 awakeFromNib() 中重新應(yīng)用所需的對(duì)齊餐屎。

  • Xcode 11 beta版 之前使用 Xcode版本 創(chuàng)建的項(xiàng)目在 Xcode 11 beta版 中打開(kāi)時(shí)保留默認(rèn)的自定義顏色檀葛。(50828300)

已解決的問(wèn)題

  • 使用 Xcode 11 創(chuàng)建的 iOS或tvOS模板 項(xiàng)目中的故事板和 .xib文件現(xiàn)在可以在以前的 Xcode版本 中打開(kāi)。(51230799)

  • 使用 Xcode 11 創(chuàng)建的包含第四系填充顏色腹缩、第二系填充顏色屿聋、第三系填充顏色或系統(tǒng)填充顏色的故事板和 .xib文件 可以在較舊的 Xcode版本 上打開(kāi),而不會(huì)導(dǎo)致崩潰藏鹊。(51233884,51236844)

  • 修正了集合視圖單元格自調(diào)整大小的布局問(wèn)題润讥,這些問(wèn)題來(lái)自于故事板和 .xib文件,當(dāng)編譯和部署到 iOS 12.4及以后版本時(shí)(49537998)

  • 解決了在查看 Mac Catalyst 應(yīng)用程序的 storyboard 時(shí)盘寡,阻止界面構(gòu)建器設(shè)備欄中的亮或暗界面樣式組生效的問(wèn)題楚殿。(50929581)

  • Xcode 在打開(kāi) .xib 文件或帶有自定義視圖的故事板文件時(shí)不會(huì)崩潰,如果該項(xiàng)目包含Swift包竿痰,該視圖被標(biāo)記為IBDesignable脆粥。(50551974)

  • 拖出一個(gè)新的 iOS 主菜單不再會(huì)導(dǎo)致崩潰,如果你在畫(huà)布上拖動(dòng)一個(gè)現(xiàn)有的菜單影涉。(51237295)

  • 解決了與打開(kāi)故事板和 .xib文件 相關(guān)的性能退化問(wèn)題变隔。(51282755)

  • UIDatePicker 的檢查器現(xiàn)在只顯示適用于所選模式的屬性。(26726319)

  • 用于添加 iOS設(shè)備 的預(yù)覽編輯器菜單現(xiàn)在與當(dāng)前畫(huà)布方向匹配蟹倾。(48818470)

  • 預(yù)覽編輯器項(xiàng)現(xiàn)在保存配置的區(qū)域設(shè)置或偽區(qū)域設(shè)置匣缘。(48303753)

  • 在接口生成器中配置為 Count Down的UIDatePicker對(duì)象現(xiàn)在在運(yùn)行時(shí)使用指定的持續(xù)時(shí)間。(23426425)

  • 在不使用自動(dòng)布局的文檔中也可以看到Embed In bar按鈕鲜棠。(46855203)

  • NSControl 的子類(lèi)現(xiàn)在在庫(kù)和文檔大綱中有唯一的圖標(biāo)肌厨。(24231920)

Library

已知問(wèn)題

  • 修正了從庫(kù)中拖動(dòng)子視圖控制器時(shí)背景顏色不正確的問(wèn)題。(50388578)

  • 庫(kù)中的所有 UI控件 都正確切換到暗模式岔留。(49830961)

Linking

已解決的問(wèn)題

  • 目標(biāo)包含 Swift 代碼夏哭,啟用位碼構(gòu)建設(shè)置設(shè)置為 Yes ,在使用存檔操作構(gòu)建時(shí)正確鏈接献联。(52804818)

LLDB

新特性

  • LLDBPython腳本 現(xiàn)在基于 Python 3竖配。如果您使用的 Python擴(kuò)展python3不兼容 ,它們就會(huì)崩潰里逆。為了幫助轉(zhuǎn)換进胯,您可以在 python2 模式下運(yùn)行,方法是設(shè)置一個(gè)默認(rèn)值:
defaults write com.apple.dt.lldb DefaultPythonVersion 2
  • Python 2支持將在未來(lái)被移除原押。(47806994)

  • Swift Decimal 值在 LLDB 中有一個(gè)數(shù)據(jù)格式化程序胁镐,使它們以可讀的方式顯示。(38983073)

  • LLDB 現(xiàn)在支持檢查通過(guò)支持庫(kù)演化而編譯的 Swift 類(lèi)型。(48018240)

已解決的問(wèn)題

  • 在Swift代碼中重新聲明 self 可以與 LLDB 正常工作盯漂。(39611934)

  • 當(dāng) PATH 中的 python二進(jìn)制 文件不是系統(tǒng)二進(jìn)制文件時(shí)颇玷,Swift REPL和LLDB

  • python 腳本可以正常工作。(40961425)

  • 解決了在調(diào)試 XCTest 測(cè)試時(shí)阻止 LLDB 訪(fǎng)問(wèn)變量的多個(gè)問(wèn)題就缆。(41471338)

Localization

新特性

  • 您現(xiàn)在可以在資產(chǎn)目錄中本地化資產(chǎn)帖渠。在屬性檢查器中啟用本地化。(12948139)

  • 設(shè)置包現(xiàn)在包含在 Xcode 本地化目錄中竭宰。(12495197)

  • genstring 的手冊(cè)頁(yè)提供了更詳細(xì)的行為文檔空郊。(19709369)

  • genstrings 工具得到了增強(qiáng),并與 extractLocStrings 工具合并切揭。以前的版本已被棄用狞甚,已重命名為 ogenstring ,現(xiàn)在必須使用 xcrun 調(diào)用廓旬。應(yīng)該將調(diào)用 xcrun extractlocstring 的任何腳本更改為使用 genstring哼审,但是目前提供了一個(gè)兼容符號(hào)鏈接來(lái)調(diào)用 genstring。(19709395)

  • genstrings工具現(xiàn)在接受一個(gè) -encoding 參數(shù)嗤谚,該參數(shù)允許指定輸入文件的文件編碼棺蛛。(48224455)

  • 更新版本的 genstring 改進(jìn)了錯(cuò)誤報(bào)告,并且可以在以前默認(rèn)接受的場(chǎng)景中報(bào)告錯(cuò)誤巩步。例如,如果 MyApp 目錄包含子目錄桦踊,genstrings MyApp/* 將失敗椅野,因?yàn)?genstrings 文件參數(shù)必須是源文件。(48304658)

  • genstrings工具現(xiàn)在可以使用任意數(shù)量的 -s 參數(shù)來(lái)指定與 NSLocalizedString 類(lèi)似的附加宏籍胯,或者用于提取字符串的函數(shù)竟闪。例如,genstrings -s MyErrorSring -s MyUIString myfile.swiftMyErrorStringMyUIString 都視為等同于NSLocalizedString杖狼。(48734596)

請(qǐng)注意: 使用-s參數(shù)并不會(huì)禁止對(duì) NSLocalizedStringCFCopyLocalizedString 的支持炼蛤。

  • 本地化命令和 genstrings工具的導(dǎo)出現(xiàn)在支持多行 SwiftObjective-C 字符串,并且在識(shí)別 NSLocalizedString 參數(shù)時(shí)放寬了空格要求蝶涩。(50516442)

  • 本地化命令的導(dǎo)出性能得到了很大的改進(jìn)理朋。(40548416)

已解決的問(wèn)題

  • 本地化命令和 genstrings 工具的導(dǎo)出不再在轉(zhuǎn)義的高 Unicode 代碼點(diǎn) (比如\U0001F603) 上崩潰癣丧。(18898240)

  • 導(dǎo)入包含內(nèi)嵌換行的本地化字符串現(xiàn)在會(huì)生成帶轉(zhuǎn)義 \n序列 的字符串文件驶乾。(44649979)

  • Xcode 本地化導(dǎo)出生成的 XLIFF文件 現(xiàn)在將 xml:space="preserve" 添加到 <trans-unit /> 元素中,以確保保留空白伊约。(44928807)

Mac Catalyst

已知問(wèn)題

  • Mac Catalystcolor asset 變量不會(huì)在運(yùn)行時(shí)傳遞熄攘。(51113192)

  • Mac CatalystNSDataAsset 變量在運(yùn)行時(shí)返回 nil兽愤。(50022757)

Organizer

新特性

  • 新的 Metrics organizer 顯示電池壽命和性能分析為您的應(yīng)用程序,以幫助您推動(dòng)優(yōu)化。
  • 當(dāng)您的應(yīng)用程序在app Store上發(fā)布時(shí)浅萧,以及在足夠的字段使用之后逐沙,將報(bào)告您的應(yīng)用程序的指標(biāo)。
  • 可用的指標(biāo)包括電池消耗洼畅、啟動(dòng)時(shí)間酱吝、掛起速率、內(nèi)存和磁盤(pán)寫(xiě)操作土思。
  • 您可以根據(jù)設(shè)備和使用特性篩選數(shù)據(jù)务热。(43028903)

Playgrounds

新特性

  • Xcode 11 beta 版中不支持 SwiftUI live 視圖和操場(chǎng)中的內(nèi)聯(lián)結(jié)果。(42226387)

  • 工作區(qū)中的操場(chǎng)不能從 Swift 包導(dǎo)入目標(biāo)己儒。(47668990)

  • UIKit 中視圖的快速查看和內(nèi)聯(lián)結(jié)果預(yù)覽可以顯示為空白矩形崎岂。(50787870)

已解決的問(wèn)題

  • 操場(chǎng)的前幾行不再被卡在窗戶(hù)下面。(47529397)

  • 修正了在 macOS 10.15 上運(yùn)行游樂(lè)場(chǎng)時(shí)闪湾,由于網(wǎng)速慢或不可靠而導(dǎo)致的延遲冲甘。(48995467)

  • 如果代碼引用主線(xiàn)程以外的視圖,游樂(lè)場(chǎng)將不再崩潰途样。(46579594)

Project Navigator

新特性

  • Xcode 可以使用 find 導(dǎo)航器在工作區(qū)或項(xiàng)目中找到資產(chǎn)江醇。資產(chǎn)目錄編輯器還支持查找和替換,您可以使用 replace 重命名資產(chǎn)何暇。(14279237)

Reality Composer

新特性

  • 增加了對(duì)AR場(chǎng)景中對(duì)象錨的支持陶夜。(48774003)

已知問(wèn)題

  • 由先前發(fā)布的 Reality ComposerXcode beta 版本創(chuàng)建的現(xiàn)實(shí)文件不再受支持。(53180175)
    解決方案:使用最新版本的 Reality ComposerXcode 重新導(dǎo)出現(xiàn)實(shí)文件裆站。

  • macOS 上的 Reality Composer 的內(nèi)容庫(kù)中添加的對(duì)象與 iOS和iPadOS 上的Reality Composerbuild 1A68 不兼容条辟。

  • 如果在接口生成器中沒(méi)有指定它的模塊,則在運(yùn)行時(shí)加載故事板時(shí)不會(huì)找到 RealityKit ARView 類(lèi)宏胯。在 Xcode 控制臺(tái)中顯示以下錯(cuò)誤消息:“Interface Builder文件中的未知類(lèi)ARView”羽嫡。”(50840767)
    解決方案:ARView是一個(gè)Swift視圖類(lèi)肩袍,需要在接口構(gòu)建器檢查器中指定它的類(lèi)名 (ARView) 和模塊 (RealityKit) 杭棵。

  • 如果在 Xcode 項(xiàng)目中沒(méi)有使用 RealityKit,則在運(yùn)行時(shí)加載 storyboard 時(shí)不會(huì)找到 RealityKitARView 類(lèi)氛赐。在Xcode控制臺(tái)顯示以下錯(cuò)誤消息:“ Interface Builder 文件中的未知類(lèi) _TtC10RealityKit6ARView魂爪。”(50900969)
    解決方案:如果導(dǎo)入 RealityKit 并使用 ARView類(lèi)型定義 @IBOutlet鹰祸,但在項(xiàng)目中不要使用 RealityKit 符號(hào)甫窟,則會(huì)出現(xiàn)此問(wèn)題。要確保 RealityKit 在運(yùn)行時(shí)使用此配置加載蛙婴,請(qǐng)手動(dòng)將 RealityKit 添加到目標(biāo)的 Link二進(jìn)制文件和庫(kù)構(gòu)建階段粗井。

已解決的問(wèn)題

  • 改進(jìn)了對(duì)導(dǎo)入的 USDZ 文件的支持。(49630946)

  • 改進(jìn)了對(duì)操作對(duì)象的支持。(50036512)

  • 來(lái)自其他場(chǎng)景的通知觸發(fā)器和通知操作將不再出現(xiàn)在沒(méi)有創(chuàng)建它們的場(chǎng)景中浇衬。(51008577)

  • Xcode 從一個(gè) Reality Composer 項(xiàng)目自動(dòng)生成的 . Reality 文件包含項(xiàng)目中的所有場(chǎng)景懒构。(51048599,51868814)

  • RealityKit 在iOS模擬器中可用。(48603396)

Server

已知問(wèn)題

  • 當(dāng)編輯使用SSH進(jìn)行身份驗(yàn)證的項(xiàng)目的bot時(shí)耘擂,Xcode Server可能會(huì)禁用一些特定于項(xiàng)目的設(shè)置胆剧。(51009722)
    解決方案:在編輯bot時(shí),要么替換 repository 選項(xiàng)卡中的 repository醉冤,要么使用基于 http 的身份驗(yàn)證和 Xcode 服務(wù)器集成秩霍。

  • 當(dāng)從任何集成的上下文菜單創(chuàng)建機(jī)器人時(shí),Xcode Server都可能導(dǎo)致崩潰蚁阳。(51082255)
    解決方法:從服務(wù)器的上下文菜單或 Xcode 中的產(chǎn)品菜單創(chuàng)建機(jī)器人铃绒。

  • 由多個(gè)目標(biāo)構(gòu)建的源文件中出現(xiàn)的構(gòu)建問(wèn)題可以在每次集成中標(biāo)記為已解決并重新引入。(46523551)

已解決的問(wèn)題

  • Xcode Server 現(xiàn)在支持Mac Catalyst應(yīng)用螺捐。(50602873)

  • Swift包始終出現(xiàn)在 Xcode Server bot 配置存儲(chǔ)庫(kù)窗格中颠悬。(50058808)

  • 解決了Xcode Server 無(wú)法自動(dòng)簽署使用iCloud、應(yīng)用程序組定血、Apple Pay或錢(qián)包功能的項(xiàng)目的問(wèn)題赔癌。(41008156,44704694)

Signing and Distribution

新特性

  • Xcode 11 beta 4 支持新的maccatalyst。包標(biāo)識(shí)符前綴澜沟。因此灾票,Mac Catalyst 應(yīng)用程序使用的配置文件必須重新生成,以反映新的前綴倔喂。如果使用自動(dòng)簽名铝条,將自動(dòng)生成一個(gè)新的配置配置文件。如果您正在使用手動(dòng)簽名席噩,請(qǐng)登錄到開(kāi)發(fā)人員帳戶(hù)并重新生成 Mac Catalyst 應(yīng)用程序使用的配置文件。(52535178)

  • 如果您正在使用以前的 Xcode 11 beta版 贤壁,并且已經(jīng)為您的應(yīng)用程序提供了配置文件悼枢,那么它將繼續(xù)工作,直到您更新到 Xcode 11 beta 4 脾拆。如果您還沒(méi)有為您的應(yīng)用程序提供配置文件馒索,您需要更新到 Xcode 11 beta 4 ,以便生成一個(gè)具有正確應(yīng)用程序ID前綴的配置文件名船。

  • 如果代碼包含對(duì) bundle標(biāo)識(shí)符 的引用绰上,則需要更新這些引用。

  • 簽名和功能設(shè)置現(xiàn)在合并在項(xiàng)目編輯器中的新簽名和功能選項(xiàng)卡中渠驼。新選項(xiàng)卡支持跨多個(gè)構(gòu)建配置使用不同的應(yīng)用程序功能蜈块。新的功能庫(kù)使搜索可用功能成為可能。(35254597)

  • Xcode 11 支持新的 Apple 開(kāi)發(fā)和 Apple 分發(fā)證書(shū)類(lèi)型。這些證書(shū)支持在任何蘋(píng)果平臺(tái)上構(gòu)建百揭、運(yùn)行和分發(fā)應(yīng)用程序∷ィ現(xiàn)有的iOS和macOS開(kāi)發(fā)和分發(fā)證書(shū)將繼續(xù)工作,但是器一,在 Xcode 11 中創(chuàng)建的新證書(shū)將使用新類(lèi)型课锌。以前版本的 Xcode 不支持這些證書(shū)。(45527608)

已知問(wèn)題

  • 如果你的iPad應(yīng)用程序使用了私有權(quán)限祈秕,那么 Mac Catalyst 應(yīng)用程序可能無(wú)法使用這些權(quán)限渺贤。
    解決方案:為 Mac Catalyst 應(yīng)用程序生成一個(gè)新的授權(quán)文件,并按照以下步驟排除不可用的授權(quán):

      1. 在項(xiàng)目導(dǎo)航器中選擇應(yīng)享權(quán)利文件请毛,然后選擇 File > Duplicate志鞍。
      1. 給你的 Mac Catalyst 授權(quán)文件一個(gè)唯一的名稱(chēng)并保存它。
    • 3.從新的 Mac Catalyst 權(quán)限文件中刪除任何不可用的私有權(quán)限获印。

      1. 在項(xiàng)目編輯器中導(dǎo)航到 Mac Catalyst 應(yīng)用程序的構(gòu)建設(shè)置述雾,并找到代碼簽名權(quán)限構(gòu)建設(shè)置。
      1. 展開(kāi)構(gòu)建設(shè)置兼丰,以便您可以查看所有構(gòu)建配置的值玻孟。對(duì)于每個(gè)構(gòu)建配置,單擊 plus(+) 按鈕添加條件設(shè)置鳍征。
      1. 從每個(gè)條件設(shè)置中的彈出按鈕中黍翎,選擇任何 macOS ,然后編輯條件設(shè)置的值艳丛,以引用新的 Mac Catalyst 授權(quán)文件的名稱(chēng)匣掸。
  • 在創(chuàng)建開(kāi)發(fā)證書(shū)時(shí),自動(dòng)簽名可能會(huì)失敗氮双,并出現(xiàn)“出于安全原因禁止此請(qǐng)求”的錯(cuò)誤碰酝。(50964225)
    解決方法:您的帳戶(hù)可能已經(jīng)達(dá)到了證書(shū)限制。在Safari中查看您的 Apple Developer 帳戶(hù)戴差,并撤銷(xiāo)您沒(méi)有使用的任何開(kāi)發(fā)證書(shū)送爸,然后在 Xcode 中再次嘗試。

  • 存檔操作不會(huì)對(duì)Swift包中的命令行可執(zhí)行產(chǎn)品進(jìn)行代碼簽名暖释。(48717735)
    解決方法:在發(fā)布存檔的可執(zhí)行文件之前袭厂,使用 codesign 工具手動(dòng)簽署它們。

  • 使用 bot 編輯器的 sign 選項(xiàng)卡手動(dòng)安裝的 Mac 配置文件將使用錯(cuò)誤的文件擴(kuò)展名安裝球匕,這會(huì)導(dǎo)致集成失敗纹磺。(47636041)
    解決方法:登錄到bot用戶(hù)的帳戶(hù),并在 ~/Library/MobileDevice/Provisioning profiles 目錄中重命名受影響的概要文件亮曹。

已解決的問(wèn)題

  • 修正了一個(gè)導(dǎo)致應(yīng)用內(nèi)購(gòu)買(mǎi)內(nèi)容包無(wú)法構(gòu)建的代碼簽名問(wèn)題橄杨。(50736776)

  • 解決了 Xcode 在為 iOS Developer University 程序的成員創(chuàng)建新的簽名證書(shū)時(shí)拋出錯(cuò)誤的問(wèn)題秘症。(50640287)

  • 解決了 Xcode 錯(cuò)誤報(bào)告的一個(gè)問(wèn)題:當(dāng)上傳到 App Store 時(shí),“團(tuán)隊(duì)沒(méi)有iTunes連接訪(fǎng)問(wèn)”讥珍。(39292849)

Simulator

新特性

  • 模擬器可以根據(jù)當(dāng)前電源自動(dòng)選擇 macOS GPU历极。當(dāng)你的 Mac 連接到 AC電源 時(shí),使用的是 分立GPU衷佃。當(dāng)你的Mac使用電池供電時(shí)趟卸,使用的是集成GPU。您可以通過(guò)導(dǎo)航到 File > GPU 選擇在模擬器中更改策略氏义。(53032365)

  • simctl 現(xiàn)在可以覆蓋 iOS設(shè)備 的狀態(tài)欄值锄列。例如,要設(shè)置時(shí)間和電池惯悠,請(qǐng)使用:

xcrun simctl status_bar <device> override --time "9:41" --batteryState charged --batteryLevel 100

有關(guān)全部選項(xiàng)邻邮,請(qǐng)參見(jiàn)xcrun simctl help status_bar。(51697821)

  • 當(dāng)運(yùn)行在 macOS 10.15上時(shí)克婶,Metal 可以在 iOS 13和tvOS 13模擬器 中使用。Metal 代碼在主機(jī) Mac GPU 上執(zhí)行情萤,比模擬的 OpenGL代碼 要快得多鸭蛙。SceneKit api, CoreAnimation其他系統(tǒng)框架抽象gpu 之間的許多差異,減少需要特定于設(shè)備的代碼。當(dāng)運(yùn)行在早期版本的 macOS 上或在沒(méi)有Metal 的環(huán)境中筋岛,模擬器將繼續(xù)使用呈現(xiàn)的 OpenGL 軟件娶视。如果你的 Mac 有多個(gè) GPU ,使用模擬器中的文件菜單來(lái)選擇使用哪個(gè) GPU睁宰。如果正在使用的 GPU 變得不可用肪获,任何使用它的模擬器都會(huì)自動(dòng)關(guān)閉。(18430676)

  • 默認(rèn)情況下柒傻,Xcode 不再創(chuàng)建所有可用的 iOS模擬器設(shè)備孝赫。而是創(chuàng)建一組最常用的設(shè)備。要?jiǎng)?chuàng)建其他設(shè)備(或一個(gè)設(shè)備的多個(gè)實(shí)例)红符,請(qǐng)打開(kāi)設(shè)備窗口寒锚,選擇模擬器,單擊+按鈕违孝,輸入一個(gè)名稱(chēng),并選擇相關(guān)的設(shè)備類(lèi)型和OS版本泳赋。(49428617)

  • CAMetalLayer 可以在 iOS 13和tvOS 13模擬器 中使用雌桑。(45101325)

  • iOS 13、watchOS 6和tvOS 13模擬器 現(xiàn)在都有一個(gè) dyld共享緩存祖今。這改進(jìn)了模擬器的啟動(dòng)時(shí)間校坑,減少了模擬器進(jìn)程使用的打開(kāi)文件句柄的數(shù)量拣技。如果您報(bào)告了一個(gè)您認(rèn)為與共享緩存相關(guān)的問(wèn)題,請(qǐng)包括一個(gè) simctl診斷和使用 DYLD_PRINT_LIBRARIES=1 啟動(dòng)程序的輸出耍目。(13632739)

  • simctl 現(xiàn)在接受運(yùn)行時(shí)名稱(chēng)的簡(jiǎn)短別名膏斤。這意味著你可以用像 simctl create 'iPhone X' iOS13 這樣的命令創(chuàng)建一個(gè)新的iPhone X模擬器。(41089607)

  • 對(duì)于 headlesscontinuous integration 場(chǎng)景邪驮,您可以配置 CoreSimulator莫辨,通過(guò)設(shè)置默認(rèn)的 write com.apple 來(lái)跳過(guò)虛擬幀緩沖區(qū)中的合成操作。CoreSimulator FramebufferServerRendererPolicy to none毅访。在這種模式下沮榜,無(wú)法查看模擬器,simctl io 也無(wú)法截屏或錄制視頻喻粹。(48264341)

  • 沒(méi)有 CFBundleVersion 的包是無(wú)效的蟆融,不能正確地安裝在設(shè)備或模擬器上。 CoreSimulator 現(xiàn)在可以在流程的早期檢查和拒絕這些包守呜,并提供更清晰的錯(cuò)誤消息型酥。(49892531)

  • 模擬器停靠圖標(biāo)現(xiàn)在包括一個(gè)菜單查乒,以快速啟動(dòng)模擬器弥喉。(43067512)

  • 模擬器的文件菜單現(xiàn)在包括一個(gè) GPU 選擇菜單,以控制哪個(gè) GPU 是使用金屬支持模擬器和合成模擬器的虛擬幀緩沖區(qū)侣颂。如果在選中可用項(xiàng)時(shí)使用外部 GPU 档桃,則在外部GPU連接后啟動(dòng)的任何模擬器都使用外部 GPU 。如果外部 GPU 斷開(kāi)連接憔晒,任何使用它的模擬器都會(huì)自動(dòng)關(guān)閉藻肄。對(duì)這些設(shè)置的更改僅在模擬器啟動(dòng)時(shí)生效。當(dāng)這個(gè)設(shè)置被改變時(shí)拒担,模擬器已經(jīng)啟動(dòng)嘹屯,繼續(xù)使用之前選擇的 GPU,直到它們重新啟動(dòng)从撼。(46134036)

  • 游戲控制器輸入在iOS模擬器中可用州弟。(50082777)

已知問(wèn)題

  • 模擬器不分配負(fù)載,如果多個(gè) GPU 在一個(gè)系統(tǒng)匹配選擇的GPU策略低零。只使用MTLCopyAllDevices() 返回的第一個(gè)匹配的GPU婆翔。(50608554)
    解決方案:通過(guò)將模擬器窗口定位在與模擬器使用的 GPU 直接連接的顯示器上,您可能會(huì)看到更高的性能掏婶,這避免了跨 GPU復(fù)制啃奴。

請(qǐng)注意:與任何利用 GPU 的應(yīng)用程序一樣,外部連接顯示的性能行為也會(huì)隨著工作負(fù)載的不同而變化雄妥。

  • 通過(guò) xcrun simctl io <UDID> recordVideo 對(duì) iOS 13最蕾、tvOS 13和watchOS 6 模擬器進(jìn)行視頻錄制依溯,將返回一個(gè)錯(cuò)誤而不是錄制視頻。(50625716)

  • watchOS模擬器不支持冷啟動(dòng)上的斷點(diǎn)瘟则。(51148192)
    解決方法:在啟動(dòng)正在調(diào)試的應(yīng)用程序之前黎炉,完全啟動(dòng)模擬器。

已解決的問(wèn)題

  • 自動(dòng)紙板同步功能現(xiàn)在正確的所有模擬器運(yùn)行 iOS 11.1 和更新醋拧。(53231481)
    在模擬器中獲取粘貼板后立即調(diào)用 Send Pasteboard 將不再導(dǎo)致設(shè)備不可用慷嗜。(52866417)

  • 修正了用 simctl 覆蓋細(xì)胞欄的能力。(51698044)

  • 模擬器中的旋轉(zhuǎn)設(shè)備自動(dòng)選項(xiàng)與 iOS 13模擬器兼容趁仙。(51147050)

  • 當(dāng)模擬器不是 macOS Catalina 10.15 上的前臺(tái)應(yīng)用程序時(shí)洪添,模擬器將游戲控制器事件交付給模擬設(shè)備。(51759699)

  • 修正了一個(gè)導(dǎo)致模擬器停止向屏幕顯示幀更新的問(wèn)題雀费。(51993678)

  • 模擬器正確地顯示了注冊(cè)時(shí)的 Touch ID > Enrolled 的復(fù)選標(biāo)記干奢。(50553667)

  • 主機(jī)和模擬設(shè)備之間的紙板自動(dòng)同步的行為是正確的。(46686100)

  • Safari 對(duì)模擬器的共享行為正確盏袄。(49331693,49416352)

  • 解決了 IOSurface實(shí)例macOS 10.14.5及更早版本模擬器 進(jìn)程中的泄漏問(wèn)題忿峻。(50880827)

  • iCloud同步 可以在iOS模擬器中使用。(50924245)

  • 當(dāng)TVOut被配置為“斷開(kāi)連接”時(shí)辕羽,iOS 13模擬器 沒(méi)有連接模擬顯示逛尚。(50829453)

  • iOS模擬器 的顏色匹配金屬的內(nèi)容,以顯示的顏色空間刁愿。(50625671)

  • 解決了一個(gè)使用 Metal 的核心圖像著色器無(wú)法在ios13模擬器上運(yùn)行的問(wèn)題绰寞,并禁用了錯(cuò)誤的 “Metal DAG編譯器”∠晨冢”(51521248)

  • 游戲控制器與 iPad模擬器 可以正常工作滤钱。(51034639)

  • 解決了在 iOS 13之前運(yùn)行iOS版本的模擬器 設(shè)備無(wú)法正確呈現(xiàn)顯示的問(wèn)題。(50963987)

  • IOSurface 現(xiàn)在可以在 ios13脑题、watchOS 6和tvOS 13模擬器 中運(yùn)行件缸。(11051639)

  • 模擬器中播放音頻的應(yīng)用程序也不再自動(dòng)打開(kāi)麥克風(fēng)輸入。(32406954)

  • 將刪除 simctl 列表 JSON 輸出中以前不推薦的可用性字段叔遂。使用 isAvailable Boolean 字段確定可用性他炊。(45142676)

  • ATSC紋理格式支持透明地解壓他們?cè)?CPU 上,然后再上傳到 macOS GPU已艰。(51347811)

Source Control

新特性

  • 現(xiàn)在您可以從一個(gè)分支到另一個(gè)分支進(jìn)行更改痊末。(18285039)

  • 克隆新存儲(chǔ)庫(kù)時(shí),現(xiàn)在可以從可用分支列表中選擇要簽出的分支哩掺。(41122122)

  • 使用新的源代碼控制文件檢查器舌胶,您可以瀏覽當(dāng)前分支文件的完整歷史記錄。日志檢查器適用于所有文件類(lèi)型疮丛,包括接口構(gòu)建器文檔幔嫂。(45109443)

  • 現(xiàn)在,您可以從源代碼控制導(dǎo)航器中隱藏更改和管理隱藏誊薄。此外履恩,Xcode還提供自動(dòng)保存和恢復(fù)源代碼控制操作的更改,比如從存儲(chǔ)庫(kù)中提取更改呢蔫。(8797804)

  • 源代碼控制作者現(xiàn)在可以在每個(gè)編輯器的基礎(chǔ)上使用切心。(45108927)

已知問(wèn)題

  • 當(dāng)在已啟用rebase的分支上執(zhí)行 Pull in Xcode 時(shí),工作表不會(huì)自動(dòng)關(guān)閉片吊。(50377240)

  • 如果文件已重命名绽昏,則從源代碼控制日志檢查器中查看文件修訂的更改可能會(huì)失敗。(49673170)

  • 對(duì)于位桶云或位桶服務(wù)器托管的帳戶(hù)俏脊,不支持在 Add Package assistant 中過(guò)濾包全谤。(47290085)

  • GitLab或GitLab 自管理托管帳戶(hù)不支持在 Add Package assistant 中過(guò)濾包。(47290125)

  • 當(dāng)使用xcodebuild時(shí)爷贫,解析包可能無(wú)法驗(yàn)證 SSH指紋认然,除非指紋已經(jīng)在~/.ssh / known_hosts文件中。(50686014)
    解決方案:在使用 xcodebuild 之前漫萄,通過(guò) SSH 到主機(jī)并從命令行驗(yàn)證指紋卷员,或者手動(dòng)將主機(jī)指紋添加到 ~/.ssh / known_hosts 文件中。

已解決的問(wèn)題

  • 改進(jìn)了在項(xiàng)目導(dǎo)航器中選擇 Package.swift 文件時(shí)顯示源代碼控制信息的功能腾务。(50696823)

  • 如果作者信息尚未在 Preferences > Source Control 控制中為Git配置泥耀,則使用rebase進(jìn)行提取將不再失敗鸿吆。(48680076)

  • 解決了托管帳戶(hù)提供者(如GitHub 和 BitBucket )在添加帳戶(hù)表中不可用,并且以前添加的帳戶(hù)將被禁用的問(wèn)題。(47645098)

  • 解決 Xcode 中的源代碼控制操作出現(xiàn)“無(wú)法與助手應(yīng)用程序通信”對(duì)話(huà)框的問(wèn)題扫皱。(47227781)

  • 修復(fù)了個(gè)人、組織和星型存儲(chǔ)庫(kù)加載時(shí)間較長(zhǎng)的性能問(wèn)題你雌。(48620126)

  • 解決了添加GitHub帳戶(hù)后厚棵,來(lái)自 GitHub 的用戶(hù)頭像并不總是加載的問(wèn)題。(48698029)

  • 修正了代碼評(píng)審編輯器中某些源編輯器菜單選項(xiàng)不可用的錯(cuò)誤箫津。(48774008)

Source Editor

新特性

  • 語(yǔ)義突出顯示狭姨、代碼完成、實(shí)時(shí)問(wèn)題苏遥、符號(hào)搜索和跳轉(zhuǎn)到定義現(xiàn)在都支持 Metal 著色語(yǔ)言饼拍。(45144204)

  • 通過(guò)單擊源代碼控制更改欄并選擇顯示或隱藏更改,介紹了在源代碼編輯器中查看內(nèi)聯(lián)代碼差異的功能田炭。(49073551)

  • 增加新的高對(duì)比度(暗)主題和高對(duì)比度(光)主題师抄。還為標(biāo)記、類(lèi)型聲明和其他聲明添加了新設(shè)置教硫。(50036007)

  • Swift文件 中的聲明添加了專(zhuān)用的語(yǔ)法著色叨吮,可以在類(lèi)型聲明和其他聲明下的首選項(xiàng)>字體和顏色中自定義辆布。宣言著色 C-family 語(yǔ)言不支持。(10342935)

  • Xcode 的源代碼編輯器現(xiàn)在支持拼寫(xiě)檢查茶鉴。(32062963)

  • Xcode 11 的源代碼編輯器引入了該文件的一個(gè)迷你映射锋玲。這個(gè)迷你地圖包括Mark:的可讀文本,高亮顯示的帶有錯(cuò)誤和警告的行涵叮,源代碼控制更改惭蹂,斷點(diǎn),以及高亮顯示的 Find results割粮。迷你地圖在默認(rèn)情況下是啟用的盾碗,并且可以在每個(gè)編輯器中關(guān)閉。(35939517)

  • 在文檔注釋和游樂(lè)場(chǎng)標(biāo)記中為標(biāo)記添加語(yǔ)法高亮顯示舀瓢。您可以在文檔標(biāo)記下的首選項(xiàng)>字體和顏色中自定義散文字體廷雅,并在首選項(xiàng)>文本編輯>顯示中自定義分隔符外觀(guān)。(42941263)

  • Toggle注釋支持多個(gè)游標(biāo)氢伟。(44319433)

  • 拖放文本時(shí)榜轿,行與行之間會(huì)留出空間,以便更容易地看到文本將被拖放到何處朵锣。拖拽完整行時(shí)谬盐,Xcode只允許在其他行之間拖放。(44735912)

  • 編輯器允許分層代碼折疊诚些。(47502128)

  • 代碼折疊支持方括號(hào)和圓括號(hào)飞傀。(50460404)

  • // MARK: comments和#pragma MARK指令現(xiàn)在在編輯器中畫(huà)一條分隔線(xiàn)。顯示標(biāo)記分隔符的首選項(xiàng)位于首選項(xiàng)>文本編輯>顯示>顯示標(biāo)記分隔符诬烹。(7299224)

已解決的問(wèn)題

  • NSProgressIndicator 對(duì)象現(xiàn)在保存構(gòu)建和運(yùn)行時(shí)在檢查器中配置的當(dāng)前值砸烦。(43257511)

  • c++操作符重載顯示在跳轉(zhuǎn)欄中。(50841460)

  • 解決了Xcode在運(yùn)行時(shí)使用鍵盤(pán)快捷鍵錯(cuò)誤打開(kāi)助理編輯器的問(wèn)題绞吁。(37995114)

  • // MARK: comments和#pragma 標(biāo)記指令添加了專(zhuān)用的語(yǔ)法著色幢痘,您可以在首選項(xiàng)>字體和顏色>標(biāo)記中定制它們。(22114159)

  • 您可以命令單擊Swift操作符來(lái)使用 Quick Help 并跳轉(zhuǎn)到 Definition 家破。(32695862)

  • 解決了在Objective-C中編輯未關(guān)閉塊時(shí)可能發(fā)生的問(wèn)題颜说。(48201424)

  • 解決了代碼完成將廢棄符號(hào)排序在非廢棄符號(hào)之前的問(wèn)題。(38422586)

  • 解決了刪除文本時(shí)代碼完成行出現(xiàn)空的問(wèn)題汰聋。(48621410)

  • 解決了在使用 thrownoexcept 子句時(shí)沒(méi)有正確解析 c++函數(shù) 的問(wèn)題门粪。(37682611)

  • 在輸入時(shí),可訪(fǎng)問(wèn)性縮放焦點(diǎn)現(xiàn)在跟隨源編輯器中的插入點(diǎn)烹困。(32775118)

  • 當(dāng)在源編輯器中逐行移動(dòng)時(shí)玄妈,VoiceOver 不會(huì)重復(fù)上一行。(34334763)

  • VoiceOver 在源編輯器中有用于方法、錯(cuò)誤拟蜻、警告绎签、斷點(diǎn)和標(biāo)記的轉(zhuǎn)子,這使得搜索和移動(dòng)到與錯(cuò)誤或其他轉(zhuǎn)子項(xiàng)對(duì)應(yīng)的代碼行非常容易瞭郑。(34493080)

  • VoiceOver 文本屬性現(xiàn)在包括源編輯器中一行代碼的空格數(shù)辜御、制表符數(shù)、縮進(jìn)級(jí)別和行號(hào)屈张。(34607795)

  • 當(dāng)讀入源編輯器時(shí),VoiceOver 不再?lài)@占位符標(biāo)記說(shuō)額外的字符袱巨,并說(shuō)它們是占位符阁谆。(44941610)

  • 解決了 c++原始字符串沒(méi)有正確突出顯示的問(wèn)題。(10770485)

  • 解決了 c++類(lèi)聲明在使用限定名愉老、模板或多重繼承時(shí)無(wú)法正確解析的問(wèn)題场绿。(11286215)

  • 解決了在跳轉(zhuǎn)欄中沒(méi)有顯示嵌套在函數(shù)或方法中的本地類(lèi)的問(wèn)題。(13337638)

  • 解決了 c++ 11 后置返回類(lèi)型不能正確識(shí)別的問(wèn)題嫉入。(13634062)

  • 解決了 c++ 類(lèi)型枚舉沒(méi)有正確解析的問(wèn)題焰盗。(13693443)

  • 改進(jìn)了使用可用性宏和屬性的聲明的解析。(14569168)

  • 解決了不識(shí)別帶單引號(hào)的 c++ 數(shù)字文字的問(wèn)題咒林。(18121031)

  • 解決了結(jié)構(gòu)體成員函數(shù)沒(méi)有正確解析的問(wèn)題熬拒。(27946356)

  • 解決了在跳轉(zhuǎn)欄中沒(méi)有正確顯示枚舉聲明的問(wèn)題。(32518576)

  • 改進(jìn)了 JavaScript 中類(lèi)和函數(shù)的識(shí)別垫竞。(42537831)

  • 解決了返回枚舉類(lèi)型的函數(shù)沒(méi)有正確解析的問(wèn)題澎粟。(46164630)

  • 解決了無(wú)符號(hào)和長(zhǎng)整數(shù)文字語(yǔ)法顏色不正確的問(wèn)題。(47138177)

  • 更新 JavaScript 語(yǔ)法高亮顯示欢瞪,包括 ECMAScript 6 關(guān)鍵字活烙。(47354463)

  • 修正了雙擊 c++析構(gòu)函數(shù) 名會(huì)導(dǎo)致

Static Analyzer

新特性

  • 靜態(tài)分析器檢查 mach 服務(wù)器例程中是否違反了 MIG 調(diào)用約定。這些違反行為可能會(huì)導(dǎo)致使用后免費(fèi)的漏洞遣鼓。(35380337)

  • 靜態(tài)分析器檢查是否違反了 IOKit和libkern 引用計(jì)數(shù)規(guī)則啸盏。(46357478)

  • 靜態(tài)分析器檢查是否違反了 DriverKit 引用計(jì)數(shù)規(guī)則。這些違規(guī)行為可能導(dǎo)致泄漏和免費(fèi)使用后的問(wèn)題骑祟。(50349513)

Swift

新特性

  • 結(jié)構(gòu)和枚舉的 @frozen屬性 現(xiàn)在可用回懦。(36597490)

  • 結(jié)構(gòu)的成員式初始化器現(xiàn)在為包含默認(rèn)表達(dá)式的變量提供默認(rèn)值。(SE-0242, 47130624)

struct Dog {
    var name = "Generic dog name"
    var age = 0

    // The synthesized memberwise initializer
    init(name: String = "Generic dog name", age: Int = 0)
}

let sparky = Dog(name: "Sparky") // Dog(name: "Sparky", age: 0)
  • 現(xiàn)在可以使用類(lèi)型別名聲明 @autoclosure參數(shù)曾我。(SR-2688, 50560849)
class Foo {
    typealias FooClosure = () -> String
    func fooFunction(closure: @autoclosure FooClosure) {}
}
  • 類(lèi)中使用@objc屬性聲明的方法現(xiàn)在可以返回Self粉怕。(SR-7601, 50560991)
class MyClass: NSObject {
    @objc func clone() -> Self { return self }
}
  • 鍵路徑表達(dá)式現(xiàn)在可以包含對(duì)元組元素的引用。(50562288)

  • 接受Any類(lèi)型值的單參數(shù)函數(shù)不再優(yōu)先于其他函數(shù)抒巢。(50562333)

  • 現(xiàn)在已經(jīng)完全實(shí)現(xiàn)了元組類(lèi)型之間的轉(zhuǎn)換贫贝。在此之前,下面將診斷一個(gè)錯(cuò)誤。(SR-2672, 12340004)

let values: (Int, Int) = (10, 15)
let converted: (Int?, Any) = values
  • 現(xiàn)在可以聲明和使用類(lèi)型下標(biāo)稚晚,就像類(lèi)型屬性和類(lèi)型方法一樣崇堵。通過(guò)對(duì)下標(biāo)聲明應(yīng)用靜態(tài)或(在類(lèi)中)類(lèi)修飾符來(lái)聲明。(SE-0254, 16555559)
// Declare a type with a static subscript:
enum ProcessEnvironment {
    static subscript(name: String) -> String? {
        get { getenv(name) }
        set { setenv(name, to: newValue) }
    }
}

// Use it with any of these syntaxes:
ProcessEnvironment["PATH"]! += ":/usr/local/bin"
ProcessEnvironment["PATH"]! += ":/usr/local/bin"
someVarOfProcessEnvironmentDotType["PATH"]! += ":/usr/local/bin"

類(lèi)型下標(biāo)還可以與動(dòng)態(tài)成員查找一起使用客燕,以創(chuàng)建動(dòng)態(tài)類(lèi)型屬性鸳劳。

// Declare a type with a static subscript:
@dynamicMemberLookup
enum ProcessEnvironment {
    // …As above…
    static subscript(dynamicMember name: String) -> String? {
        get { self[name] }
        set { self[name] = newValue }
   }
}

// Now you can use property syntax with ProcessEnvironment:
ProcessEnvironment.PATH! += ":/usr/local/bin"
ProcessEnvironment.self.PATH! += ":/usr/local/bin"
someVarOfProcessEnvironmentDotType.PATH! += ":/usr/local/bin"
  • 指定 Optional.none 與同樣具有 none 大小寫(xiě)的枚舉進(jìn)行比較,或?qū)⒋祟?lèi)枚舉與 Optional 進(jìn)行比較∫泊辏現(xiàn)在沒(méi)有一個(gè)會(huì)發(fā)出警告赏廓。這樣的表達(dá)式會(huì)產(chǎn)生歧義,因?yàn)榫幾g器會(huì)選擇可選的傍妒。none 超過(guò)您自己的枚舉定義的 none 用例幔摸。(SR-2176, 26126801)
enum Foo { case none }

// Assigned Optional.none instead of Foo.none.
let foo: Foo? = .none
// Comparing with Optional.none instead of Foo.none.
let isEqual = foo == .none

編譯器會(huì)提供一個(gè)警告颤练,并提供一個(gè)修復(fù)程序來(lái)用 Optional替換.none既忆。沒(méi)有或 Foo。沒(méi)有人能解決這種含糊不清的問(wèn)題嗦玖。

  • 函數(shù)現(xiàn)在可以通過(guò)聲明它所遵循的協(xié)議來(lái)隱藏它們的具體返回類(lèi)型患雇,而不是指定確切的返回類(lèi)型:
func makeACollection() -> some Collection {
    return [1, 2, 3]
}

調(diào)用該函數(shù)的代碼可以使用協(xié)議的接口,但不能看到底層類(lèi)型宇挫。(SE-0244, 40538331)

  • 枚舉現(xiàn)在可以匹配一個(gè)可選枚舉苛吱,而不需要' ?”“在圖案的末尾。(SR-7799, 41494702)
enum Foo { case zero, one }

let foo: Foo? = .zero

switch foo {
    case .zero: break
    case .one: break
    case .none: break
}
  • 現(xiàn)有的 @dynamicMemberLookup 屬性現(xiàn)在支持鍵入鍵路徑實(shí)現(xiàn)捞稿。(SE-0252, 49069813)
struct Point {
    var x, y: Int
}

@dynamicMemberLookup
struct Box<T> {
    var v: T

    init(_ v: T) {
        self.v = v
    }

    subscript<U>(dynamicMember member: KeyPath<T, U>) -> U {
        get { return v[keyPath: member] }
    }
}

var box = Box(Point(x: 0, y: 0))
_ = box.x
  • 現(xiàn)在又谋,您可以使用Self表達(dá)式來(lái)引用結(jié)構(gòu)、枚舉和類(lèi)聲明中最內(nèi)層的標(biāo)稱(chēng)類(lèi)型娱局。例如彰亥,這個(gè)結(jié)構(gòu)中的兩個(gè)方法聲明是等價(jià)的:
struct Box<Value> {
    func transform1() -> Self { return self }
    func transform2() -> Box<Value> { return self }
}
  • 在類(lèi)中,Self 和前面一樣是 Self 值的動(dòng)態(tài)類(lèi)型衰齐。聲明類(lèi)型中對(duì)Self的現(xiàn)有限制仍然適用;也就是說(shuō)任斋,Self 只能作為方法的返回類(lèi)型出現(xiàn)。然而耻涛,Self現(xiàn)在可以在方法體中無(wú)限制地使用废酷。(SE-0068, 17892696)

  • ArrayContiguousArray 現(xiàn)在都有 init(unsafeUninitializedCapacity:initializingWith:) 初始化器,它提供對(duì)數(shù)組未初始化存儲(chǔ)的訪(fǎng)問(wèn)抹缕。(21880692)

  • 實(shí)現(xiàn)了更徹底的檢查澈蟆,以確定轉(zhuǎn)義閉包的限制,這些閉包捕獲的 in-out 參數(shù)或 noescape 類(lèi)型的值卓研。雖然大多數(shù)代碼不受影響趴俘,但在某些情況下睹簇,Swift 5.0 編譯器接受的代碼違反了這些限制。(SR-8546, SR-9043, 43355341)

  • Swift 5.0編譯器錯(cuò)誤接受無(wú)效代碼的一個(gè)例子是 @escaping 閉包寥闪,它調(diào)用一個(gè)本地函數(shù)太惠,該函數(shù)從外部范圍引用 in-out 參數(shù):

struct BadCaptureExample {
    var escapingClosure: () -> ()

    mutating func takesInOut(_ x: inout Int) {
        func localFunction() {
            x += 1
        }

        escapingClosure = { localFunction() }
    }
}
  • 編譯器現(xiàn)在通過(guò)指出 localFunction() 捕獲x是無(wú)效的來(lái)正確診斷上面的代碼,因?yàn)?localFunction() 是從 @ escape 閉包引用的疲憋。
  • 這還解決了編譯器錯(cuò)誤地將某些代碼診斷為無(wú)效的某些情況凿渊,而實(shí)際上并沒(méi)有發(fā)生違反限制的情況。例如:
func takesNoEscape(_ fn: () -> ()) {
    func localFunction() {
        fn()
    }

    { localFunction() }()
}

已知問(wèn)題

  • 如果類(lèi)型與其包含的模塊具有相同的名稱(chēng)缚柳,則從模塊接口導(dǎo)入該模塊可能會(huì)失敗埃脏。(19481048,48445154)
    解決方法:重命名類(lèi)型,使其不再與模塊名稱(chēng)沖突秋忙。

已解決的問(wèn)題

不再允許重復(fù)元組元素標(biāo)簽剂癌,因?yàn)檫@會(huì)導(dǎo)致不正確的行為。(SR-8974, 45218256)
以下內(nèi)容現(xiàn)在被診斷為錯(cuò)誤:

let dupLabels: (foo: Int, foo: Int) = (foo: 1, foo: 2)
enum Foo {
    case bar(x: Int, x: Int)
}
let f: Foo = .bar(x: 0, x: 1)

只要內(nèi)部標(biāo)簽不同翰绊,在聲明函數(shù)和下標(biāo)時(shí)仍然可以使用重復(fù)標(biāo)簽。例如:

func foo(bar x: Int, bar y: Int) {}
subscript(a x: Int, a y: Int) -> Int {}
  • 帶有不透明返回類(lèi)型的聲明需要在iOS 13旁壮、macOS 10.15监嗜、watchOS 6或tvOS 13中使用Swift 5.1運(yùn)行時(shí),由Swift編譯器強(qiáng)制執(zhí)行抡谐。(50731151)

  • 在macOS 10.9之前廢棄的API在編譯時(shí)只需要應(yīng)用程序擴(kuò)展安全的API構(gòu)建設(shè)置就會(huì)正確地顯示為不可用裁奇。(51417764)

  • 從終端啟動(dòng)時(shí),Swift REPL工作正常麦撵。(51374106)

  • 如果類(lèi)型使用不透明的返回類(lèi)型來(lái)滿(mǎn)足協(xié)議的關(guān)聯(lián)類(lèi)型要求刽肠,并且關(guān)聯(lián)類(lèi)型在另一個(gè)泛型聲明中按名稱(chēng)引用,則編譯器不再崩潰免胃。(50509030)

  • 靜態(tài)庫(kù)現(xiàn)在總是在鏈接期間全部強(qiáng)制加載音五,以修復(fù)與請(qǐng)求失敗相關(guān)的運(yùn)行時(shí)錯(cuò)誤。(47598583)

  • 弱的和無(wú)主的存儲(chǔ)特性不再抑制自動(dòng)合成的 Equatable 或者 Hashable羔沙。(sr - 9827, 50566123)

  • 如果崩潰日志中的符號(hào)沒(méi)有正確解調(diào)躺涝,運(yùn)行quick -demangle命令并傳入崩潰日志的內(nèi)容。(34920390)

SwiftUI

已知問(wèn)題

  • 在沒(méi)有為 OTHER_SWIFT_FLAGS 設(shè)置 -DDEBUG 設(shè)置的項(xiàng)目中定義的預(yù)覽提供程序扼雏,如果在畫(huà)布中沒(méi)有顯示調(diào)試坚嗜,則將其封裝在#中。這發(fā)生在Objective-C 應(yīng)用中诗充,Objective-C 從未指定 OTHER_SWIFT_FLAGS苍蔬。(51138834)
    解決方法:從 PreviewProvider 聲明周?chē)鷦h除 #if DEBUG和#endif

  • 使用 Xcode 11 beta 5蝴蜓,預(yù)覽只在 macOS Catalina 10.15 beta 5 上可用碟绑,而且只有 Xcode 11 beta 5 支持在 macOS Catalina 10.15 beta 5 上預(yù)覽。(52059562)

  • 軟件鍵盤(pán)不會(huì)出現(xiàn)在預(yù)覽中。(35615536)

  • 使用與系統(tǒng)類(lèi)型相同的名稱(chēng)命名類(lèi)型可能導(dǎo)致預(yù)覽失敗蜈敢。(51531683)
    解決方法:不要對(duì)您的類(lèi)型使用與系統(tǒng)類(lèi)型相同的名稱(chēng)辜荠。

  • 在運(yùn)行設(shè)備預(yù)覽時(shí)進(jìn)行的代碼更改可能會(huì)在應(yīng)用程序重新啟動(dòng)時(shí)短暫顯示主屏幕。(48208765)

  • 在實(shí)時(shí)預(yù)覽中無(wú)法縮放抓狭。(51183125)
    解決方法:退出活動(dòng)模式或使用畫(huà)布或編輯器菜單中的縮放控件伯病。

  • iOS、tvOS和watchOS 的靜態(tài)預(yù)覽不支持 SceneKit否过、MapKit和Metal視圖午笛,在呈現(xiàn)更新時(shí)會(huì)出現(xiàn)延遲。(50965310)

  • 如果現(xiàn)有視圖位于視圖生成器中條件語(yǔ)句的頂層苗桂,則導(dǎo)致容器插入現(xiàn)有視圖和容器中的新同級(jí)的拖放操作將不起作用药磺。例如,不能在 Text 周?chē)鷦h除 HStack 或者 VStack煤伟。(50300406):

var body: some View {
    VStack {
        if true {
            Text("Hello World")
        }
    }
}

解決方法:將現(xiàn)有視圖嵌入到容器中——無(wú)論是在畫(huà)布中還是在源編輯器中——然后將新視圖放入容器中癌佩。

  • 包中的預(yù)覽總是執(zhí)行活動(dòng)方案的完整構(gòu)建。(51030302)

  • Text 修飾符拖放到畫(huà)布中已經(jīng)具有 View 修飾符(例如 frame(width:height:alignment:) 的文本上便锨,將導(dǎo)致編譯錯(cuò)誤围辙。(50712235)
    解決方法:重新排序修飾符,使特定于文本的修飾符出現(xiàn)在任何視圖修飾符之前放案。

  • HStackVStack檢查器不支持自定義布局指南姚建。(49710501)
    解決方法:使用 source editor作為自定義布局指南。

  • 屬性檢查器不允許指定靈活的幀吱殉。(51310989)

  • 第一次在畫(huà)布中進(jìn)入實(shí)時(shí)預(yù)覽模式可能需要幾秒鐘掸冤。(46505269)

  • 在文件之間切換時(shí),預(yù)覽可能會(huì)失敗或更新不正確友雳。(50841287)
    解決方法:在活動(dòng)文件的末尾添加新行稿湿,然后單擊出現(xiàn)的橫幅中的 Resume

  • 屬性檢查器在畫(huà)布關(guān)閉后仍然可見(jiàn)沥阱,停留在最后選定的項(xiàng)上缎罢,并且不起作用。(50958316)
    解決方法:重新打開(kāi)畫(huà)布或切換到其他文件考杉。

  • 預(yù)覽不適用于啟用了應(yīng)用沙箱的 macOS應(yīng)用程序策精。(51088926)

  • 對(duì)于符合 PreviewProvider 的私有和文件私有結(jié)構(gòu),預(yù)覽不會(huì)出現(xiàn)在畫(huà)布中崇棠。(47011316)
    解決方法:從符合要求的類(lèi)型中刪除私有或文件私有訪(fǎng)問(wèn)控制咽袜。

  • 第一次在運(yùn)行目標(biāo)選擇器中切換設(shè)備時(shí),預(yù)覽可能需要幾秒鐘更新枕稀。(47562171)

  • 在從 Scheme 彈出菜單切換使用運(yùn)行目標(biāo)的設(shè)備時(shí)询刹,預(yù)覽可能會(huì)暫時(shí)顯示不正確的設(shè)備 chrome谜嫉。(49496647)

  • 畫(huà)布不支持焦點(diǎn)。(50275735)

  • 在畫(huà)布中無(wú)法撤消凹联。(49651153)
    解決方法:將源編輯器放在焦點(diǎn)位置沐兰,并在那里執(zhí)行撤消操作。

解決問(wèn)題

  • 預(yù)覽檢查器使用系統(tǒng)字體呈現(xiàn)蔽挠。(52473187)

  • 修正了當(dāng)你試圖在你的 Mac 電腦上顯示多個(gè)設(shè)備的預(yù)覽時(shí)可能發(fā)生的崩潰住闯。

  • 修正了檢查包含 SwiftUI 視圖的視圖層次結(jié)構(gòu)時(shí)可能發(fā)生的崩潰。(52857304)

  • 修正了啟用或禁用實(shí)時(shí)預(yù)覽時(shí)可能發(fā)生的崩潰澳淑。(52083572)

  • 解決了 Apple Watch 預(yù)覽在黑色背景上顯示黑色文本的問(wèn)題比原。(51676439)

  • 預(yù)覽繼續(xù)工作后,更改文件名杠巡,而不需要切換到另一個(gè)文件和切換回來(lái)量窘。(51708183)

  • 預(yù)覽尊重導(dǎo)入周?chē)臈l件編譯塊。例如氢拥,您可以有條件地導(dǎo)入由 #if canImport(UIKit) 保護(hù)的 UIKit蚌铜。(51545182)

  • 應(yīng)用于類(lèi)型和方法的可用性屬性受到預(yù)覽的尊重。當(dāng)部署目標(biāo)不包括 SwiftUI (即部署目標(biāo)在 iOS 13嫩海、macOS 10.15厘线、watchOS 6或tvOS 13之前)時(shí),您現(xiàn)在可以使用 UIViewRepresentable 實(shí)例和 UIViewControllerRepresentable 實(shí)例來(lái)查看視圖和視圖控制器的預(yù)覽出革。為此,將適當(dāng)?shù)目捎眯詫傩蕴砑拥揭晥D可表示類(lèi)型和 PreviewProvider 一致性中渡讼,如 @available(ios13.0骂束, *) 。(51493428)

  • 命名顏色在屬性檢查器中是可編輯的成箫。(51287606)

  • 使用 withAnimation(::) 來(lái)更改根視圖中的狀態(tài)展箱,可以在實(shí)時(shí)預(yù)覽中正確顯示。(51164838)

  • 動(dòng)畫(huà)在live預(yù)覽中保持在它們的上下文中蹬昌,live預(yù)覽與設(shè)備上的預(yù)覽匹配混驰。(50708417)

  • 解決了在運(yùn)行目的地選擇器中選擇與Apple Watch配對(duì)的設(shè)備時(shí),watchOS預(yù)覽無(wú)法工作的問(wèn)題皂贩。(50861269)

  • 修正了在顏色檢查器中反復(fù)選擇指定顏色時(shí)可能發(fā)生的崩潰栖榨。(51304163)

  • 當(dāng)運(yùn)行在 Apple Watch Series 3上時(shí),使用SwiftUI構(gòu)建的應(yīng)用程序不再表現(xiàn)得像運(yùn)行在 Apple Watch Series 4 上一樣明刷。(50678109)

SwiftUI Tutorials

已知問(wèn)題

  • 如果使用 Xcode 11 beta 5 中包含的 sdk婴栽,使用 Path 結(jié)構(gòu)可能會(huì)導(dǎo)致應(yīng)用程序崩潰。因此辈末,您可能無(wú)法成功地遵循 Drawing Paths and Shapes 教程中的步驟愚争。(53523206)

Swift Packages

已知問(wèn)題

  • 沒(méi)有顯式的命令行選項(xiàng)來(lái)使用 xcodebuild 構(gòu)建 Swift包映皆。(45575820)
    解決方法:運(yùn)行xcodebuild -workspace。在包含 Package.swift 文件的目錄中轰枝。

  • 獨(dú)立軟件包不支持預(yù)覽捅彻。(51072409)

  • Swift包不支持在目標(biāo)中添加資源文件——比如圖像、故事板或音頻鞍陨。(SR-2866, 33389529)

  • Swift 包不支持處理本地化的字符串文件步淹。(48190792)

  • 在項(xiàng)目中移動(dòng)本地包將把它轉(zhuǎn)換為文件夾引用。(50320585)

  • 連接到 app 及其測(cè)試目標(biāo)的打包產(chǎn)品會(huì)產(chǎn)生重復(fù)的符號(hào)湾戳。(50348625)
    解決方法:只在應(yīng)用程序或測(cè)試目標(biāo)中鏈接包產(chǎn)品贤旷。

  • 為Swift包自動(dòng)生成的方案在包添加或刪除目標(biāo)時(shí)不會(huì)自動(dòng)更新。(50586754)
    解決方案:從包目錄中的 swiftpm/xcode/xcshareddata/xcscheme 目錄中刪除該方案砾脑,然后重新打開(kāi)包幼驶,自動(dòng)生成一個(gè)新方案。

  • 如果在方案中選擇的構(gòu)建配置未命名為 Debug或Release韧衣,則使用調(diào)試條件設(shè)置的 Swift 包構(gòu)建的目標(biāo)盅藻。(50696202)

  • 從工作區(qū)中刪除本地包引用將從工作區(qū)中的所有 Xcode 目標(biāo)中刪除其包產(chǎn)品,即使對(duì)該本地包的其他引用仍然保留在工作區(qū)中畅铭。(50706448)
    *解決方案8:將包產(chǎn)品引用添加回相關(guān)目標(biāo)氏淑。

  • 不支持預(yù)覽 Swift 包中的代碼,這些代碼沒(méi)有被活動(dòng)方案引用硕噩,也沒(méi)有被鏈接到應(yīng)用程序目標(biāo)假残,并且顯示錯(cuò)誤消息。(50909384)

  • 新創(chuàng)建的 Swift 包的測(cè)試目標(biāo)無(wú)法為 watchOS 構(gòu)建炉擅,因?yàn)?XCTestwatchOS 上不可用辉懒。(51054894)
    解決方法:用條件編譯語(yǔ)句包圍 watchOS 測(cè)試目標(biāo)中引用 XCTest 框架或其api的任何代碼。例如:

#if !os(watchOS)
// XCTest code
#endif

已解決的問(wèn)題

  • 在沒(méi)有搜索結(jié)果時(shí)谍失,在 Add package Dependency 工作表中搜索包存儲(chǔ)庫(kù)眶俩。(51223367)

  • 無(wú)論在package . Swift 清單文件中聲明的目標(biāo)的名稱(chēng)與該目標(biāo)的目錄名在大小寫(xiě)上不同,代碼補(bǔ)全都適用于 Swift包目標(biāo)快鱼。(49648458)

  • Swift包的c族 目標(biāo)中添加新文件不會(huì)創(chuàng)建擴(kuò)展名為 . Swift的文件颠印。(31395814)

  • 使用 unsafeFlags 構(gòu)建設(shè)置的Swift包不能作為依賴(lài)項(xiàng)使用。(50354068)

  • 當(dāng)使用 Swift包 管理器構(gòu)建 Swift包 測(cè)試時(shí)抹竹,XCTUnwrap API 是可用的线罕。(51115369)

  • 如果本地包覆蓋了項(xiàng)目中的遠(yuǎn)程包,并且本地包具有無(wú)法滿(mǎn)足的包依賴(lài)關(guān)系,那么 Xcode 將不再崩潰。(51183216)

Testing

新特性

  • 支持編寫(xiě)與SwiftUI視圖交互的XCTest UI測(cè)試棚辽。(35224680)

  • 測(cè)試計(jì)劃是一種管理哪些測(cè)試運(yùn)行以及這些測(cè)試如何運(yùn)行的新方法。方案可以引用多個(gè)測(cè)試計(jì)劃窿凤,并為自動(dòng)化定義一個(gè)默認(rèn)的測(cè)試計(jì)劃仅偎。一個(gè)新的測(cè)試計(jì)劃編輯器支持定義測(cè)試配置,它可以從計(jì)劃本身繼承共享設(shè)置雳殊。在Xcode中運(yùn)行測(cè)試現(xiàn)在可以跨所有測(cè)試配置運(yùn)行測(cè)試橘沥。更新源編輯器測(cè)試菱形以支持在單個(gè)配置中運(yùn)行測(cè)試,并更新測(cè)試導(dǎo)航器以允許選擇活動(dòng)測(cè)試計(jì)劃夯秃。更新測(cè)試報(bào)告以支持顯示測(cè)試計(jì)劃生成的結(jié)果座咆。(16138582)

  • XCTest使用新的度量(度量:options:block:)方法和相關(guān)方法增強(qiáng)了性能測(cè)試功能。metrics參數(shù)需要符合XCTMetric協(xié)議的對(duì)象列表仓洼。您可以實(shí)現(xiàn)自己的自定義度量介陶,或者使用 XCTClockMetric , XCTOSSignpostMetric , XCTCPUMetric , XCTMemoryMetric , 和 XCTStorageMetric。(49430032)下面顯示了一個(gè)示例性能測(cè)試測(cè)量的 CPU 和內(nèi)存影響排序列表:

func testExample() {
    // Measures the CPU and memory impact of sorting the input list.
    measure(metrics: [XCTCPUMetric(), XCTMemoryMetric()]) {
        sortedList = qsort(list: self.fiftyNumbersFrom0to100)
    }
}
  • 添加了一個(gè)斷言函數(shù) XCTUnwrap色建,用于 Swift測(cè)試哺呜。XCTUnwrap 斷言可選變量的值不是nil,如果斷言成功箕戳,則返回其值某残。這消除了將 XCTAssertNotNil(::file:line:) 與展開(kāi)值或處理測(cè)試其余部分的條件鏈接相結(jié)合的需要。例如:
func testFirstNameNotEmpty() throws {
    let forenames: [String] = customer.forenames

    let firstName =  try XCTUnwrap(forenames.first)
    XCTAssertFalse(firstName.isEmpty)
}

XCTUnwrap是一個(gè)拋出斷言陵吸,最好在拋出測(cè)試方法中使用玻墅,如上例所示。(30667432)

  • 除了原始報(bào)告和存檔文件外壮虫,xccov 現(xiàn)在還支持直接傳遞結(jié)果包澳厢。例如,要查看結(jié)果包中的覆蓋率報(bào)告囚似,可以調(diào)用 xccov赏酥,如下所示: xccov視圖——report /path/to/result_bundle.xcresult。(50500789)

*結(jié)果包的格式在 Xcode 11 中更改谆构。結(jié)果包是 Xcode 11 使用 xcresult 文件擴(kuò)展名生成的資產(chǎn),該擴(kuò)展名包含有關(guān)構(gòu)建框都、測(cè)試搬素、代碼覆蓋率等信息。使用 Xcode 10 或更早版本生成的任何 xcresult文件都不能被Xcode 11讀取魏保。通過(guò)傳遞 -resultBundlePath ./Example 可以生成一個(gè)結(jié)果包熬尺。將 xcresult 轉(zhuǎn)換為xcodebuild 調(diào)用和示例。然后可以在 Xcode中打開(kāi) xcresult 谓罗。Xcode 還在派生數(shù)據(jù)中創(chuàng)建結(jié)果包粱哼。當(dāng)前的結(jié)果包版本號(hào)是3,可以通過(guò)傳遞xcodebuild標(biāo)志-resultBundleVersion 3來(lái)指定檩咱。版本3是Xcode 11中的缺省版本揭措,但是仍然建議自動(dòng)化顯式地傳遞該標(biāo)志胯舷,以便將來(lái)任何可能成為缺省版本的版本都不會(huì)對(duì)現(xiàn)有工具造成問(wèn)題“砗可以使用xcresulttool檢查結(jié)果包桑嘶。可以使用xcrun xcresulttool get——format JSON——path ./Example導(dǎo)出結(jié)果包根對(duì)象的JSON表示躬充√佣ィ可以通過(guò)添加標(biāo)記——id REF. xcresulttool來(lái)導(dǎo)出xcresult和任何由JSON輸出中找到的引用標(biāo)識(shí)的嵌套對(duì)象。xcresulttool還使用xcrun xcresulttool formatDescription` 提供其格式的描述充甚。(41633595)

  • 如果一個(gè)測(cè)試在多個(gè)目標(biāo)上運(yùn)行以政,并且其中一些目標(biāo)(而不是其他目標(biāo))失敗,那么測(cè)試報(bào)告將顯示一個(gè)摘要伴找,描述測(cè)試失敗的目標(biāo)盈蛮,例如“在運(yùn)行 iOS 12.0iPad 目標(biāo)上失敗”。(49164968)

  • 當(dāng)通過(guò)源編輯器測(cè)試菱形運(yùn)行測(cè)試或測(cè)試類(lèi)時(shí)疆瑰,選擇單擊菱形將顯示一個(gè)彈出窗口眉反,該彈出窗口允許在活動(dòng)測(cè)試計(jì)劃中的特定配置下運(yùn)行測(cè)試(如果測(cè)試計(jì)劃具有多個(gè)配置)。(46348663)

  • 當(dāng)查看在多個(gè)目標(biāo)上運(yùn)行的測(cè)試的測(cè)試報(bào)告時(shí)(例如 Xcode 服務(wù)器集成穆役,或者 xcodebuild 調(diào)用使用多個(gè)目標(biāo)說(shuō)明符生成的結(jié)果包)寸五,現(xiàn)在可以根據(jù)目標(biāo)過(guò)濾顯示的結(jié)果。單擊范圍欄中的 devices 按鈕將顯示運(yùn)行測(cè)試的目標(biāo)列表耿币,包括僅隱藏或顯示感興趣的目標(biāo)的功能梳杏。此外,現(xiàn)在可以通過(guò)范圍欄中的“混合”按鈕過(guò)濾到僅在一個(gè)目標(biāo)上失敗但在另一個(gè)目標(biāo)上成功的測(cè)試淹接。(48981032)

  • xcodebuild 生成的結(jié)果包現(xiàn)在可以在Xcode中直接共享十性、雙擊和打開(kāi)。(38620469)

  • 介紹了對(duì) Mac Catalyst 應(yīng)用程序編寫(xiě)基于 xctest 測(cè)試的支持塑悼。(41530313)

  • 默認(rèn)情況下劲适,為新創(chuàng)建的測(cè)試計(jì)劃啟用了代碼覆蓋率。(48749597)

  • macOSUI 測(cè)試中厢蒜,鼠標(biāo)移動(dòng)(包括對(duì) hover API 的調(diào)用以及對(duì) click霞势、scroll 和其他 API 的調(diào)用)將在屏幕上逐步移動(dòng)光標(biāo),就像用戶(hù)在實(shí)際交互中所做的那樣斑鸦,而不是立即將光標(biāo)移動(dòng)到最終位置愕贡。這可能會(huì)給嚴(yán)重依賴(lài)鼠標(biāo)懸停行為的UI測(cè)試帶來(lái)問(wèn)題。(49430331)

  • 為測(cè)試計(jì)劃修改 .xctestrun 文件格式巷屿,以包含關(guān)于如何在計(jì)劃中執(zhí)行每個(gè)測(cè)試配置的信息固以。當(dāng)運(yùn)行 xcodebuild build-for-testing 計(jì)劃使用測(cè)試計(jì)劃,生成 .xctestrun 文件使用 FormatVersion 2 和有一個(gè)修改后的屬性列表結(jié)構(gòu)。.xctestrun文件生成的計(jì)劃,不要使用測(cè)試計(jì)劃繼續(xù)使用 FormatVersion 1和xcodebuild test-without-building 接受要么版本嘱巾。(46346053)

  • 測(cè)試計(jì)劃編輯器中的代碼覆蓋率設(shè)置不支持選擇用于收集代碼覆蓋率的單個(gè)目標(biāo)憨琳。如果測(cè)試計(jì)劃是通過(guò)將一個(gè)計(jì)劃轉(zhuǎn)換為使用測(cè)試計(jì)劃來(lái)創(chuàng)建的诫钓,并且該計(jì)劃在轉(zhuǎn)換時(shí)選擇了單獨(dú)的代碼覆蓋率目標(biāo),那么這些目標(biāo)將保留在最終的測(cè)試計(jì)劃中栽渴,但是不能在計(jì)劃中編輯尖坤。(50502861)

  • xcodebuild 增強(qiáng)了支持測(cè)試計(jì)劃的新選項(xiàng)。使用 new -showTestPlans 選項(xiàng)列出與方案關(guān)聯(lián)的所有測(cè)試計(jì)劃闲擦。使用新的 -testPlan <name> 選項(xiàng)指定與用于測(cè)試或構(gòu)建測(cè)試的方案相關(guān)聯(lián)的測(cè)試計(jì)劃慢味。如果沒(méi)有指定 -testPlan <name>xcodebuild 測(cè)試將使用方案的默認(rèn)測(cè)試計(jì)劃墅冷。(46346197)

  • Xcode 11 引入了在 Xcode 本地化目錄中自動(dòng)包含來(lái)自 XCTest 的屏幕截圖的選項(xiàng)纯路。在測(cè)試計(jì)劃或 scheme 編輯器中啟用本地化截圖,然后在導(dǎo)出本地化時(shí)檢查“包含截圖”寞忿。(28656175)

已知問(wèn)題

  • XCTUnwrap API只在主要測(cè)試包目標(biāo)中可用驰唬,而在其他庫(kù)或框架中不可用。(51117167)
    解決方案:將任何使用XCTUnwrap的庫(kù)代碼移動(dòng)到您的主測(cè)試包目標(biāo)腔彰,或者在受影響的目標(biāo)中手動(dòng)修改以下構(gòu)建設(shè)置:
SYSTEM_FRAMEWORK_SEARCH_PATHS = "$(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks"
LIBRARY_SEARCH_PATHS = "$(inherited) $(PLATFORM_DIR)/Developer/usr/lib"
SWIFT_INCLUDE_PATHS = "$(inherited) $(PLATFORM_DIR)/Developer/usr/lib"
  • 測(cè)試計(jì)劃編輯器允許啟用某些消毒劑和內(nèi)存診斷的組合叫编,這些組合是不兼容的,不應(yīng)該同時(shí)啟用霹抛。例如搓逾,Address Sanitizer 和保護(hù) Malloc ,或者Address SanitizerThread Sanitizer杯拐。(49739613)
    *解決方案 :不要將銷(xiāo)毀者和不兼容的內(nèi)存診斷設(shè)置組合在一起配置測(cè)試計(jì)劃霞篡。如果測(cè)試計(jì)劃的共享設(shè)置在測(cè)試配置中繼承了不兼容的設(shè)置,則手動(dòng)覆蓋該設(shè)置端逼,以禁用受影響的測(cè)試配置朗兵。

已解決的問(wèn)題

  • Xcode 中的結(jié)構(gòu)化構(gòu)建日志,以及獨(dú)立的結(jié)果包顶滩,再次顯示了每個(gè)步驟的持續(xù)時(shí)間余掖。(48126238)

  • 修正了一個(gè)阻止UI測(cè)試運(yùn)行器發(fā)出任意網(wǎng)絡(luò)請(qǐng)求的問(wèn)題。(52856418)

  • 修正了一個(gè)問(wèn)題礁鲁,該問(wèn)題阻止啟動(dòng)UI測(cè)試目標(biāo)盐欺,該目標(biāo)的名稱(chēng)包含一個(gè)連字符,后面直接跟一個(gè)數(shù)字救氯。(51857798)

  • 編輯引用與包含活動(dòng)方案的項(xiàng)目不同的項(xiàng)目中的測(cè)試目標(biāo)的測(cè)試計(jì)劃,將不再導(dǎo)致這些測(cè)試目標(biāo)被標(biāo)記為缺失歌憨。(50148373)

  • 您可以在包解析期間在包含 Swift包 的工作區(qū)中運(yùn)行測(cè)試着憨。(48719922)

  • 在正確啟用代碼覆蓋率的情況下運(yùn)行測(cè)試,將在模擬器和 Mac 上生成 iOS應(yīng)用程序 的覆蓋率報(bào)告务嫡。

  • 修正了 Mac上iPad 應(yīng)用程序 UI測(cè)試 的一個(gè)問(wèn)題甲抖,當(dāng)試圖與表格視圖單元內(nèi)的元素交互時(shí)漆改,可能會(huì)出現(xiàn)hit測(cè)試錯(cuò)誤而失敗。(50745246)

  • 一個(gè)方案的測(cè)試操作中的并行執(zhí)行復(fù)選框現(xiàn)在對(duì) Swift包 的測(cè)試目標(biāo)啟用了准谚。(47564543)

  • 解決了啟動(dòng)測(cè)試操作時(shí)檢查設(shè)備可用性時(shí)可能發(fā)生的崩潰挫剑。(51245770)

  • 解決了在模擬器中無(wú)法為 Mac Catalyst 應(yīng)用程序或 iOS應(yīng)用程序 生成代碼覆蓋率報(bào)告的問(wèn)題。(51241460)

  • XCUIElement 上的 exists 屬性現(xiàn)在在XCTest無(wú)法檢查應(yīng)用程序UI的情況下(例如柱衔,由于應(yīng)用程序的主線(xiàn)程沒(méi)有響應(yīng))產(chǎn)生測(cè)試失敗樊破,而不是在這些情況下返回false。(37359653)

  • 單元測(cè)試發(fā)現(xiàn)機(jī)制對(duì)于大型項(xiàng)目更有效唆铐。重新打開(kāi)項(xiàng)目后哲戚,測(cè)試導(dǎo)航器的填充速度更快。(32567980)

TestFlight

已知問(wèn)題

  • 運(yùn)行 tvOS 12.3或更早版本的TestFlight應(yīng)用程序 分發(fā)到 Apple TV 4K 上艾岂,適用于部署目標(biāo)在 tvOS 13之前的tvOS應(yīng)用程序顺少。(53017497)

這一篇 Xcode 11 Beta 5 翻譯 官方文檔 長(zhǎng)夜漫漫,獨(dú)自一人翻譯王浴。如有紕漏敬請(qǐng)?jiān)彛ㄍ瑫r(shí)還望指出脆炎,及時(shí)更改,以惠后人)氓辣。內(nèi)容更新角度是空前的秒裕,我相信正式版來(lái)臨必將震撼整個(gè)互聯(lián)網(wǎng)行業(yè)!通過(guò)現(xiàn)在 Xcode 11 出現(xiàn)之后的 SwiftUI + Combine 就知道筛婉!身處互聯(lián)這個(gè)利益的漩渦之中簇爆,我們唯一能做的就是與時(shí)俱進(jìn)

就問(wèn)此時(shí)此刻還有誰(shuí)?45度仰望天空爽撒,該死入蛆!我這無(wú)處安放的魅力!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末硕勿,一起剝皮案震驚了整個(gè)濱河市哨毁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌源武,老刑警劉巖扼褪,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異粱栖,居然都是意外死亡话浇,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)闹究,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)幔崖,“玉大人,你說(shuō)我怎么就攤上這事∩涂埽” “怎么了吉嫩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)嗅定。 經(jīng)常有香客問(wèn)我自娩,道長(zhǎng),這世上最難降的妖魔是什么渠退? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任忙迁,我火速辦了婚禮,結(jié)果婚禮上智什,老公的妹妹穿的比我還像新娘动漾。我一直安慰自己,他們只是感情好荠锭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布旱眯。 她就那樣靜靜地躺著,像睡著了一般证九。 火紅的嫁衣襯著肌膚如雪删豺。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天愧怜,我揣著相機(jī)與錄音呀页,去河邊找鬼。 笑死拥坛,一個(gè)胖子當(dāng)著我的面吹牛蓬蝶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播猜惋,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼丸氛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了著摔?” 一聲冷哼從身側(cè)響起缓窜,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谍咆,沒(méi)想到半個(gè)月后禾锤,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摹察,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年恩掷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片供嚎。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡黄娘,死狀恐怖旦签,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情寸宏,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布偿曙,位于F島的核電站氮凝,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏望忆。R本人自食惡果不足惜罩阵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望启摄。 院中可真熱鬧稿壁,春花似錦、人聲如沸歉备。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蕾羊。三九已至喧笔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間龟再,已是汗流浹背书闸。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留利凑,地道東北人浆劲。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像哀澈,于是被迫代替她去往敵國(guó)和親牌借。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 我喜歡上你時(shí)的內(nèi)心活動(dòng) 我是個(gè)不愛(ài)打傘的人…無(wú)論是晴是雨…并不是說(shuō)不喜歡傘日丹,可能更喜歡雨吧走哺,抑或是雨更喜歡我。 你...
    王布寥的喵喵醬閱讀 509評(píng)論 0 1
  • 2019-05-04 1.做活動(dòng)一整天 2019-05-03 1.做活動(dòng)一整天 2.準(zhǔn)備工作 全部完成
    快樂(lè)番茄閱讀 175評(píng)論 0 0