2016-07-25 30 views
0

Ich könnte versehentlich die Klasse NSAttributedString.h bearbeitet haben und/oder eine verwandte Klasse, und es scheint jetzt alle meine Xcode-Projekte einschließlich Projekte werde ich schaffen nicht kompilieren auf meinem iPhone (iPhone 4s iOS-Version: 9.3.2) (Mein Bereitstellungsziel ist iOS 9.0.).Mehrere Xcode-Projekte werden nicht kompilieren mehr erfolgreich auf einem echten iOS-Gerät

Die Xcode-Projekte werden erfolgreich auf einem simulierten iPhone erstellt und bereitgestellt.

Hier ist eine bearbeitete Liste der Fehler, die ich bekomme, wenn ich die App für iPhone versuchen und kompilieren:

System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:13:2: Prefix attribute must be followed by an interface or protocol 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:16:1: Expected method body 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:23:1: Expected method body 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:26:1: Expected method body 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:30:1: Expected method body 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:32:1: Expected method body 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:40:1: Expected method body 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:42:1: '@end' must appear in an Objective-C context 
AppPods/Target Support Files/Pods-App/Pods-App-dummy.m:1:9: Could not build module 'Foundation' 
Semantic Issue Group 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:14:1: Missing context for method declaration 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:22:1: Missing context for method declaration 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:25:1: Missing context for method declaration 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:28:1: Missing context for method declaration 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:31:1: Missing context for method declaration 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:39:1: Missing context for method declaration 
System/Library/Frameworks/Foundation.framework/Headers/NSAttributedString.h:45:40: Attempting to use the forward class 'NSAttributedString' as superclass of 'NSMutableAttributedString' 

ich Xcode bin mit 8 Beta.

Weiß jemand, was diesen Fehler verursachen würde?

Ich habe versucht, das iPhone neu zu starten und neu zu verbinden, Xcode neu zu starten, meinen Mac neu zu starten und den Ordner DerivedData zu löschen. Ich lese here, dass die Expected method body durch ein "stray-Zeichen" im Code verursacht werden kann, aber ich konnte kein streunendes Zeichen finden.

Hier ist die NSAttributedString.h Klasse:

/* NSAttributedString.h 
    Copyright (c) 1994-2015, Apple Inc. All rights reserved. 
*/ 


#import <Foundation/NSString.h> 
#import <Foundation/NSDictionary.h> 

NS_ASSUME_NONNULL_BEGIN 

NS_CLASS_AVAILABLE(10_0, 3_2) 

@property (readonly, copy) NSString *string; 
- (NSDictionary<NSString *, id> *)attributesAtIndex:(NSUInteger)location effectiveRange:(nullable NSRangePointer)range; 

@end 

@interface NSAttributedString (NSExtendedAttributedString) 


@property (readonly) NSUInteger length; 
- (nullable id)attribute:(NSString *)attrName atIndex:(NSUInteger)location effectiveRange:(nullable NSRangePointer)range; 
- (NSAttributedString *)attributedSubstringFromRange:(NSRange)range; 

- (NSDictionary<NSString *, id> *)attributesAtIndex:(NSUInteger)location longestEffectiveRange:(nullable NSRangePointer)range inRange:(NSRange)rangeLimit; 
- (nullable id)attribute:(NSString *)attrName atIndex:(NSUInteger)location longestEffectiveRange:(nullable NSRangePointer)range inRange:(NSRange)rangeLimit; 

- (BOOL)isEqualToAttributedString:(NSAttributedString *)other; 

- (instancetype)initWithString:(NSString *)str; 
- (instancetype)initWithString:(NSString *)str attributes:(nullable NSDictionary<NSString *, id> *)attrs; 
- (instancetype)initWithAttributedString:(NSAttributedString *)attrStr; 

typedef NS_OPTIONS(NSUInteger, NSAttributedStringEnumerationOptions) { 
    NSAttributedStringEnumerationReverse = (1UL << 1), 
    NSAttributedStringEnumerationLongestEffectiveRangeNotRequired = (1UL << 20) 
}; 

- (void)enumerateAttributesInRange:(NSRange)enumerationRange options:(NSAttributedStringEnumerationOptions)opts usingBlock:(void (NS_NOESCAPE ^)(NSDictionary<NSString *, id> *attrs, NSRange range, BOOL *stop))block NS_AVAILABLE(10_6, 4_0); 
- (void)enumerateAttribute:(NSString *)attrName inRange:(NSRange)enumerationRange options:(NSAttributedStringEnumerationOptions)opts usingBlock:(void (NS_NOESCAPE ^)(id _Nullable value, NSRange range, BOOL *stop))block NS_AVAILABLE(10_6, 4_0); 

@end 

NS_CLASS_AVAILABLE(10_0, 3_2) 
@interface NSMutableAttributedString : NSAttributedString 

- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)str; 
- (void)setAttributes:(nullable NSDictionary<NSString *, id> *)attrs range:(NSRange)range; 

@end 

@interface NSMutableAttributedString (NSExtendedMutableAttributedString) 

@property (readonly, retain) NSMutableString *mutableString; 

- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range; 
- (void)addAttributes:(NSDictionary<NSString *, id> *)attrs range:(NSRange)range; 
- (void)removeAttribute:(NSString *)name range:(NSRange)range; 

- (void)replaceCharactersInRange:(NSRange)range withAttributedString:(NSAttributedString *)attrString; 
- (void)insertAttributedString:(NSAttributedString *)attrString atIndex:(NSUInteger)loc; 
- (void)appendAttributedString:(NSAttributedString *)attrString; 
- (void)deleteCharactersInRange:(NSRange)range; 
- (void)setAttributedString:(NSAttributedString *)attrString; 

- (void)beginEditing; 
- (void)endEditing; 

@end 

NS_ASSUME_NONNULL_END 

Vielen Dank im Voraus

Antwort

1

Sie löschte den @interface NSAttributedString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> unter den NS_CLASS_AVAILABLE(10_0, 3_2)

+0

Vielen Dank für Ihre Antwort gelöst zu haben –

0

Ich glaube, Sie NSAttributedString.m mit Fehlern geändert hatten.

Sie können den xcode neu installieren, um resolove.

+0

Vielen Dank für Ihre Antwort. Neu Installieren von Xcode haben könnte das Problem gelöst, aber das Hinzufügen der Zeile '@interface NSAttributedString: NSObject ' auf die NSAttributedString.h Klasse scheint das Problem –