2014-06-06 18 views
7

Làm cách nào để khắc phục cảnh báo "tổng hợp thuộc tính tự động sẽ không tổng hợp vì nó được ghi đè nhưng nó sẽ được tổng hợp chỉ đọc qua một thuộc tính khác" cho thuộc tính streamStatus và streamError mà tôi nhận được AFNetworking mới nhất trên phiên bản Xcode 6 beta?Lỗi tổng hợp tự động trong AFURLRequestSerialization với Xcode 6

https://github.com/AFNetworking/AFNetworking/blob/master/AFNetworking/AFURLRequestSerialization.m#L733

Đây là dòng relavent phù AFURLRequestSerialization.m 733 và 734:

@interface AFMultipartBodyStream() <NSCopying> 
@property (readwrite, nonatomic, assign) NSStreamStatus streamStatus; 
@property (readwrite, nonatomic, strong) NSError *streamError; 

Trả lời

8

Nó có vẻ như phiên bản của vang mà tàu với xcode 6 beta không cho phép để viết lại tài sản trong một phần mở rộng không phải là phần mở rộng trực tiếp của lớp gốc giữ các thuộc tính đó.

loại bỏ:

@property (readwrite, nonatomic, assign) NSStreamStatus streamStatus; 
@property (readwrite, nonatomic, strong) NSError *streamError; 

và thay thế nó bằng:

@interface NSStream() 
@property (readwrite) NSStreamStatus streamStatus; 
@property (readwrite, copy) NSError *streamError; 
@end 

giải quyết vấn đề này.

Tôi đã mở pull request trong repo AFNetworking để giải quyết vấn đề này.

Hy vọng điều này sẽ hữu ích.

+0

Cảm ơn vì điều đó, nó giải quyết được sự cố –

2

Tôi CHỈ thiết lập Xcode 6 để làm việc với việc phát triển ứng dụng iOS 7 và nó đã khắc phục sự cố tự động phân tích mà tôi đã có với AFNetworking. Tôi đã thay đổi công cụ xây dựng của mình thành 5.1 và đã chuyển 7.1 SDK sang thư mục Developer/SDKs trong Xcode 6. Vấn đề (rõ ràng) là tôi cần phải thay đổi công cụ xây dựng khi làm việc trên iOS 8 một cách rõ ràng, nhưng nó tốt hơn nhiều so với chuyển đổi qua lại giữa 5 và 6.

Thay đổi Xây dựng Công cụ

  1. Mở Preferences Xcode (cmd +,)
  2. Navigate to tab 'Địa điểm'
  3. Change 'Command Line Tools' Xcode 6.0-Xcode 5.1.1
01.235.

Bắt iOS 7 SDK

  1. Mở Terminal
  2. Run cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk /Applications/Xcode6-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk

  3. Restart Xcode

Bây giờ bạn sẽ có thể thiết lập iOS 7.1 như cơ sở của bạn SDK

Điều này sẽ giải quyết vấn đề của bạn trong thời gian ngắn cho đến khi tất cả các thư viện này được cập nhật cho iOS 8.0 và các công cụ xây dựng mới.

+0

công cụ dòng lệnh thực sự làm gì? Bạn có hiểu rằng giải pháp này quá tệ? – Gargo

Các vấn đề liên quan