iOS之深入解析Xcode 13正式版發布的40個新特性
一、前言
Xcode 13 包括適用于 iOS 15、iPadOS 15、tvOS 15、watchOS 8 和 macOS Big Sur 11.3 的 SDK。
Xcode 13 Release Candidate 支持 iOS 9 及更高版本、tvOS 9 及更高版本以及 watchOS 2 及更高版本的設備上調試。
Xcode 13 需要運行 macOS 11.3 或更高版本的 Mac。
二、通用
Xcode 13 包括對 Swift 并發編程的原生支持、對 Xcode Cloud 持續集成和交付的支持、對 Git 拉取請求的集成支持、使用 DocC 在 Swift 框架中創建和查看文檔的能力、Vim 鍵綁定支持、Swift 包集合;
可以在命令行上使用 cktool 與 CloudKit 數據庫架構和記錄進行交互;
可以在命令行上使用 TextureConverter 將紋理壓縮為所有 Metal 壓縮紋理格式;
對于相同的內容,Xcode 13 的 XIP 存檔現在大約小 15%。
三、Clang 編譯器
為了支持新的 Swift 并發模型,clang 現在可以在您多次調用完成處理程序或執行路徑沒有完成處理程序調用時發出警告;
新的 -fobjc-constant-literals 標志允許您聲明全局常量文字,并對其在 Objective-C 代碼中支持的其他文字執行優化;
可以在 Xcode 的構建設置中配置 C++20 和 GNU++20 C++;
支持 C++20 似然屬性 [[likely]] 和 [[unlikely]]。
四、資產目錄
應用程序現在可以使用其資產目錄中的 iOS 應用程序圖標資產作為備用應用程序圖標;
允許選擇適用于所有平臺(包括 watchOS)的通用系統顏色。
五、構建系統
.xcconfig 文件現在支持使用 \ 跨多行拆分長列表;
HEADER_SEARCH_PATHS = $(SRCROOT)/include \ $(SRCROOT)/include/component1 \ $(SRCROOT)/include/component2
1
2
3
當使用 -xcconfig 命令行標志和 XCODE_XCCONFIG_FILE 環境變量將 xcconfig 文件傳遞給 xcodebuild 時,Xcode 會使用 New Build System 語義解析它們,該語義也支持條件參數;
通過將 SUPPORTED_PLATFORMS 構建設置設置為您支持的平臺列表并將 ALLOW_TARGET_PLATFORM_SPECIALIZATION 設置為 YES,將框架配置為在單個構建操作中為多個平臺構建;
可以在構建階段使用平臺過濾器,并為所有支持的平臺定位依賴項;
當發生構建失敗時,xcodebuild 現在會在構建日志末尾的摘要中顯示每個失敗命令的目標和項目名稱;
當腳本階段或自定義構建規則聲明不屬于構建輸入的一部分,且未聲明為構建中任何其他任務的輸出依賴項的輸入依賴項時,構建系統會發出警告;
構建選項表現在包括一個依賴順序選項,它取代了并行構建選項。
六、Core Data
使用 Core Data 模型編輯器的屬性檢查器中的 Allows Cloud Encryption 復選框來支持 CloudKit 加密記錄字段功能。
七、Core ML
Xcode 的 Core ML 模型編輯器現在支持新的 Core ML 包格式 .mlpackage,以及對其元數據和描述的直接編輯;
當部署目標是 macOS 12、iOS 15、tvOS 15 或 watchOS 8 時,Swift 為 Core ML 模型生成的接口現在包括通過強類型 MLShapedArray 屬性訪問多維輸入和輸出。
八、Create ML
兩個新模板:Hand Pose Classification 和 Hand Action Classification,可用于訓練模型來解釋手部姿勢;
Sound Classification 模板的新 Audio Feature Print 選項能夠以更高的準確度、更低的延遲和更小的模型尺寸更快地訓練聲音分類器模型。
九、調試
Xcode 的控制臺現在支持通過 Editor > Wrap Lines 菜單項切換換行;
要在一行上設置列斷點,請按住 Command 鍵并單擊表達式,然后從 Actions 菜單中選擇 Set Column Breakpoint;
如果調試器尚未解析斷點,則斷點的圖標將更改為占位符字形。
十、文檔
Xcode 可以根據 Swift 代碼中的注釋以及隨附的文章生成文檔;
當編寫項目文檔時,Code completion 會提供建議。它在源文件中編寫文檔注釋和在 .docc 目錄中編寫標記文件時提供建議;
Quick Help 現在使用 DocC 來呈現項目文檔并在文檔窗口中呈現指向項目文檔的鏈接。
十一、索引
Xcode 索引宏名稱,它們現在出現在 Open Quickly 中。
十二、Instruments
Instruments 中的調用樹視圖和擴展詳細信息視圖現在用“[inlined]”標記指示內聯函數;
通過詳細視圖導航欄更容易發現不同的視圖。現在可以通過快捷方式(Command-1、Command-2 等)訪問詳細視圖;
在命令行上使用 xctrace export 從包含Allocations, Leaks, 和 VM Tracker instruments 的跟蹤中導出表數據;
Instruments 擴展詳細信息視圖,現在在選擇關聯的詳細信息視圖行時顯示 os_log 和 os_signpost 消息和回溯;
Run Information 視圖現在出現在 Instruments 工具欄的活動視圖區域中;
CPU Counters 模板現在更加可靠并且具有更好的性能;
leaks 命令具有三種新模式:-referenceTree、-autoreleasePools和 -debug;
Network 模板現在包含一個用于捕獲和分析 HTTP 流量的新工具;
Instruments 時間線視圖現在使用基于 Metal 的渲染器以獲得更流暢的體驗,包括對時間線可用性的整體改進;
os_signpost 工具的記錄設置現在支持在記錄期間為 dynamicTracing 和 dynamicStackTracing 日志記錄類別指定 os_signpost 子系統;
新的 CPU Profiler 模板允許使用基于周期的性能監控中斷 (PMI) 分析 CPU 工作負載;
為了支持在 macOS Monterey 和 iOS 15 中生成的新 JSON 格式的崩潰日志,Instruments 包含了一個新的 CrashSymbolicator.py 腳本。
十三、Interface Builder
現在可以在大綱視圖中手動重新排序 Storyboard 場景;
macOS 的 Storyboard 和 XIB 使用 UINIbEncoder 進行編譯,以減少文件大小并提高運行時性能;
現在可以使用鍵盤選擇和導航大綱視圖組,例如 Constraints;
Interface Builder 有一個重新設計的畫布底部欄,帶有用于更改設備和布局的彈出窗口,以及用于更改設備外觀和方向的開關;
添加了對 UIButton 和 UIBarButtonItem 上的 changesSelectionAsPrimaryAction 屬性的支持;
支持從對象庫中創作和拖動 iOS Core Location Buttons;
添加了對用于靜態表格視圖中表格視圖單元格的新內容配置樣式的支持;
UITabBar 和 UIToolbar 檢查器現在支持配置 scrollEdgeAppearance;
Interface Builder 現在支持 UIButton.menu;
編輯啟動 storyboards 時,如果總圖像資源大小超過運行時閾值限制,Xcode 會發出設計時警告;
Watch Storyboards 的預覽窗格現在顯示畫布樣式的邊;
現在可以在 Interface Builder 場景中預覽以下輔助功能設置:動態類型、粗體文本、按鈕形狀、開/關標簽、增加對比度和降低透明度;
現在可以啟用 UILabel 的 showsExpansionTextWhenTruncated 屬性以在標簽被截斷時顯示工具提示擴展;
從文檔檢查器 > 模擬指標 > 場景大小自定義 Mac Catalyst 模擬場景大小;
通過屬性檢查器為使用 Mac Catalyst 構建的應用程序指定 UIControl 對象上的工具提示;
Interface Builder 現在支持 UIBarButtonItem.menu;
Interface Builder 現在支持新的 UITextContentType 屬性,包括:shippingTrackingNumber、flightNumber 和 dateTime;
iOS、iPadOS、macOS 和 tvOS 場景支持兩種新的 SF Symbol 渲染模式:分層和調色板;
Interface Builder 現在支持使用 UIButtonConfiguration 樣式創作按鈕,包括普通、灰色、著色和填充;
UINavigationBar、UITabBar 和 UIToolbar 檢查器現在支持配置 UIBarAppearance 實例;
UIButton 和 UISlider 支持為使用 Mac Catalyst 構建的應用程序選擇首選的行為風格;
在視圖控制器的大小檢查器中使用 Freeform 模擬度量的 Storyboard 場景現在可以直接在畫布中使用調整大小旋鈕調整大小;
NSButton 斜角類型在 macOS 12 中支持斜角顏色;
在適用于 macOS 12 的應用程序中,您可以使用屬性檢查器中的 localize 屬性在非系統 NSMenuItem 上配置本地化的等效鍵選項;
在 iOS 15 的應用程序中,可以使用屬性檢查器中的 localize 屬性在非系統 UI 菜單命令上配置本地化的等效鍵選項。
十四、鏈接
dyld 共享緩存已拆分為多個文件;
使用 macOS 12 或 iOS 15 或更高版本的部署目標構建的所有程序和 dylib 現在都使用鏈式修復格式;
統一 dyld2 和 dyld3。現在所有平臺上只有一個 dyld;
DriverKit 運行時現在有一個 dyld 共享緩存;
如果 DYLD_PRINT_SEARCHING 環境變量在啟動時設置為 1,則 dyld 會打印出它搜索的所有位置的路徑,以找到要加載的 dylib;
十五、本地化
Xcode 現在可以打開 Xcode 本地化目錄 (.xcloc) 以查看和編輯字符串和其他本地化資產的翻譯;
新的 Use Compiler to Extract Swift Strings 構建設置調用 Swift 編譯器從 Text()、String(localized:)、AttributedString(localized:) 初始值設定項、SwiftUI 的 LocalizedStringKey 和 Foundation 的 StringLocalizationKey 中準確地提取字符串插值和字符串文字;
添加了對 genstrings 和本地化導入和導出的支持,以提取在 Objective-C 代碼中使用新 NSLocalizedAttributedString 宏的字符串;
導出本地化時,多個本地化中的錯誤現在會聚合到一個警報對話框中;
在導出以進行本地化時,Xcode 會自動從 Info.plist 文件中提取 NSGKFriendListUsageDescription、NSLocationTemporaryUsageDescriptionDictionary 和 NSFallDetectionUsageDescription。
十六、Metal
Metal Debugger 現在支持 Selective Shader Debugging,它允許您限制大型 Compute 著色器的調試范圍,這導致更快的著色器調試器會話創建和迭代時間;
Metal Debugger 中的新捕獲控件可讓您精確控制來決定捕獲 Metal 工作負載的哪個部分,以及捕獲多個幀或范圍的選項;
Metal Debugger 現在支持導入 metallibsym 文件,這使您可以在應用程序中進行 Metal 著色器調試和分析,而無需在您的 metallib 中嵌入著色器源;
Metal Debugger 中的 Apple GPU 可以使用 GPU 時間線,使用此時間線可視化和檢查 Metal GPU 命令的并行執行以及一組精選的 GPU 計數器;
Metal 管道狀態對象現在在 Metal Debugger 中表示為資源,包括一個全新的 Metal Pipeline States 和 Metal Libraries 查看器,以及 Metal Debugger 的 Memory Viewer 中的 Metal Pipeline 狀態的 GPU 內存;
Instruments 的 Metal System Trace、Xcode 中的 Metal Debugger 以及全新的 Condition Inducer 中提供了新的一致 GPU 性能狀態分析工作流;
現在可以在 Metal System Trace 模板的記錄選項中覆蓋 GPU 性能狀態;
Metal Debugger 現在支持 Metal 光線追蹤以及新的高級加速結構查看器;
Metal 應用程序錄制設置現在特定于正在配置的設備。
十七、Organizer
Xcode 現在可以近乎實時地提供崩潰報告,數據保留時間更長;
Xcode 現在提供具有更多過濾功能和更多統計信息的崩潰報告;
現在可以通過 URL 共享崩潰報告;
Xcode 現在會顯示您的崩潰問題的 TestFlight 反饋,以便更好地了解問題所在;
現在可以根據任何特定的歷史應用程序版本、任何特定的歷史應用程序版本、產品類型(如 App Clip、應用程序擴展或主應用程序)以及 TestFlight 或 App Store 的發布歷史記錄過濾 Energy 報告列表;
Xcode Organizer 中的新 Scroll Hitch Goals 使分析應用程序版本的滾動體驗變得容易;
當查看應用的指標時,現在可以選擇查看應用的 App Clip 的指標;
Xcode Organizer 中新的 Terminations 指標顯示前景和背景終止,按原因細分;
Xcode Organizer 中的歷史數據現在可以為每個指標圖表顯示最多 16 個應用程序的最新版本,提供應用程序在更大時間窗口內的性能趨勢;
現在,當查看指標時,檢查器會顯示應用的發布日期信息;
Xcode Organizer 中 Disk Write Reports 的 Qualitative Insights 在檢查器中顯示稱為 Insights 的新信息;
現在 Xcode Organizer 中提供了 Smart Insights,可幫助您比以前更快地發現應用程序的功能和性能回歸。
十八、預覽
預覽現在支持在預覽視圖時檢查視圖的輔助功能元素。
十九、Project Navigator
當 Products 組位于默認位置時,項目導航器會隱藏它;
Move Focus to Editor 命令現在解釋 vim 方向移動鍵;
schema 編輯表不再有最大尺寸。
二十、簽名和分發
xcodebuild 現在支持使用 App Store Connect API 密鑰對 Apple Developer 網站進行身份驗證;
Xcode 現在提供在您第一次將新應用上傳到 App Store Connect 時創建應用記錄的功能;
將應用上傳到 App Store Connect 時,Xcode 中的分發助手會檢測您的應用是否具有有效的內部版本號 (CFBundleVersion);
Xcode 分發助手中的自動簽名現在支持云簽名;
Xcode 13 支持在 Mac 上為 TestFlight 配置應用程序;
現在可以在命令行上使用 notarytool 與 Apple 公證服務進行交互;
二十一、Source Control
現在,可以在登錄 GitHub 或 Bitbucket Server 帳戶后,使用 Xcode 的源代碼控制功能創建、審查和合并拉取請求;
現在可以從文檔選項卡欄中的任何編輯器(或編輯器拆分)中啟用代碼審查,默認情況下它會在內嵌演示中顯示比較。
二十二、源碼編輯器
Xcode 13 引入了 Vim 鍵綁定,在源代碼編輯器中模擬 vim 體驗并結合現有的編輯器功能;
在首選項中啟用 Vim 鍵綁定,使用文本編輯 > 編輯中的啟用 Vim 鍵綁定選項;
可以通過選擇 Edit > Copy Location 以 : 的形式將所選內容的當前位置復制到剪貼板;
在 Swift 中將占位符擴展為閉包時,代碼完成使用閉包的參數名稱而不是 <#Type#>;
Xcode 13 中的 Swift 語法高亮顯示是即時且無閃爍的,無論是在文件之間進行編輯還是導航;
即使您的代碼不完整或您的項目無法編譯,Swift Jump to Definition 現在也能提供更具彈性的體驗;
從 Swift 類、協議或方法聲明跳轉到定義還可以輕松導航到整個工作區中的所有子類、擴展和符合協議的類型;
Xcode 13 包括重新設計的 Swift 代碼完成功能,可最大限度地提高可靠性和性能,尤其是在項目源代碼中存在結構和邏輯不一致的情況下。
二十三、Static Analyzer
靜態分析器現在警告帶有副作用的斷言、無限循環和更多 C++11 std::move 誤用情況。
二十四、StoreKit
Xcode 中的 StoreKit 測試支持對使用 StoreKit 新的現代基于 Swift 的 API 構建的應用內購買進行全面測試。
二十五、Swift Packages
根包和基于分支的包依賴項現在可以在其目標設置中使用 unsafeFlags;
Swift 包現在可以聲明 Mac Catalyst 的部署目標,并且現在可以在構建條件中將 Mac Catalyst 指定為平臺;
當包聲明工具版本為 5.5 或更高版本時,macOS 的構建條件不再適用于 Mac Catalyst;
Swift Packages 現在支持 DriverKit 作為平臺;
當嘗試導入本地尚不可用的模塊時,Xcode 現在會建議添加的集合中的包;
現在可以在 Add Packages 表中添加精選的包集合;
單元測試現在可以直接測試可執行目標。
二十六、Swift 重構
新的重構有助于遷移到異步代碼。“Convert Call to Async Alternative”可用于將完成處理程序作為最后一個參數的調用,并重構它們以使用新的異步語言功能,假設該函數的異步等效項已經存在;
現在可以將新的 Add Async Wrapper 重構操作應用于具有完成處理程序的函數。
二十七、測試
Source Editor 和 Test Navigator 具有 Run Test 操作的兩個新變體,它們無需構建即可運行測試選擇;
現在可以使用 XCTPerformanceMeasurementPolarity 枚舉自定義如何將性能測試的自定義指標的測量值與設置的基線進行比較;
XCTest 現在能夠在受支持的 iOS 設備上的 UI 測試中合成指針交互;
Xcode 現在為在運行測試時崩潰的進程收集代碼覆蓋率數據;
性能 XCTests 現在支持測量應用程序啟動時的 CPU 使用率 (XCTCPUMetric)、磁盤寫入 (XCTStorageMetric) 和內存使用率 (XCTMemoryMetric);
xcodebuild 有一個新選項 -enablePerformanceTestsDiagnostics YES,用于收集性能 XCTest 的診斷信息;
現在在所有新創建的測試計劃中默認啟用測試超時,通過轉換方案創建的測試計劃需要手動啟用測試超時以保留現有行為;
用戶界面測試現在支持在 macOS 中使用 swipeUp、swipeDown、swipeLeft 和 swipeRight 系列方法;
性能測試現在支持在 macOS 中為動畫 os_signpost 間隔使用 XCTOSSignpostMetric 時收集故障指標;
XCTest 現在支持測試重復,且有三種測試重復模式;
新的透明屏幕覆蓋顯示自動化運行時的活動,并顯示描述如何停止自動化的文本;
在 macOS 中,或在具有密碼的設備上使用自動化時,必須從管理員帳戶運行自動化,并且必須進行身份驗證以授權自動化;
XCTest 現在支持從 App Tracking Transparency 框架重置受保護資源“用戶跟蹤”的授權狀態;
用 Swift 編寫的測試方法可能會被標記為異步或異步拋出,以允許調用和等待來自異步 API 的結果,作為 Swift 并發語言功能的一部分;
XCTestCase 現在包含一個 addTeardownBlock 方法重載,其閉包參數是 async throws;
xcodebuild 現在支持將某些環境變量傳遞給測試運行器進程;
XCTExpectFailure 函數現在包括用于自定義某些選項的 Swift 重載,而無需創建 XCTExpectedFailure.Options 實例;
XCTest 現在能夠在 watchOS UI 測試中合成 Digital Crown 旋轉;
XCTest 現在包括 setUp 和 tearDown 實例方法的異步拋出重載;
測試現在可以從任何線程調用 XCTestCase.expectation(description:),以及其他返回 XCTestExpectation 的 XCTestCase API,這消除了之前測試從主線程調用這些 API 的要求,并允許使用它們的現有測試采用異步,而無需 @MainActor。
二十八、App Store
StoreKit 2 引入了一個現代的基于 Swift 的 API,它利用了新的語言功能,如 Swift 并發性。使用這個 API 加載產品信息、在您的商店中顯示應用內購買、允許客戶進行購買、管理對內容和訂閱的訪問以及接收由 App Store 以 JSON Web 簽名 (JWS) 格式簽署的交易信息。
現在可以訪問 Product 原始 JSON 數據以進行自定義解碼。
Transaction 上現在提供了一個新的類型屬性 unfinished,該屬性返回應用程序仍需要向用戶提供內容的任何交易的簽名信息。
StoreKit 2 中提供了新的 onStorefrontChange(shouldContinuePurchase:)。您可以使用此購買選項來確定如果 App Store 店面在交易期間發生變化,交易是否繼續。如果未添加此選項,則默認為 true。
二十九、Audio Units
Audio Units 現在提供 Audio Unit host 可以在 iOS 中顯示的自定義視圖。
使用 provideUserInterface 屬性來確定 AUAudioUnit 是否具有用戶界面。
使用 requestViewController(completionHandler:) 方法獲取視圖的 AUViewController。
自定義視圖支持通過 tintColor 屬性設置視圖的色調顏色。這可用于將視圖的顏色設置為每個軌道的不同顏色或匹配應用程序的外觀。
三十、AVFoundation
iPadOS 應用程序現在可以繼續使用相機,同時呈現多個窗口并成為屏幕上唯一的應用程序。
三十一、Core Haptics
如果暫停的 CHHapticAdvancedPatternPlayer 恢復,則 CHHapticEventTypeAudioContinuous、CHHapticEventTypeHapticContinuous 和 CHHapticEventTypeAudioCustom 類型的事件現在恢復播放中間事件。
現在可以控制是否將 volume envelope 應用于類型資源。默認情況下,這些資源使用內置的音量 envelope 進行播放,該 envelope 在開始時將信號慢慢提升并在結尾慢慢降低,以避免產生咔嗒聲。
三十二、Create ML
Create ML 框架現已在 iOS 和 iPadOS 15 中可用,為構建利用設備 ML 的動態應用程序體驗開辟了新的機會。提供用于圖像分類、聲音分類、文本分類以及手部姿勢和手部動作分類的以任務為中心的 API,以及用于經典表格分類和回歸的 API。
基于 Audio Feature Print 的 MLSoundClassifier 算法可以更快地訓練聲音分類器模型,具有更高的準確性、更低的延遲和更小的模型尺寸。該算法現在是 Create ML 中 MLSoundClassifier 的默認選項。
三十三、iCloud
iCloud Private Relay 將作為公開測試版發布,以收集更多反饋并提高網站兼容性。
三十四、Foundation
Foundation 現在包括一個自動語法協議引擎。這可以簡化您的代碼并減少提供的本地化字符串的數量,因為它會自動對本地化字符串進行變形以說明復數、語法協議。它適用于英語和西班牙語。
格式化 API 現在可用,它們專注于格式并消除了創建、配置和緩存格式化程序實例的需要。每個 Formatter 類型都有一個格式化函數。這些函數具有允許配置和自定義樣式的參數。
JSONSerialization 和 JSONDecoder 現在支持從 JSON5 解碼。
SortDescriptor、KeyPathComparator 和 SortComparator API 提供了一個 Swift 接口來表達可歸檔的值排序規則。
三十四、Logging
來自 Swift 的 os_signpost(_:dso:log:name:signpostID:) 是所有平臺上框架操作系統的一部分
三十五、Networking
URLSession 發送的默認 Accept-Language 標頭具有更新的格式和多個區域設置的更正值。除了首選語言之外,如果當前系統語言與首選語言不同,標頭還包括作為后備的當前系統語言。此行為會影響鏈接到 macOS 12、iOS 15、tvOS 15 和 watchOS 8 SDK 的應用程序。
URLSession 現在包括異步函數。
三十六、隱私
要下載在應用隱私報告中顯示應用內容的文件,可以選擇設置 > 隱私 > 記錄應用活動。
三十七、Safari
底部標簽欄經過重新設計,顯示在頁面內容下方。還可以選擇在頂部顯示地址欄。
三十八、SKAdNetwork
如果開發者選擇接收 winning postback,設備現在可以將 winning postback 的副本發送給廣告應用的開發者。
三十九、TabularData
TabularData 是一個新的 Swift 框架,用于分析和操作表格數據。您可以使用 DataFrame 讀取 CSV 和 JSON 文件,以及連接、分組和聚合數據。
四十、UIKit
對于針對 iOS 15 beta SDK 編譯的應用程序,在文本視圖和文本字段中鍵入時,按鍵命令不再攔截文本輸入和文本編輯命令。例如,按下 Delete 鍵始終會刪除一個字符,并且不會觸發 Delete 鍵命令(如果存在)。要讓鍵盤命令攔截文本輸入,請將鍵盤命令上的 WantPriorityOverSystemBehavior 屬性設置為 true。這也需要鍵盤命令優先于焦點鍵盤導航命令,例如箭頭和 Tab 鍵按下。
在 iOS 14 和 iPadOS 14 及更早版本中,當 autocorrectionType 設置為 UITextAutocorrectionTypeNo 時,QuickType 欄將被禁用。對于與 iOS 15 和 iPadOS 15 或更高版本鏈接的應用程序,QuickType 欄已啟用并顯示拼寫檢查候選。如果新行為不適合您的用例,請將 spellCheckingType 設置為 UITextSpellCheckingTypeNo 以隱藏 QuickType 欄。
使用 iOS 15 beta SDK 進行編譯時,幾個與窗口相關的關鍵屬性、方法和通知會更改行為。
iOS Xcode
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。