iOS 10: Khác [Ứng dụng] nếu chúng tôi trong trình xử lý tiền cam kết thực sự, chúng tôi thực sự không thể thêm bất kỳ hàng rào mới nào do hạn chế CA


389

Đôi khi tôi nhận được thông báo này trong nhật ký của Xcode 8b3 khi chạy ứng dụng của mình, mọi thứ dường như hoạt động, nhưng tôi muốn biết nó đến từ đâu. Google đã không giúp đỡ gì cả.


2
Bạn có đang gọi phương thức ủy nhiệm của UINavestionContaptor: fun navigationContoder (navigationContoder: UINavestionControll, willShowViewControll viewCont điều khiển: UIViewContoder, hoạt hình: Bool) {}?
Norman G

2
willShowViewController không bao giờ được gọi, không ...
swalkner

Tôi nhận được như vậy. Tôi đang sử dụng SpriteKit và SceneKit và nghi ngờ họ!
Howard Lovatt

3
Bất cứ ai cũng báo cáo lỗi? Tôi sắp.
David DelMonte

1
Xin hãy xem trả lời này. stackoverflow.com/a/39997761/6602495
Sneha

Câu trả lời:


285

trong Xcode của bạn:

  • Nhấp vào tên chương trình hoạt động của bạn ngay bên cạnh nút Dừng
  • Nhấp vào Chỉnh sửa lược đồ ....
  • trong Run (Gỡ lỗi) chọn tab Đối số
  • trong Biến môi trường bấm +
  • thêm biến: OS_ACTIVITY_MODE = vô hiệu hóa

ảnh chụp màn hình


4
Cảm ơn bạn đã biết thêm thông tin
amergin

26
Xin lưu ý rằng tôi đã ngẫu nhiên không nhận được đầu ra NSLog vào Bảng điều khiển và xóa cái này một lần nữa để sửa nó. Đây là nhiều hơn về chương trình 'cao cấp' mà chúng ta phải chịu bởi những kẻ độc ác tại apple.
amergin

37
Đối với những gì đáng giá, tôi nhận được thông báo này bất cứ khi nào thay đổi định hướng được thực hiện và tôi đã tắt biến môi trường OS_ACTIVITY_MODE.
dùng2698617

5
Lưu ý: Thêm phần này bạn sẽ không thấy NSLogs trong bảng điều khiển.
niravdesai21

4
Đây không giống như tắt chuông báo cháy sao?
ScottyBlades

191

Nó đến từ +[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]thông qua API os_log. Nó không phụ thuộc vào các thành phần / khung khác mà bạn đang sử dụng (chỉ từ UIKit) - nó tái tạo trong dự án ứng dụng xem đơn sạch về thay đổi hướng giao diện.

Phương pháp này bao gồm từ 2 phần:

  1. thêm trình xử lý thông qua vào danh sách các trình xử lý;
  2. làm một số công việc, điều đó phụ thuộc vào trạng thái máy hữu hạn hiện tại.

Khi phần thứ hai không thành công (trông giống như quá trình chuyển đổi bị cấm), nó sẽ in thông báo ở trên sang nhật ký lỗi. Tuy nhiên, tôi nghĩ rằng vấn đề này không gây tử vong: có thêm 2 trường hợp khẳng định trong phương pháp này, điều đó sẽ dẫn đến sự cố trong gỡ lỗi.

Có vẻ như radar là tốt nhất chúng ta có thể làm.


1
Bạn có thể, xin vui lòng, giải thích chi tiết về các công cụ mà bạn đã sử dụng để gỡ lỗi để có được tên phương thức riêng này và cấu trúc của nó?
Oleksandr Karaberov

9
@AlexanderKaraberov bạn có thể sử dụng Hopper Disassembler để tìm văn bản cảnh báo trong khung nhị phân và tham chiếu đến văn bản này từ phương thức riêng tư.
k06a

Tôi cũng nhận được điều này khi bàn phím cuộn vào và tôi có một bộ điều khiển được đăng ký để phản hồi bằng cách thay đổi kích thước khung nhìn của nó.
yo.ian.g

82

Hãy thử đặt các mục sau trong environment variablessơ đồ chorun(debug)

OS_ACTIVITY_MODE = disable

Tôi đã nhận được điều này trong trình giả lập khi xoay iPhone 7 bằng cách sử dụng các mục menu phần cứng-> xoay. Biến môi trường này làm cho thông điệp giả biến mất.
George D Girton

1
Câu trả lời từ @Foo dưới đây rất hữu ích vì nó bao gồm các chi tiết hướng dẫn.
Kevin Owens

1
Nó cũng không in nhật ký cảnh báo ràng buộc
chirag shah

36
OP hỏi tin nhắn đến từ đâu. Chỉ nói làm thế nào để im lặng nó không phải là câu trả lời đúng.
iCaramba

6
Câu trả lời "IOS_ACTIVITY_MODE = vô hiệu hóa" tắt TẤT CẢ việc đăng nhập! Chỉ cần đóng chế độ xem nhật ký nếu bạn không muốn xem nhật ký. Câu trả lời thực sự vô lý, tuyệt vời rằng nó có rất nhiều phiếu bầu! Không có gì để giải quyết các tin nhắn thực tế. Các ứng dụng của chúng tôi sử dụng nhiều dữ liệu cốt lõi hoạt động tốt, các thông báo này và các thông báo khác bắt đầu xuất hiện sau một trong những cập nhật Xcode cuối cùng. Đáng buồn là Apple không thể giải quyết các loại vấn đề này.
Giăng

13

Chúng ta có thể tắt tiếng theo cách này (thiết bị và trình giả lập cần các giá trị khác nhau):

Thêm Tên OS_ACTIVITY_MODEvà Giá trị ${DEBUG_ACTIVITY_MODE}và kiểm tra nó (trong Sản phẩm -> Lược đồ -> Chỉnh sửa lược đồ -> Chạy -> Đối số -> Môi trường).

nhập mô tả hình ảnh ở đây

Thêm Setting User-Defined DEBUG_ACTIVITY_MODE, sau đó thêm Any iOS Simulator SDKcho Debugvà thiết lập giá trị của nó để disable(trong dự án -> Cài đặt Build -> + -> Setting User-Defined)

nhập mô tả hình ảnh ở đây


Không hoạt động với tôi: Tôi cũng thấy điều này trong bảng điều khiển, mặc dù đã tắt chế độ hoạt động gỡ lỗi như đề xuất ở trên.
Johan

-1

Để khắc phục, tôi đã xóa ứng dụng khỏi Trình mô phỏng.

Tôi cũng chạy Clean trước.

Tôi không nghĩ bất cứ điều gì liên quan đến định hướng đã kích hoạt nó. Điều lớn nhất đã thay đổi trước khi triệu chứng này bắt đầu là một khung Swift bắt đầu gọi các NSLogluồng công nhân thay vì luồng chính.


1
Làm sạch lúc đầu làm việc tốt với tôi khi tôi chạy nó trong trình giả lập mà không xoay nó, nhưng ngay sau khi tôi kiểm tra lại bằng lệnh xoay, nó đã báo lỗi tương tự.
cheznead

Tôi đang sử dụng cử chỉ pan và chỉ nhận được lỗi này khi thay đổi hướng.
Jeremy Andrew

-8
OS_ACTIVITY_MODE = disable

Điều này cũng sẽ vô hiệu hóa khả năng gỡ lỗi trong các thiết bị thực (không có đầu ra giao diện điều khiển từ các thiết bị thực từ đó trở đi).


6
Bạn vừa sao chép một câu trả lời trước đó (với ít chi tiết hơn)
Ashley Mills

2
thực sự là TL; DR giúp.
Juan Je García
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.