XCode 14 có gì mới? (Phần 1)

by DaoNM2
483 views

Tổng quan

Xcode 14 bao gồm Swift 5.7 và SDK cho iOS 16, iPadOS 16, tvOS 16, watchOS 9 và macOS Monterey 12.3. Bản phát hành Xcode 14 hỗ trợ gỡ lỗi trên thiết bị trong iOS 11 trở lên, tvOS 11 trở lên và watchOS 4 trở lên. Xcode 14 yêu cầu máy Mac chạy macOS Monterey 12.5 trở lên.

Thay đổi chung

Các tính năng mới

  • Xcode 14 cho phép một target duy nhất hỗ trợ nhiều nền tảng và bao gồm có điều kiện các dependencies, code, resource và build settings cho các nền tảng cụ thể. (74664328)
  • Xcode 14 hỗ trợ phát triển trình điều khiển DriverKit cho iPadOS. (81117498)
  • Xcode 14 bao gồm một mẫu mặc định cho các ứng dụng watchOS kết hợp các mục tiêu Ứng dụng WatchKit và Tiện ích mở rộng ứng dụng WatchKit thành một mục tiêu Ứng dụng Watch duy nhất, đơn giản hóa mã, nội dung và quản lý bản địa hóa. Bạn có thể triển khai các ứng dụng watchOS một mục tiêu cho watchOS 7 trở lên. (83222217)

Vấn đề đã giải quyết

  • Đã sửa lỗi: Khi storyboard đang mở và nội dung watchOS hoặc tvOS bị xóa khỏi Cài đặt Xcode, storyboard sẽ không đóng. (87471381)

Vấn đề đã biết

  • Nếu một file Package.swift được thêm vào thư mục chứa trong khi thư mục đó đang mở trong Xcode, Package sẽ không được nhận dạng. (85075018)
    Cách giải quyết : Thoát và chạy lại Xcode.
  • CGFLOAT_EPSILON không còn luôn là Float trên watchOS và nó có thể gây ra sự cố biên dịch. (88698530)
    Cách giải quyết: Chuyển đổi nó trước sang CGFloat bằng cách sử dụng trình khởi tạo CGFloat(CGFLOAT_EPSILON). Hiện được hỗ trợ trên cả nền tảng 32 và 64 bit
  • Xcode 14 có thể không tìm thấy các công cụ bằng cách sử dụng xcodebuild -find(được sử dụng bởi xcrun và các trình bao bọc /usr/bin chẳng hạn như /usr/bin/clang) nếu nội dung khởi chạy lần đầu chưa được cài đặt. (98008921)
    Cách giải quyết : Chạy hoặc khởi chạy Xcode.app trước .xcodebuild -runFirstLaunch
  • Xcode đôi khi có thể coi thời gian chạy sim của nền tảng bị thiếu khi thực hiện Đăng xuất và Đăng nhập của người dùng. (99200503)
    Cách giải quyết : Khởi động lại máy.
  • Khi chạy trong macOS 13 beta, mã AppIntents có thể không xây dựng được bằng Xcode 14. (99661742) (FB11470314)
    Cách giải quyết : Tạo mã AppIntents với Xcode 14 beta 6 hoặc trên máy Mac chạy macOS Monterey 12 với Xcode 14.
  • Không thể sử dụng Xcode 14 với iOS 15.7 để phát triển. (99847608)
    Cách giải quyết: Sử dụng Xcode 13.4.1 với iOS 15.7.

Trình biên dịch Apple Clang

Các tính năng mới

  • Các dự án C++ mới mà bạn tạo trong Xcode sử dụng phương ngữ ngôn ngữ mặc định là C++20. (93456065)
  • Một số C++20 và C++2b papers đã được triển khai:
    • Các C++20 papers đã triển khai:
      • P0692R1 – Kiểm tra quyền truy cập vào chuyên môn
      • P0388R4 – Cho phép chuyển đổi thành mảng có giới hạn không xác định
    • Các C++2b papers đã được triển khai:
      • P1938R3 –if consteval
      • P1401R5 – Thu hẹp chuyển đổi theo ngữ cảnh thành bool
      • P1949R7 – Cú pháp mã định danh C++ sử dụng Unicode Standard Annex 31
      • P2360R0 – Mở rộng init để cho phép khai báo bí danh (93898598)

Vấn đề đã giải quyết

  • Đã sửa lỗi: Xcode không cung cấp tính năng làm nổi bật ngữ nghĩa và hỗ trợ chuyển sang định nghĩa cho các khai báo khái niệm C++20 và các mệnh đề yêu cầu trong các mẫu. (93046529)

Tính năng không còn khả dụng trên XCode14

  • Bắt đầu với Xcode 14, bitcode không còn cần thiết cho các ứng dụng watchOS và tvOS và App Store không còn chấp nhận gửi bitcode từ Xcode 14. Xcode không còn xây dựng mã bit theo mặc định và tạo thông báo cảnh báo nếu một dự án kích hoạt rõ ràng mã bit: “Việc xây dựng bằng mã bit không được dùng nữa. Vui lòng cập nhật cài đặt dự án và/hoặc mục tiêu của bạn để tắt mã bit.” Khả năng xây dựng bằng mã bit sẽ bị xóa trong bản phát hành Xcode trong tương lai. IPA có chứa mã bit sẽ bị tước mã bit trước khi được gửi tới App Store. Chỉ có thể tải xuống các biểu tượng gỡ lỗi từ App Store Connect / TestFlight cho các lần gửi mã bit hiện có và không còn khả dụng cho các lần gửi được thực hiện bằng Xcode 14. (86118779)

Danh mục tài sản

Các tính năng mới

  • Đơn giản hóa biểu tượng ứng dụng bằng một hình ảnh 1024×1024 được tự động thay đổi kích thước cho mục tiêu của nó. Chọn tùy chọn Single Size trong tab Attributes inspector của mục app icon. Bạn vẫn có thể ghi đè các kích thước riêng lẻ bằng tùy chọn All Sizes. (18475136) (FB5503050)
  • Giờ đây, bạn có thể dán trực tiếp hình ảnh đã sao chép từ Finder vào asset catalog outline. (58980721)
  • Giờ đây, bạn có thể nhấp đúp vào một vị trí hình ảnh để hiển thị bảng điều khiển tệp đang mở và chọn nội dung thay thế. (81365822)
  • Bạn có thể chỉ định chế độ kết xuất mặc định cho các ký hiệu tùy chỉnh trong Asset Catalog. Đặt thuộc tính Kết xuất dưới dạng thành tự động, mẫu, nhiều màu hoặc phân cấp. Sau đó, hệ thống sẽ sử dụng chế độ kết xuất mặc định cho biểu tượng, trừ khi bạn ghi đè rõ ràng chế độ đó. Để biết thêm thông tin về biểu tượng tùy chỉnh, hãy xem Tạo hình ảnh biểu tượng tùy chỉnh cho ứng dụng của bạn . (84513859)

Vấn đề đã giải quyết

  • Chế độ “Tất cả kích thước” cho các biểu tượng ứng dụng đã được làm linh hoạt hơn và bao gồm một số kích thước bổ sung chưa được sử dụng trước đây. Chế độ “Tất cả kích thước” không yêu cầu phải lấp đầy tất cả các vị trí, kích thước chỉ có thể được cung cấp khi cần. Các biểu tượng ứng dụng được tạo bằng Xcode 13 trở về trước có thể được chuyển đổi từ chế độ “Tất cả kích thước (Xcode 13)” thành “Tất cả các kích thước” hoặc “Một kích thước”. (93682080)

Vấn đề đã biết

  • Các ứng dụng sử dụng biểu tượng ứng dụng có kích thước đơn lẻ có thể không xác thực được App Store nếu mục tiêu triển khai cũ hơn iOS 12 hoặc watchOS 4. (98471456)

Build System

Các tính năng mới

  • Xcode cung cấp một trình chỉnh sửa trợ lý mới cho nhật ký bản dựng tập trung vào tính song song để giúp xác định các vấn đề về hiệu suất bản dựng. Hình ảnh trực quan này hiển thị các sự kiện dưới dạng lưới các khối màu trong đó trục dọc biểu thị mức độ song song và trục ngang biểu thị thời gian. (47858322)
  • Xcode 14 hiện có thể biên dịch các mục tiêu song song với các phụ thuộc mục tiêu Swift của chúng. (57116972)
  • Trình điều khiển Swift, thành phần phối hợp các yêu cầu giao diện người dùng Swift, hiện được tích hợp vào hệ thống xây dựng của Xcode, cho phép phụ thuộc chi tiết hơn vào các tác vụ hệ thống xây dựng khác và lập lịch trình rõ ràng. (72440175)
  • Trong Build Phases, giờ đây bạn có thể chỉnh sửa hàng loạt tệp trong chế độ xem bảng nhiều lựa chọn. Khi bạn chỉnh sửa cột bộ lọc nền tảng của bảng đó, hệ thống sẽ áp dụng các thay đổi cho tất cả các tệp trong lựa chọn. (80683128) (FB9340886)
  • Các mục tiêu thư viện động và khung chỉ dành cho Swift có thể chọn tham gia tối ưu hóa hệ thống bản dựng mới bằng cách sử dụng cài đặt bản dựng EAGER_LINKING. Khi bạn bật tính năng này, Xcode sẽ phát ra các thành phần tạo tác bổ sung trong quá trình biên dịch Swift, cho phép Xcode bỏ chặn liên kết của các mục tiêu xuôi dòng trước đó, tăng tính song song trong các bản dựng. (82396635)
  • Hệ thống xây dựng chạy song song các tác vụ từ các giai đoạn xây dựng khác nhau khi các yếu tố phụ thuộc đầu vào và đầu ra không thực thi thứ tự của chúng. Bạn có thể chọn tham gia hành vi mới này cho các giai đoạn xây dựng tập lệnh chạy bằng cách sử dụng cài đặt bản dựng FUSE_BUILD_SCRIPT_PHASES. (82396977)
  • App Store hiện hỗ trợ làm mỏng ứng dụng cho các trình đổ bóng Metal được biên dịch sẵn. (82902821)
  • Các bản dựng Xcode cho thiết bị watchOS hiện bao gồm kiến ​​trúc arm64 theo mặc định. (83319300)
  • Đã thêm toán tử thay thế :relativeto=macro mới cho cài đặt bản dựng mà bạn có thể sử dụng để tính toán đường dẫn tương đối từ đường dẫn này sang đường dẫn khác; 
    Ví dụ: $(INSTALL_PATH:relativeto=/usr/lib)
    Chỗ INSTALL_PATH là “ /usr/bin..” và đánh giá là “../lib ”. Bạn có thể sử dụng quy tắc này trong quy tắc xây dựng để sao chép một loạt tham chiếu tệp trong khi vẫn duy trì phân cấp thư mục của chúng trong thư mục đích hoặc để tính toán mục tiêu dự kiến rpaths ​​bằng cách sử dụng đường dẫn tương đối giữa đường dẫn cài đặt của chính nó và đường dẫn cài đặt đã biết của các thành phần phụ thuộc. (88293015)
  • Xcode hiện cung cấp các cài đặt RECOMMENDED_MACOSX_DEPLOYMENT_TARGET, RECOMMENDED_IPHONEOS_DEPLOYMENT_TARGET, RECOMMENDED_TVOS_DEPLOYMENT_TARGET, RECOMMENDED_WATCHOS_DEPLOYMENT_TARGET, RECOMMENDED_DRIVERKIT_DEPLOYMENT_TARGET và xây dựng cho biết các phiên bản triển khai tối thiểu được đề xuất cho từng nền tảng Xcode được hỗ trợ. (90464341)
  • Giờ đây, bạn có thể bật Sandbox cho các giai đoạn xây dựng tập lệnh shell bằng cách sử dụng ENABLE_USER_SCRIPT_SANDBOXING trong build settings. Sandbox chặn quyền truy cập vào các tệp bên trong gốc nguồn của dự án cũng như thư mục Dữ liệu được tạo trừ khi bạn liệt kê các tệp đó dưới dạng đầu vào hoặc đầu ra. Khi được bật, quá trình xây dựng không thành công do vi phạm Sandbox nếu một giai đoạn tập lệnh cố gắng đọc hoặc ghi vào một phần phụ thuộc không được khai báo, ngăn chặn các quá trình xây dựng không chính xác. (90506067)

Vấn đề đã giải quyết

  • Đã khắc phục sự cố trong đó nhiều dự án Xcode tham chiếu cùng một xcconfig (do đó bao gồm một xcconfig khác) đã tính toán không chính xác cùng một cài đặt bản dựng trên cả hai dự án. (84319288) (FB9707003)
  • Đã sửa lỗi: đích chạy của thiết bị watchOS không còn xuất hiện hai lần trong menu đích chạy. (85635959)
  • Cải thiện tốc độ tải của không gian làm việc lớn có nhiều mục tiêu chia sẻ .xcconfigtệp. (85985712)
  • Đã sửa lỗi: Khi bạn lưu trữ ứng dụng watchOS với kiến ​​trúc arm64e được bật, ứng dụng đó không thể xây dựng. (93550623)

Vấn đề đã biết

  • Báo cáo sự cố từ các ứng dụng Mac Catalyst không được ký hiệu đầy đủ trong Xcode Organizer. (94820955)

Tính năng bị loại bỏ

  • Vì mã bit hiện không được dùng nữa nên các bản dựng cho iOS, tvOS và watchOS không còn bao gồm mã bit theo mặc định. (87590506)
  • Đã thêm cài đặt bản dựng mới, SWIFT_TOOLS_DIR, thay thế SWIFT_EXEC làm cơ chế được đề xuất để sử dụng tệp thực thi giao diện người dùng nhanh tùy chỉnh. SWIFT_TOOLS_DIR phải được đặt thành đường dẫn của thư mục chứa giao diện người dùng nhanh và các công cụ liên quan. Lưu ý rằng vì trình điều khiển Swift hiện được tích hợp trong hệ thống xây dựng Xcode, không thể sử dụng SWIFT_TOOLS_DIR và SWIFT_EXEC để chỉ định nhị phân trình điều khiển tùy chỉnh trừ khi SWIFT_USE_INTEGRATED_DRIVER được đặt thành NO. (88967344)
  • Hệ thống xây dựng cũ đã bị xóa. (90801041)
  • Việc xây dựng các dự án iOS với các mục tiêu triển khai cho kiến ​​trúc armv7, armv7s và i386 không còn được hỗ trợ nữa. (92831716)
  • Bản phát hành xây dựng để triển khai cho hệ điều hành cũ hơn macOS 10.13, iOS 11, tvOS 11 và watchOS 4 không còn được hỗ trợ. (92834476)
  • Khi xóa một điều kiện khỏi trình chỉnh sửa biến thể, giá trị sẽ không được duy trì. (98149034)
    Giải pháp thay thế: Sử dụng Trình chỉnh sửa cài đặt bản dựng để xóa điều kiện.

Debugging

Các tính năng mới

  • Trình gỡ lỗi biểu đồ bộ nhớ hiện hiển thị tất cả các tham chiếu đến và đi trong biểu đồ bộ nhớ. Bạn có thể điều chỉnh tập hợp các nút hiển thị trong cửa sổ bật lên mới. (69454709)
  • LLDB hiện hiển thị các cập nhật tiến độ trong Xcode và dòng lệnh cho các hoạt động chạy dài. (73511008)
  • Giờ đây, bạn có thể gọi tập lệnh nhật ký sự cố của LLDB bằng xcrun crashlog <path/to/crash>. (79991815)
  • Trình kiểm tra hiệu suất luồng hiển thị các vấn đề về hiệu suất thời gian chạy trong Trình điều hướng sự cố và trình chỉnh sửa nguồn trong khi gỡ lỗi ứng dụng. Chọn hộp kiểm Trình kiểm tra hiệu suất luồng trong Lược đồ chạy của mục tiêu ứng dụng của bạn để bật tính năng này. (80048810)
  • Giờ đây, bạn có thể mở một .xcresult cho một hành động scheme khởi chạy. (88932007)
  • Xcode hiện hiển thị nhật ký khởi chạy mới trong Trình điều hướng báo cáo. Nhật ký cho biết các hành động mà Xcode thực hiện để cài đặt, khởi chạy và gỡ lỗi. (90859910)

Vấn đề đã giải quyết

  • Cải thiện hiệu suất khi gỡ lỗi chương trình Swift trên thiết bị iOS. Thay vì sao chép siêu dữ liệu phản ánh từ thiết bị iOS, giờ đây Xcode có thể đọc siêu dữ liệu từ đĩa. (73179144)
  • Xcode hiện nhóm các mục nhật ký cho cùng một hành động sơ đồ khởi chạy trong trình điều hướng Báo cáo. (87216988)
  • Đã sửa lỗi: Thay vào đó, bước vào chức năng không đồng bộ Swift trong LLDB sẽ hoàn thành chức năng hiện tại. (88142757)

Vấn đề đã biết

  • Không thể đính kèm trình gỡ lỗi vào Tiện ích mở rộng tiện ích màn hình khóa. (93941779)
    Giải pháp thay thế: Chỉnh sửa Extension scheme – trong tab Run action, tab Argument, hãy đặt biến môi trường ‘_XCWidgetKind’ thành một trong các tên class/struct của bạn khi triển khai widget.

Tài liệu

Các tính năng mới

  • Swift-DocC trong Xcode hiện hỗ trợ viết và xây dựng tài liệu cho API Objective-C và C. (58760015)
  • Các trang web tài liệu Swift-DocC mà Xcode 14 tạo ra bao gồm một thanh bên điều hướng mới để khám phá và lọc tài liệu. (89031049)
  • Theo mặc định, tài liệu Swift-DocC mà Xcode 14 tạo ra hiện tương thích với hầu hết các dịch vụ lưu trữ được quản lý, bao gồm Trang GitHub. (91173450)

Vấn đề đã giải quyết

  • Đã sửa lỗi: Swift-DocC đưa ra chẩn đoán không chính xác về các lệnh không được hỗ trợ trong tài liệu nguồn biểu tượng khi xây dựng tài liệu cho các dự án Objective-C bao gồm các lệnh Doxygen. (90953916)
  • Đã sửa lỗi: Tài liệu Mục tiêu-C cho các API đa ngôn ngữ hiển thị các mối quan hệ ký hiệu Swift thay vì các mối quan hệ Mục tiêu-C. (91627374)
  • Đã sửa lỗi: Swift-DocC đưa ra chẩn đoán không chính xác về các liên kết ký hiệu không thể giải quyết đối với tài liệu kế thừa từ các ký hiệu trong các mô-đun khác. (92185538)
  • Đã sửa lỗi : Không thể xây dựng tài liệu cho các loại phù hợp với ChartContent protocol khi conform Swift Charts. (93610106)

Instruments

Các tính năng mới

  • Các hàm tổng hợp hoạt động trên các khoảng thời gian hiện tính toán chính xác hơn kết quả của chúng khi bộ lọc thời gian đang hoạt động, chỉ dựa trên phần của khoảng thời gian tổng thể giao với bộ lọc thời gian hiện tại. (32330648)
  • Bộ lọc chi tiết hiện cho phép áp dụng các bộ lọc cho một cột cụ thể khi xem Chế độ xem danh sách. Có thể thêm các bộ lọc đã nhập này bằng cách sử dụng menu ngữ cảnh trên các giá trị được hiển thị hoặc bằng cách nhập mã thông báo rồi chọn loại mã thông báo. (56080914)
  • Các rãnh Chủ đề chính hiện được sắp xếp đầu tiên khi hiển thị các rãnh trong dòng thời gian của Nhạc cụ. (59876638)
  • Công cụ có công cụ Theo dõi treo mới hiển thị khi chuỗi chính của ứng dụng không thể xử lý các sự kiện đến trong một khoảng thời gian dài, có khả năng khiến giao diện người dùng bị treo. Ngoài ra, các công cụ Time Profiler và CPU Profiler cũng hiển thị khả năng bị treo. (65694830)
  • Biểu đồ biểu đồ trong Công cụ hiện hiển thị thời lượng của phạm vi thời gian được sử dụng để tổng hợp dữ liệu trong chú giải công cụ di chuột qua. (65684291)
  • Chế độ xem danh sách của công cụ hiện hiển thị nhãn trạng thái ở dưới cùng, báo cáo về số lượng hàng hiện có và được chọn trong chế độ xem hiện tại. (82652407)
  • Mẫu Core ML mới có sẵn trong Công cụ. Mẫu này bao gồm các công cụ Core ML và Neural Engine mới cùng với các công cụ GPU và Time Profiler. Sử dụng mẫu này để giúp lập hồ sơ sử dụng Core ML và hiểu cách các mô hình của bạn đang chạy trên thiết bị. Việc kết hợp thông tin từ Core ML, Công cụ thần kinh và Công cụ GPU có thể giúp theo dõi những hoạt động nào được thực thi trên phần cứng được tăng tốc. Dữ liệu thời gian tổng hợp có sẵn cho từng sự kiện, mô hình và mô hình con. (83123510)
  • Bạn có thể mở một menu ngữ cảnh mới bằng các khoảng thời gian bấm Điều khiển trong dòng thời gian. Menu cung cấp các hành động để đặt bộ lọc thời gian theo khoảng thời gian đã chọn hoặc hiển thị thông tin tương ứng trong khu vực chi tiết. (86728567)
  • Chế độ xem Thông tin Chạy của Dụng cụ hiện bao gồm kiến ​​trúc của tệp nhị phân đích khi ghi một dấu vết quy trình. (89733709)
  • Instruments có một công cụ Runloop mới hiển thị việc sử dụng runloop và các lần lặp lại riêng lẻ, đồng thời phân biệt trực quan các chế độ ngủ của runloop và các khoảng thời gian bận cho tất cả các runloop trong một quy trình. (89746568)
  • Các giá trị trong chế độ xem chi tiết tổng hợp hoặc danh sách giờ đây sẽ được tô sáng khi bạn trỏ con trỏ qua chúng và bạn có thể giữ Control khi bấm vào một giá trị để xem menu ngữ cảnh. Menu này hiển thị các hành động để sao chép giá trị, đặt bộ lọc chi tiết và thêm hoặc ghim rãnh nếu giá trị có đại diện cho rãnh. (90817779)
  • Các công cụ hiện bao gồm một mẫu Đồng thời Swift mới để theo dõi cách sử dụng và hành vi của các nguyên mẫu đồng thời của Swift. Mẫu chứa:
    • Một công cụ Swift Tasks mới hiển thị các trạng thái nhiệm vụ theo thời gian, tóm tắt các trạng thái nhiệm vụ, cung cấp tường thuật chi tiết về nhiệm vụ, minh họa các mối quan hệ đồng thời có cấu trúc và xây dựng cây cuộc gọi của các ngăn xếp công việc tạo nhiệm vụ.
    • Một công cụ Swift Actors mới để theo dõi hành vi tác vụ giữa các tác nhân hiển thị hàng đợi tác vụ cho từng tác nhân và giúp chẩn đoán các sự cố với mã và tranh chấp được cô lập bởi tác nhân.Các công cụ này yêu cầu thiết bị trong thời gian chạy đồng thời Swift lần đầu tiên có sẵn trong macOS 13, iOS 16, tvOS 16 và watchOS 9 trở lên. (69852855)
  • <code>heapleaks, and Instruments’ leaks tool hiện báo cáo ít tham chiếu sai hơn bắt nguồn từ phân bổ liên quan đến đồng thời Swift và xác định đây là phân bổ Swift AsyncTask. (72907112)
  • leaks --atExit -- <command> giờ đây sẽ tự động đặt trong môi trường MallocStackLogging=lite cho lệnh đã chỉ định để Công cụ có thể hiển thị dấu vết ngược ngăn xếp cho phân bổ bị rò rỉ. Để sử dụng một cài đặt khác của biến môi trường đó (chẳng hạn như CÓ hoặc KHÔNG), hãy đặt biến môi trường trước khi chạy leaks. (73779272)
  • xctrace bây giờ sẽ gửi thông báo Darwin khi bắt đầu theo dõi, thông báo này nên được ưu tiên thay vì đọc đầu ra tiêu chuẩn của lệnh. Để sử dụng nó, hãy chỉ định notify-tracing-started tùy chọn có tên thông báo mong muốn và sử dụng notify_register_dispatch để nhận thông báo không đồng bộ trong tập lệnh của bạn. (75745933)
  • Cải thiện hiệu suất phân tích của mẫu Dấu vết Hệ thống. Các công cụ hiện hiển thị các bản ghi cho người dùng nhanh hơn; tuy nhiên, khi theo dõi một quy trình đơn lẻ, bạn không thể thấy trạng thái luồng cho các quy trình khác. Thay vào đó, để xem trạng thái của các quy trình khác, hãy theo dõi “Tất cả các quy trình”. (79904471)
  • Đối với các quy trình đang chạy MallocStackLogging được bật, heap, leaks và trình gỡ rối bộ nhớ Xcode hiển thị các tên loại dành cho phân bổ không đối tượng ở dạng malloc in <function name> trong đó “function name” là khung ngăn xếp không phân bổ đầu tiên. Tính năng này giúp xác định rõ hơn mục đích của bộ nhớ phi đối tượng. (85598783)
  • heap -addresses=all hiện hiển thị các mô tả của các đối tượng CFData có chứa các .plisttệp nhị phân theo cách dễ đọc hơn đối với con người. (88466642)

Vấn đề đã giải quyết

  • heap , leaks, và stringdups bây giờ bao gồm nội dung của một số loại chuỗi Swift được cấp phát theo đống trong phần mô tả về cấp phát của các chuỗi đó. (14902403)
  • Công cụ Hiệu suất GCD hiện diễn giải chính xác các sự kiện có mã “7” và “9”. (69721960)
  • Thiết kế trình xem nguồn trong Công cụ bao gồm các cải tiến để hiển thị dữ liệu hiệu suất tốt hơn:
    • Có một chế độ Xen kẽ mới để xem mã nguồn và tháo gỡ liên kết với nhau, giúp việc liên kết các hướng dẫn được tạo cho từng dòng mã nguồn trở nên dễ dàng hơn.
    • Trình xem nguồn hiện hiển thị các giá trị được lấy mẫu được gán cho một dòng mã hoặc phân tách trong một cột riêng biệt thay vì dưới dạng chú thích dòng.
    • Trình xem nguồn hiện hiển thị Bộ đếm CPU, sự kiện PMC và công thức động được định cấu hình trong các tùy chọn ghi bên cạnh nguồn và tháo gỡ. (80232392)
  • Đã khắc phục sự cố trong đó Chế độ xem nguồn trong Công cụ đôi khi không hiển thị chú thích hiệu suất khi được mở từ chế độ xem Sơ đồ cuộc gọi. (80501587)
  • Khi sử dụng Instruments Source Viewer ở chế độ xem tách, việc chọn tháo gỡ bây giờ cũng chọn nguồn tương ứng ở bên trái. (82642041)
  • Đã khắc phục sự cố xctrace export đôi khi xuất giá trị chuỗi UTF-16 thay vì UTF-8, dẫn đến lỗi kết xuất trong Terminal. (87594987)
  • Đã khắc phục sự cố trong đó một số sự kiện đã ghi sau khi khởi động lại sẽ bị mất khi nhập kho lưu trữ nhật ký trong quá trình khởi động lại thiết bị. (89003393)
  • Đã sửa lỗi xctrace list devices đôi khi không bao gồm tất cả các thiết bị được kết nối vật lý trong đầu ra của nó. (89142775) (FB9913864)
  • <code>heapleaks, and Instruments hiện nhận dạng chính xác bảng phụ của các đối tượng Swift đã hủy phân bổ dưới dạng bảng phụ. (89459805)
  • Đã khắc phục sự cố trong đó Công cụ không cho phép ghi các thiết bị tvOS được kết nối qua WiFi. (89592418) (FB9935783)
  • Đã khắc phục sự cố trong đó bản dựng gói Công cụ tùy chỉnh có thể không thành công khi cùng một biến được sử dụng nhiều lần trong trường biểu thức. (89653878)
  • <code>heapleaks, and Instruments hiện hiển thị tên dễ đọc hơn cho các loại thư viện tiêu chuẩn Foundation và Swift bổ sung. (90441836)
  • xctrace không còn trả về trạng thái lỗi khi truy tìm chỉ gây ra cảnh báo. Các vấn đề hiện được quy cho mức độ nghiêm trọng thích hợp. (90560207) (FB9963155)
  • Đã khắc phục sự cố trong xctrace export khi dữ liệu theo dõi VM và phân bổ đôi khi được xuất với các hàng dữ liệu bị thiếu. (90560947) (FB9963169)
  • Đã khắc phục sự cố trong đó Công cụ sẽ quên đối số dòng lệnh sau khi mở và đóng trình chỉnh sửa đích khi đã có đối số. (90666084)
  • Đã khắc phục sự cố khi di chuyển đầu kiểm tra trong thước theo dõi cũng sẽ cuộn trục Y của dòng thời gian. (90810506)
  • Đã sửa lỗi: Khoảng thời gian chạy vòng lặp cho thời gian chạy, lặp, chờ và bận có nhãn và độ dài không chính xác khi được hiển thị trong rãnh quy trình. (91130163)
  • Đã khắc phục sự cố Công cụ không liên tục khi ghi dấu vết với các mẫu Phân bổ hoặc Rò rỉ. (93916110)
  • Đã sửa lỗi: Tạo Báo cáo hiệu suất Core ML có thể không thành công sau khi bật Chế độ nhà phát triển trên thiết bị. (93923607)

Vấn đề đã biết

  • Ký hiệu mã người dùng dSYM có thể không thành công đối với tệp tailspin được nhập vào Công cụ. Các ký hiệu cho thư viện hệ thống cũng không xuất hiện khi các tệp này được tải. (93261223)
    Giải pháp thay thế : Ký hiệu nhật ký treo trong Terminal bằng spindump -i <UIKit-runloop*.ips>.
  • Vô hiệu hóa Trình kiểm tra hiệu suất luồng thông qua tab Chẩn đoán trong Trình chỉnh sửa lược đồ nếu Ứng dụng iOS hoặc macOS của bạn sử dụng Fishhook để kết nối các cuộc gọi tới libSystem nhằm mục đích gỡ lỗi/theo dõi. (94724380) (FB10131267)

Refer: https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

You may also like