7

Xcode 6 ベータ版の最新の AFNetworking で取得しているプロパティ streamStatus および streamError の警告「自動プロパティ合成は読み取り書き込みであるため合成されませんが、別のプロパティを介して読み取り専用で合成されます」という警告を修正するにはどうすればよいですか?

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

AFURLRequestSerialization.m 行 733 および 734 の関連行は次のとおりです。

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

2 に答える 2

8

xcode 6ベータ版に同梱されているclangのバージョンは、それらのプロパティを保持する元のクラスの直接の拡張ではない拡張でプロパティを書き換えることを許可していないようです。

削除:

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

そしてそれを次のように置き換えます:

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

問題を解決します。

これを解決するために、AFNetworking リポジトリでプル リクエストを開きました。

お役に立てれば。

于 2014-06-11T13:33:15.653 に答える
2

Xcode 6 を iOS 7 アプリの開発と連携するようにセットアップしたところ、AFNetworking で発生していた自動合成の問題が修正されました。ビルド ツールを に変更し5.1、7.1 SDK を のDeveloper/SDKsディレクトリに移動しましたXcode 6。(明らかに) 問題は、iOS 8明示的に作業するときにビルド ツールを変更する必要があることですが、5 と 6 の間を行き来するよりははるかに優れています。

ビルド ツールの変更

  1. Xcode 設定を開く (cmd+,)
  2. [場所] タブに移動します
  3. 「コマンド ライン ツール」を からXcode 6.0に変更しますXcode 5.1.1

iOS 7 SDK の入手

  1. ターミナルを開く
  2. 走る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. Xcode を再起動する

iOS 7.1ベースSDKとして設定できるようになりました

iOS 8.0これにより、これらのライブラリがすべて更新され、新しいビルド ツールがサポートされるまで、短期間で問題が解決するはずです。

于 2014-06-11T18:21:25.933 に答える