First copy the following contents into a file named RadioPreferences.h
. (Taken from https://mcmap.net/q/902616/-reachability-airplane-mode-3g-vs-wifi ).
@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
- Next, go to the Build Phases of your target in Xcode and expand the Link Binary With Libraries section.
- In a finder window navigate to
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/PrivateFrameworks
. Replace iPhoneOS6.0.sdk
in the path with the sdk you are targeting.
- Drag AppSupport.framework over to your expanded Link Binary With Libraries section.
Everything should now compile and you will be able to use the class.
Undefined symbols for architecture armv7: "_OBJC_CLASS_$_RadiosPreferences", referenced from: objc-class-ref in NetworkManager.o ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
– TynerRadioPreferences.h
, you need to make sure you link against the correct framework? – ToothsomeRadiosPreferences.h
. I'm assuming that's the AppSupport.framework? – Tyner