7

我正在关注在 Xcode 中导入私有框架的选定答案

基本上我希望能够在我的应用程序中控制飞行模式。当我导入RadioPreferences.h我的应用程序并尝试编译时,我得到Expected Identifier@class <RadiosPreferencesDelegate>;

我不确定下一步该做什么。我什至不知道您可以转发声明协议。

4

1 回答 1

8

首先将以下内容复制到一个名为RadioPreferences.h. (取自https://stackoverflow.com/a/13095362/418715)。

@protocol RadiosPreferencesDelegate
-(void)airplaneModeChanged;
@end


@interface RadiosPreferences : NSObject
{
    struct __SCPreferences *_prefs;
    int _applySkipCount;
    id <RadiosPreferencesDelegate> _delegate;
    BOOL _isCachedAirplaneModeValid;
    BOOL _cachedAirplaneMode;
    BOOL notifyForExternalChangeOnly;
}

- (id)init;
- (void)dealloc;
@property(nonatomic) BOOL airplaneMode;
- (void)refresh;
- (void)initializeSCPrefs:(id)arg1;
- (void)notifyTarget:(unsigned int)arg1;
- (void)synchronize;
- (void *)getValueForKey:(id)arg1;
- (void)setValue:(void *)arg1 forKey:(id)arg2;
@property(nonatomic) BOOL notifyForExternalChangeOnly; // @synthesize notifyForExternalChangeOnly;
@property(nonatomic) id <RadiosPreferencesDelegate> delegate; // @synthesize delegate=_delegate;

@end

  • 接下来,转到 Xcode 中目标的Build Phases并展开Link Binary With Libraries部分。
  • 在 finder 窗口中导航到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/PrivateFrameworks. 在路径中替换iPhoneOS6.0.sdk为您所针对的 sdk。
  • 将 AppSupport.framework 拖到展开的Link Binary With Libraries部分。

现在一切都应该编译了,您将能够使用该类。

于 2012-11-14T22:07:55.530 回答