我正在用 swift 制作一个 xcode 项目,它工作正常,但突然它开始给我这个错误。
Could not build Objective C Module 'Foundation'
/Users/admin/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSNotification.h:17:4: Prefix attribute must be followed by an interface or protocol
即使我创建了一个新项目并且只构建它什么都不做,也会显示此错误。该项目未建成。当我单击错误消息时,它会将我带到此文件 NSNotification.h
这是这个文件的内容
/* NSNotification.h
Copyright (c) 1994-2016, Apple Inc. All rights reserved.
*/
#import <Foundation/NSObject.h>
typedef NSString *NSNotificationName NS_EXTENSIBLE_STRING_ENUM;
@class NSString, NSDictionary, NSOperationQueue;
NS_ASSUME_NONNULL_BEGIN
/**************** Notifications ****************/
@interface NSNotification : NSObject <NSCopying, NSCoding>
id@property (nullable, readonly, retain) id object;
@property (nullable, readonly, copy) NSDictionary *userInfo;
- (instancetype)initWithNameNSNotificationName)name objectnullable id)object userInfonullable NSDictionary *)userInfo NS_AVAILABLE(10_6, 4_0) NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoderNSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;
@end
@interface NSNotification (NSNotificationCreation)
+ (instancetype)notificationWithNameNSNotificationName)aName object: (nullable id)anObject;
+ (instancetype)notificationWithNameNSNotificationName)aName object: (nullable id)anObject userInfonullable NSDictionary *)aUserInfo;
- (instancetype)init /*NSUIImagePNGRepresentation_UNAVAILABLE*/; /* do not invoke; not a valid initializer for this class */
@end
/**************** Notification Center ****************/
@interface NSNotificationCenter : NSObject {
@package
void *_impl;
void *_callback;
void *_pad[11];
}
#if FOUNDATION_SWIFT_SDK_EPOCH_AT_LEAST(8)
@property (class, readonly, strong) NSNotificationCenter *defaultCenter;
- (void)addObserverid)observer selectorSEL)aSelector namenullable NSNotificationName)aName object:(nullable id)anObject;
#endif
- (void)postNotification:(NSNotification *)notification;
- (void)postNotificationName:(NSNotificationName)aName object:(nullable id)anObject;
- (void)postNotificationName:(NSNotificationName)aName object:(nullable id)anObject userInfo:(nullable NSDictionary *)aUserInfo;
- (void)removeObserver:(id)observer;
- (void)removeObserver:(id)observer name:(nullable NSNotificationName)aName object:(nullable id)anObject;
- (id <NSObject>)addObserverForName:(nullable NSNotificationName)name object:(nullable id)obj queue:(nullable NSOperationQueue *)queue usingBlock:(void (^)(NSNotification *note))block NS_AVAILABLE(10_6, 4_0);
// The return value is retained by the system, and should be held onto by the caller in
// order to remove the observer with removeObserver: later, to stop observation.
@end
NS_ASSUME_NONNULL_END
请帮我解决这个问题。对此我将不胜感激。谢谢。
Best Answer-推荐答案 strong>
NSNotification.h 中的这一行好像被修改了:
id@property (nullable, readonly, retain) id object;
删除该行前面的 id 并尝试重新编译。那应该解决它。
关于ios - 无法构建 objective-c 模块,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/43156855/
|