bối cảnh không hợp lệ 0x0 trong iOS 7.0 và suy thoái hệ thống


218

Tôi đã đọc nhiều kết quả tìm kiếm mà tôi có thể tìm thấy về vấn đề đáng sợ này, không may, mỗi người dường như tập trung vào một cuộc gọi chức năng cụ thể.

Vấn đề của tôi là tôi nhận được cùng một lỗi từ nhiều chức năng, mà tôi đoán là đang được gọi lại từ các chức năng mà tôi sử dụng.

Để làm cho vấn đề tồi tệ hơn, mã thực tế nằm trong một khung riêng tùy chỉnh đang được nhập trong một dự án khác và như vậy, việc gỡ lỗi không đơn giản?

Bất cứ ai có thể chỉ cho tôi đi đúng hướng? Tôi có cảm giác tôi đang gọi một số phương thức sai hoặc có ngữ cảnh xấu, nhưng đầu ra từ xcode không hữu ích lắm vào thời điểm này.

: CGContextSetFillColorWithColor: bối cảnh không hợp lệ 0x0. Đây là một lỗi nghiêm trọng. Ứng dụng này, hoặc một thư viện mà nó sử dụng, đang sử dụng một bối cảnh không hợp lệ và do đó góp phần làm suy giảm tổng thể sự ổn định và độ tin cậy của hệ thống. Thông báo này là một phép lịch sự: xin vui lòng khắc phục vấn đề này. Nó sẽ trở thành một lỗi nghiêm trọng trong bản cập nhật sắp tới.

: CGContextSetStrokeColorWithColor: bối cảnh không hợp lệ 0x0. Đây là một lỗi nghiêm trọng. Ứng dụng này, hoặc một thư viện mà nó sử dụng, đang sử dụng một bối cảnh không hợp lệ và do đó góp phần làm suy giảm tổng thể sự ổn định và độ tin cậy của hệ thống. Thông báo này là một phép lịch sự: xin vui lòng khắc phục vấn đề này. Nó sẽ trở thành một lỗi nghiêm trọng trong bản cập nhật sắp tới.

CGContextSaveGState: bối cảnh không hợp lệ 0x0. Đây là một lỗi nghiêm trọng. Ứng dụng này, hoặc một thư viện mà nó sử dụng, đang sử dụng một bối cảnh không hợp lệ và do đó góp phần làm suy giảm tổng thể sự ổn định và độ tin cậy của hệ thống. Thông báo này là một phép lịch sự: xin vui lòng khắc phục vấn đề này. Nó sẽ trở thành một lỗi nghiêm trọng trong bản cập nhật sắp tới.

: CGContextSetFlatness: bối cảnh không hợp lệ 0x0. Đây là một lỗi nghiêm trọng. Ứng dụng này, hoặc một thư viện mà nó sử dụng, đang sử dụng một bối cảnh không hợp lệ và do đó góp phần làm suy giảm tổng thể sự ổn định và độ tin cậy của hệ thống. Thông báo này là một phép lịch sự: xin vui lòng khắc phục vấn đề này. Nó sẽ trở thành một lỗi nghiêm trọng trong bản cập nhật sắp tới.

: CGContextAddPath: bối cảnh không hợp lệ 0x0. Đây là một lỗi nghiêm trọng. Ứng dụng này, hoặc một thư viện mà nó sử dụng, đang sử dụng một bối cảnh không hợp lệ và do đó góp phần làm suy giảm tổng thể sự ổn định và độ tin cậy của hệ thống. Thông báo này là một phép lịch sự: xin vui lòng khắc phục vấn đề này. Nó sẽ trở thành một lỗi nghiêm trọng trong bản cập nhật sắp tới.

: CGContextDrawPath: bối cảnh không hợp lệ 0x0. Đây là một lỗi nghiêm trọng. Ứng dụng này, hoặc một thư viện mà nó sử dụng, đang sử dụng một bối cảnh không hợp lệ và do đó góp phần làm suy giảm tổng thể sự ổn định và độ tin cậy của hệ thống. Thông báo này là một phép lịch sự: xin vui lòng khắc phục vấn đề này. Nó sẽ trở thành một lỗi nghiêm trọng trong bản cập nhật sắp tới.

: CGContextRestoreGState: bối cảnh không hợp lệ 0x0. Đây là một lỗi nghiêm trọng. Ứng dụng này, hoặc một thư viện mà nó sử dụng, đang sử dụng một bối cảnh không hợp lệ và do đó góp phần làm suy giảm tổng thể sự ổn định và độ tin cậy của hệ thống. Thông báo này là một phép lịch sự: xin vui lòng khắc phục vấn đề này. Nó sẽ trở thành một lỗi nghiêm trọng trong bản cập nhật sắp tới.

: CGContextGetBlendMode: bối cảnh không hợp lệ 0x0. Đây là một lỗi nghiêm trọng. Ứng dụng này, hoặc một thư viện mà nó sử dụng, đang sử dụng một bối cảnh không hợp lệ và do đó góp phần làm suy giảm tổng thể sự ổn định và độ tin cậy của hệ thống. Thông báo này là một phép lịch sự: xin vui lòng khắc phục vấn đề này. Nó sẽ trở thành một lỗi nghiêm trọng trong bản cập nhật sắp tới.

Những lỗi đó có thể xảy ra khi một chế độ xem tùy chỉnh được trình bày hoặc một trong các lớp được kế thừa của nó. Tại thời điểm chúng sinh sản nhiều lần, cho đến khi bàn phím không cung cấp bất kỳ đầu vào nào. Các sự kiện chạm vẫn được đăng ký, nhưng hệ thống chậm lại và cuối cùng có thể dẫn đến các lỗi đối tượng chưa được phân bổ.

EDIT # 1: Tôi có quyền truy cập vào khung được nhập, nhưng tôi không thấy có gì lạ trong các lớp gây ra sự cố.

EDIT # 2: Tôi vừa nhận được email rằng iOS 7.1 đã được phát hành cho các nhà phát triển. Tôi tò mò muốn xem liệu điều này biến mất, hoặc trở nên tồi tệ hơn, hoặc có thể được giải quyết.


8
Chúng tôi nhận được lỗi tương tự trong ứng dụng của chúng tôi - từ hộp văn bản tiêu chuẩn trên biểu mẫu. Nếu bạn nhấn vào hộp văn bản nhiều lần trong khi bàn phím đang hiển thị, bạn sẽ thấy lỗi này xuất hiện.

Tương tự ở đây. Đôi khi hàng trăm bản ghi này, đôi khi bằng không. Tôi nghĩ rằng đó là vì tôi đang ghi đè drawRect: nhưng dường như nó là thứ gì đó khác. Bỏ qua nó bây giờ.
Krumelur

2
Tôi vừa hoàn thành hướng dẫn đầu tiên trên developer.apple.com (sao chép mã do Apple đề xuất) và tôi gặp lỗi tương tự. Có thể nếu các lập trình viên có kinh nghiệm hơn nhìn vào hướng dẫn đó, họ có thể theo dõi nguyên nhân của vấn đề này.
Antonio Sesto

1
Xem bên dưới (tắt tự động thanh toán trong các chế độ xem bạn đang sử dụng các thành phần UI tùy chỉnh)
JuJoDi

1
Vẫn xảy ra vào năm 2016 (XCode 7, iOS 9.2), vẫn không có tác hại rõ ràng nào được thực hiện.
Hatchmaster J

Câu trả lời:


162

Những người khác sẽ yêu cầu bạn đăng mã nơi bạn truy cập vào bối cảnh đồ họa cốt lõi, nhưng tôi nghi ngờ đó là vấn đề. Các thông báo lỗi 0x0 ngữ cảnh không hợp lệ này là phổ biến và dễ tái tạo trong iOS 7. Trên thực tế, tôi có thể tái tạo lỗi bằng cách sử dụng bảng phân cảnh với mã không. Tôi kéo một UITextField lên khung vẽ trong IB, chạy ứng dụng và nhấn đúp vào bên trong trường văn bản.

Trong nhiều tình huống, thật khó để tôi thực hiện nghiêm túc các thông báo lỗi 0x0 bối cảnh không hợp lệ. Tôi không biết liệu tình huống của bạn có đảm bảo mối quan tâm lớn hơn không (tôi đồng ý với Rob Napier rằng điều đó đáng để điều tra, đặc biệt nếu bạn rõ ràng đang sử dụng bối cảnh đồ họa).

Trong các dự án của riêng tôi, tôi hy vọng rằng nhiều lỗi trong số đó sẽ biến mất một cách kỳ diệu vào một ngày nào đó (nhưng ngày đó không đi kèm với 7.0.3).

Cập nhật: Sau khi cài đặt Xcode 5.1 và nhắm mục tiêu iOS 7.1, tôi không còn có thể tái tạo lỗi bằng cách chạm hai lần vào bên trong một trường văn bản trống.


10
Bạn hoàn toàn chính xác về lỗi UITextField iOS 7 này. Hãy chắc chắn để mở một radar cho nó, mặc dù (bugreport.apple.com) Nhưng đừng quá nhanh để cho rằng đó là vấn đề ở đây. Vì đây là chế độ xem tùy chỉnh, nên đầu tiên điều tra các điểm của @ Rob.
Rob Napier

2
Điều đó đang xảy ra với tôi .. Tôi thả một uitextfield trên IB, gặp lỗi đó và bàn phím không xuất hiện .. có giải pháp nào không ?? Cảm ơn
Frade

@Frade Đối với tôi, bàn phím xuất hiện và ứng dụng chạy bình thường mặc dù có thông báo lỗi nghiêm khắc. Vì vậy, bạn có thể có một vấn đề bổ sung.
bilobatum

3
Tôi cũng có cùng một vấn đề. Nó cũng chỉ xảy ra trong trình giả lập, nhưng tôi nhận thấy rằng, khi tôi gặp lỗi, tôi không thể sử dụng bàn phím Mac để nhập trình giả lập và tôi phải sử dụng bàn phím trên màn hình, điều này rất khó chịu. Trong ứng dụng của tôi, tôi không sử dụng bất kỳ chế độ xem tùy chỉnh nào, vì vậy tôi không bao giờ tự tạo hoặc sử dụng bối cảnh CG.

1
Cảm ơn chúa vì điều đó, tôi nghĩ rằng đó là ứng dụng của tôi có lỗi! Bạn hoàn toàn đúng mặc dù; đó là nhấp đúp vào trường văn bản gây ra lỗi này cho tôi.
Tro

201

Nếu bạn tò mò mã nào gây ra các bản ghi này, bạn có thể thêm một điểm dừng tượng trưng trên CGPostError.


2
Cảm ơn các mẹo về CGPostError. Tôi đặt một điểm dừng trên đó và có vẻ như tôi không làm gì để gây ra vấn đề này. Trong trường hợp của tôi, nó đang xảy ra trên luồng chính nhưng không phải trong mã của tôi.
Paul Heller

10
Bỏ qua điều này bởi vì, mặc dù đó không phải là giải pháp trong trường hợp cụ thể này, nhưng SILL thường làm nổi bật lỗi nằm ở đâu, khi nó nằm trong phạm vi mã riêng của lập trình viên.
Tro

27
Đây là một gợi ý tuyệt vời. Đối với những người không quen thuộc với các điểm dừng tượng trưng hoặc cách thêm chúng vào Xcode, đây là tài liệu của Apple về nó. developer.apple.com/l
Tony Adams

Điều này đã giúp tôi. Trong trường hợp của tôi, nó nhấn mạnh việc tôi thêm NSGradient vào chế độ xem trên ứng dụng OS X của tôi.
Aaron Vegh

1
Có vẻ như tôi đã vẽ trước khi đặt khung cho một góc nhìn nhất định, cảm ơn bạn! :)
Rick van der Linde

42

Các loại lỗi này trong lịch sử là kết quả của việc gọi các chức năng Đồ họa lõi khi không nằm trong ngữ cảnh được thiết lập bên trong drawRecthoặc giữa các cuộc gọi như UIGraphicsBeginImageContextUIGraphicsEndImageContext(hoặc các chức năng UIKit khác giống như bắt đầu và kết thúc bối cảnh).

Tuy nhiên, đã nói rằng, bilobatum là chính xác rằng chuỗi lỗi cụ thể này có thể là kết quả của lỗi iOS 7 mà anh ấy tham khảo trong câu trả lời của mình. Nếu không thấy các lỗi này trong các mục tiêu iOS6 của bạn hoặc nếu sau khi quét nhanh khung công tác riêng tư này, bạn không tìm thấy bất kỳ cuộc gọi Core Graphics đáng ngờ nào, thì đó có thể chỉ là lỗi iOS 7 này. Bắt tốt, bilobatum!


Tôi có một khung nhìn trong khung riêng gọi là drawRect. Trong khi tôi không trực tiếp gọi bất kỳ phương thức nào được đề cập, giả định duy nhất của tôi là mã trong lớp đó có liên quan nào đó. Tuy nhiên, như tôi đã đề cập, mọi thứ đều chạy trơn tru dưới các iOS trước đó.
Ælex

Để hoàn thành (đây là kết quả hàng đầu của google), tôi muốn lưu ý rằng lỗi mật mã không thay đổi trên OSX 10.11.3 - và gây ra, như Rob nói, bằng cách có chức năng vẽ bên ngoài drawRect hoặc bối cảnh khác- chức năng liên quan.
green_knight 7/03/2016

26
UIGraphicsBeginImageContext( size );
CGContextRef context = UIGraphicsGetCurrentContext();

đảm bảo size. thong hoặc size.height không bằng 0,

bạn có thể thêm điểm dừng biểu tượng vào CGPostError để kiểm tra


Vì vậy, thêm một điểm dừng biểu tượng tại CGPostError, làm thế nào người ta có thể nhìn vào kích thước tại điểm đó?
Cris

bạn có thể xem ngăn xếp cuộc gọi chức năng trong "hiển thị điều hướng gỡ lỗi" bằng lệnh + 6. sau đó bạn nhấp vào cây, sau đó bạn có thể quay lại chức năng của mình để xem biến.
lbsweek

Vâng, tôi đã chuyển qua chế độ xem hình ảnh để làm cho hình ảnh đó trở thành hình tròn, Nhưng, Tìm thấy rằng kích thước của nó bằng không. Cuối cùng cũng được giải quyết sau 2 ngày: D.
JiteshW

19

Tôi gặp vấn đề này với một UITextField đơn giản (bàn phím không hiển thị và nhiều thông báo lỗi ngữ cảnh không hợp lệ khác nhau trên bảng điều khiển). Tôi chỉ tìm thấy một cách giải quyết bằng cách tìm đến một vấn đề khác trên SO: Không thể tìm thấy thực thi cho CFBundle CertUIFramework.axbundle

Cứ làm đi:

nhấp vào Trình mô phỏng iOS> Đặt lại Nội dung và Cài đặt ... và chạy lại.

Vấn đề không nên ở đó nữa


16

Trong trường hợp của tôi, tôi đã có những lỗi trong mã này:

CAShapeLayer *shapeLayer = [CAShapeLayer layer];
UIBezierPath *path;

path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(0, 0)];
[path addLineToPoint:CGPointMake(size*2, 0)];
[path addLineToPoint:CGPointMake(size, size*2)];
[path closePath];
[path fill];

shapeLayer.path = path.CGPath;
shapeLayer.strokeColor = [[UIColor blackColor] CGColor];
shapeLayer.fillColor = color;
shapeLayer.lineWidth = width;

[self addSublayer:shapeLayer];

Sau một vài suy nghĩ và kiểm tra tôi phát hiện ra vấn đề - đó là cuộc gọi này:

[path fill];

như tôi phát hiện - trong mã của tôi, cuộc gọi này là không cần thiết, vì việc điền sẽ được thực hiện theo cách khác - vì vậy tôi chỉ cần loại bỏ nó.


5

Tôi đã có vấn đề tương tự và tôi đã quên nhập QuartzCore / QuartzCore.h, Điều này đã giải quyết vấn đề của tôi với những lỗi này.

    #import <QuartzCore/QuartzCore.h>

5

Trả lời thẳng: Vấn đề là do bạn đã sử dụng các yếu tố đồ họa Core như CGContext, v.v. ngoài - (void)drawRect:(CGRect)rectphương thức này.

Bây giờ vui lòng di chuyển mã của bạn đến phương pháp này. Và nó sẽ strop cung cấp cho bạn cảnh báo / lỗi.


4

Tôi đã gặp lỗi này vì tôi đang sử dụng một đối tượng UIColor làm thuộc tính trong từ điển NSAttributionString đang được sử dụng trong đối tượng CATextLayer. Tôi đã thay đổi từ điển để giữ CGColorRef và lỗi đã biến mất.

[wordAttributes setObject:(id)[UIColor whiteColor].CGColor forKey:(NSString*)kCTForegroundColorAttributeName];

2

Tôi đã có trường hợp bối cảnh được trả về UIGraphicsGetCurrentContext()NULLvà nếu bạn thử sử dụng nó cho bất cứ điều gì thì thông báo này xuất hiện. Quan điểm của trách nhiệm là đẩy một bối cảnh sử dụng UIGraphicsPushContexttrước khi gọi drawRect:, nếu bạn gọi drawRect:trực tiếp thay vì [view setNeedsDisplay]bạn có nguy cơ bối cảnh chưa được đặt. Linh cảm của tôi là trước iOS 7, bối cảnh đã được đẩy để xem initvà bây giờ trên iOS 7 bối cảnh không được đẩy cho đến khi lần đầu tiên drawRect:được gọi. Tôi nghi ngờ một số mã UIKit đang gọi drawRect:trực tiếp và đây là lý do tại sao có vấn đề với một số mã ngay cả khi không có bản vẽ tùy chỉnh nào được thực hiện.

Giải pháp (nếu thực hiện bản vẽ tùy chỉnh):

  1. Không gọi drawRect:trực tiếp, sử dụng [view setNeedsDisplay]hoặc nếu bạn cần sử dụng bản vẽ ngay lập tức[view.layer draw]
  2. Trong drawRect:bối cảnh của bạn , nhưng không sử dụng nó bên ngoài phần thân của câu lệnh if nàyif (context) {<do drawing here>}

2

Tắt tự động thanh toán trong chế độ xem bị ảnh hưởng sẽ khiến lỗi này biến mất trong một số trường hợp khi bạn đặt và di chuyển các thành phần UI (đặc biệt là các tùy chỉnh được vẽ theo chương trình) trong chế độ xem. Tôi đã sử dụng JVFloatLabeledTextField khi tôi phát hiện ra triệu chứng này.


2

Trong một số trường hợp, bạn có thể cần phải bao gồm các dòng #import <QuartzCore/QuartzCore.h>.


2

Tôi đã gặp lỗi này trong phương thức drawInContext (..) khi triển khai CALayer tùy chỉnh. UIBezierPath cố gắng sử dụng UIGraphicsGetCienContext () theo mặc định trong một lớp tùy chỉnh. Các tài liệu trực tuyến giải thích điều này rất rõ ràng -

Tuy nhiên, nếu bạn không sử dụng một đối tượng UIView để thực hiện bản vẽ của mình, bạn phải đẩy một bối cảnh hợp lệ lên ngăn xếp bằng tay bằng cách sử dụng chức năng UIGraphicsPushContext.

Đây là mã cuối cùng hoạt động với nội dung nhận xét của tôi (mã Swift, nhưng giải pháp là như nhau bất kể)

override func drawInContext(ctx: CGContext!) {  
    var path = UIBezierPath()

    // 1. Make sure you push the CGContext that was first passed into you.
    UIGraphicsPushContext(ctx)
    path.moveToPoint(CGPoint(x: 0, y: 0))
    path.addLineToPoint(CGPoint(x: 150, y: 150))
    var lineColor = UIColor.blueColor()
    lineColor.setStroke()
    path.lineWidth = 2
    path.stroke(
    // 2. Pop the context after you are done.
    UIGraphicsPopContext()
}

2

Trong trường hợp của tôi, tôi đã có cảnh báo này khi tạo một hình ảnh có thể thay đổi được với các nắp trong. Vấn đề là tôi đã không để lại ít nhất 1 pixel trong khu vực "chưa được khai thác".

    UIImage *image = [UIImage imageNamed:@"name"];
    UIEdgeInsets edgeInsets = UIEdgeInsetsMake(20, 10, 20, 10);  //Problem here if the width is 20 or the height is 40
    image = [image resizableImageWithCapInsets:edgeInsets];

1
Có chính xác cùng một vấn đề. Rõ ràng bạn phải để lại ít nhất 1 điểm khu vực mà hình ảnh có thể kéo dài
ribeto 11/05/2015

1

Tôi đã tạo UIImage từ ngữ cảnh bằng mã bên dưới:

    UIGraphicsBeginImageContext (kích thước);
    CGContextRef bối cảnh = UIGraphicsGetCienContext ();

    CGContextSetFillColorWithColor (bối cảnh, màu sắc.CGColor);
    CGContextFillRect (bối cảnh, (CGRect) {. Size = size});

    UIImage * image = UIGraphicsGetImageFromCienImageContext ();
    UIGraphicsEndImageContext ();

Vì vậy, tôi đã nhận được lỗi.

Vì vậy, tôi đã xóa nội dung Dữ liệu đã tạo, khởi động lại XCode của mình. Va no đa hoạt động.


Giải pháp sau đó là gì?
Geek

1
@Geek, giải pháp cập nhật. Xóa nội dung DeruredData và khởi động lại.
Gặp gỡ

1

Tôi có cùng một vấn đề. Trong dự án của tôi, tôi đã cố gắng tạo một textField và thêm nó vào tệp pdf của mình. Mã cũ:

- (void) drawInContext:(CGContextRef)context {
    //Otherwise we're upside-down
    CGContextSetTextMatrix(context, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0));

    CGContextSetTextDrawingMode(context, kCGTextFill); // This is the default
    [[UIColor blackColor] setFill]; // ***This is the problem ***

    CGFloat x = self.rect.origin.x;
    CGFloat y = self.rect.origin.y + self.font.pointSize;
    [self.text drawAtPoint:CGPointMake(x, y)
            withAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"Arial" size:12]}];
}

Sau khi giải quyết vấn đề này, mã đã thay đổi:

old:[[UIColor blackColor] setFill]; 

new:CGContextSetFillColorWithColor(context, [[UIColor blackColor] CGColor]);

Tôi đã tìm thấy giải pháp tại UIColor SetFill không hoạt động . Và cảm ơn người trợ giúp.


1

Tôi đã nhận được lỗi với mã

UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:pointA];
[path addLineToPoint:pointB];
[path addLineToPoint:pointC];
[[UIColor colorWithHexString:@"EFEFEF"] set];
[path fill];
[path closePath];

CAShapeLayer *triangle = [CAShapeLayer layer];
triangle.fillColor = [UIColor colorWithHexString:@"EFEFEF"].CGColor;
triangle.path = path.CGPath;

return triangle;

và sau khi loại bỏ mã

[[UIColor colorWithHexString:@"EFEFEF"] set];
[path fill];

Thế giới trở nên im lặng.


0

Đối với tôi, câu trả lời là tôi không cần thiết phải phát hành bối cảnh đồ họa drawRect:. Ném một điểm dừng tượng trưng vào CGPostError chỉ cho tôi thủ phạm.


0

Có lỗi này như tôi đã đặt

textfield.delegate = self

Không thực hiện bất kỳ thói quen đại biểu. Loại bỏ dòng đó đã giải quyết vấn đề cho tôi


0

Tôi gặp vấn đề này trong UITextField khi tôi giữ liên lạc trên một trường trống chỉ bằng văn bản giữ chỗ. Tôi đã sử dụng các công việc sau đây để loại bỏ các trường trống:

-(void)textFieldDidBeginEditing:(UITextField *)textField{

        textField.text=[@" " stringByAppendingString:textField.text];

        //other stuff here
}


-(BOOL)textFieldShouldReturn:(UITextField *)textField{

         if(textField.text.length>0){
             if([[textField.text substringToIndex:1] isEqualToString:@" "])
                 textField.text=[textField.text substringFromIndex:1];
         }
         //  other stuff here
}

0

Đối với tôi, tôi đã gặp phải lỗi này vì tôi đã phát hành CGContextRef như dưới đây:

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    // DRAW BACKGROUND CIRCLE
    CGContextSetFillColorWithColor(context, [[UIColor gray] colorWithAlphaComponent:0.6].CGColor);
    CGContextFillEllipseInRect(context, rect);

//    CGContextRelease(context);
}

Loại bỏ bản phát hành đã giải quyết vấn đề


0

Tôi đã nhận được nó khi nhập sai tên hình ảnh trong phương thức ActivityImage trong lớp con UIActivity

- (UIImage *)activityImage
{
    return [UIImage imageNamed:@"img.png"];
}

Gõ đúng hình ảnh đã giải quyết nó cho tôi.


0

Gỡ cài đặt ứng dụng khỏi trình giả lập và chạy lại


0

Giống như những người khác đã bình luận ở đây, tôi đã nhận được cảnh báo này khi tôi thực hiện bất kỳ thao tác nào sau đây:

Trên trường văn bản trống: Chạm hai lần, chạm và giữ, nhấn một lần dài.

Điều này dường như chỉ ảnh hưởng đến iOS 7.0.3

Tôi phát hiện ra một công việc xung quanh, cảnh báo sẽ không được kích hoạt nếu bảng điều khiển của bạn không phải là NULL.

Vì vậy, tôi đã làm như sau trong textFieldDidBeginEditing:

- (void)textFieldDidBeginEditing:(UITextField *)textField {

    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    if (pasteboard.string.length == 0) {

        pasteboard.string = @" ";

    }
}

Tôi đã thử nghiệm điều này trong trình giả lập cho iOS 7.0.3 trên iphone 4s, 5 và 5s và không còn nhận được cảnh báo. Tôi cũng đã thử nghiệm điều này trong trình giả lập cho iOS 8 trên iphone 6 và 6 plus nhưng tôi không tin iOS 8 bị ảnh hưởng.

Đã trải qua hai ngày thất vọng trước khi phát hiện ra công việc này xung quanh vì vậy tôi thực sự hy vọng câu trả lời của tôi sẽ giúp những người đang gặp vấn đề tương tự.


0

Nếu lỗi xảy ra khi bạn đang sử dụng UIBezierPath và đặt màu cho nét hoặc tô, hãy đặt mã màu được đặt trong hàm drawRect thay vì các vị trí khác.


0

Đây là hacky nhưng nó đã làm việc cho tôi.

Tôi thiết lập UIImageViewtrong UITableViewCell's init, cung cấp cho nó một kích thước và trở ngại.

Sau đó, trong trình điều khiển xem của cellForRowAtIndexPathtôi, tôi làm điều này:

let img = PFImageView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
img.setImage(withFile: nil, defaultText: message.senderUsername)
cell.profileImageView?.image = img.image

Và điều đó tránh được lỗi, sau đó bên dưới chức năng tôi đặt hình ảnh thực tế cho điều đó UIImageView. Mã ở trên là một mặc định tốt

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.