├── readme.md ├── output_sample ├── CKMessagesController.h ├── BBBulletin.h ├── SpringBoard.h ├── UIView.h └── UIApplication.h └── weak_classdump.cy /readme.md: -------------------------------------------------------------------------------- 1 | weak_classdump 2 | ============== 3 | A Cycript script that generates a header file for the class passed to the function. 4 | 5 | Most useful when you cannot classdump , when binaries are encrypted etc. 6 | 7 | ------------------------------- 8 | Usage examples : 9 | 10 | root# cycript -p Skype weak_classdump.cy; cycript -p Skype 11 | 'Added weak_classdump to "Skype" (1685)' 12 | 13 | cy# UIApp 14 | "" 15 | 16 | cy# weak_classdump(HellcatApplication); 17 | "Wrote file to /tmp/HellcatApplication.h" 18 | 19 | cy# UIApp.delegate 20 | "" 21 | 22 | cy# weak_classdump(SkypeAppDelegate,"/someDirWithWriteAccess/"); 23 | "Wrote file to /someDirWithWriteAccess/SkypeAppDelegate.h" 24 | 25 | root# cycript -p iapd weak_classdump.cy; cycript -p iapd 26 | 'Added weak_classdump to "iapd" (1127)' 27 | 28 | cy# weak_classdump(IAPPortManager) 29 | "Wrote file to /tmp/IAPPortManager.h" 30 | 31 | 32 | Thanks to Ryan Petrich , you can now use weak_classdump_bundle to dump all headers within a bundle. 33 | 34 | root# cycript -p MobilePhone weak_classdump.cy; cycript -p MobilePhone 35 | 'Added weak_classdump to "MobilePhone" (385)' 36 | 37 | #cy weak_classdump_bundle([NSBundle mainBundle],"/tmp/MobilePhone") 38 | 39 | 40 | by Elias Limneos 41 | ---------------- 42 | web: limneos.net 43 | 44 | email: iphone (at) limneos (dot) net 45 | 46 | twitter: @limneos 47 | 48 | Issues 49 | ----------- 50 | Thanks to Ryan Petrich, currently no issues. 51 | 52 | Licence 53 | ----------- 54 | 55 | weak_classdump is open source. Feel free to help improving it if you like. 56 | 57 | Environment 58 | ----------- 59 | weak_classdump works under Cycript. Visit cycript.org for more info. 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /output_sample/CKMessagesController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This header is generated by weak_classdump 0.0.1 3 | * on Tuesday, November 15, 2011 2:38:13 PM Eastern European Time 4 | * Operating System: Version 5.0 (Build 9A334) 5 | * weak_classdump is Freeware by Elias Limneos. 6 | * 7 | */ 8 | 9 | @interface CKMessagesController : UIViewController { 10 | UIViewController* _rightController; 11 | UINavigationController* _blankNavController; 12 | UINavigationController* _primaryNavigationController; 13 | CKConversationListController* _conversationListController; 14 | CKTranscriptController* _transcriptController; 15 | UIView* _transcriptDimmingView; 16 | UISplitViewController* _messagesSplitViewController; 17 | MFMailComposeViewController* _mailComposeController; 18 | UIViewController* _mainController; 19 | CKAggregateConversation* _currentConversation; 20 | NSMutableArray* _conversationCache; 21 | UIImagePickerController* _mediaController; 22 | UIPopoverController* _mediaPopoverController; 23 | BOOL _ignoreConversationsBecomingStale; 24 | BOOL _transcriptDimmed; 25 | } 26 | @property (nonatomic,@dynamic,retain) id autosaveIdentifier; 27 | @property (getter=isTranscriptDimmed,nonatomic,copy) BOOL transcriptDimmed; //@synthesize _transcriptDimmed=__transcriptDimmed - In the implementation block 28 | @property (nonatomic,retain) UIImagePickerController* mediaController; //@synthesize _mediaController=__mediaController - In the implementation block 29 | @property (nonatomic,retain) CKAggregateConversation* currentConversation; //@synthesize _currentConversation=__currentConversation - In the implementation block 30 | @property (nonatomic,retain) UINavigationController* primaryNavigationController; //@synthesize _primaryNavigationController=__primaryNavigationController - In the implementation block 31 | @property (nonatomic,retain) CKTranscriptController* transcriptController; //@synthesize _transcriptController=__transcriptController - In the implementation block 32 | @property (nonatomic,retain) CKConversationListController* conversationListController; //@synthesize _conversationListController=__conversationListController - In the implementation block 33 | -(id)conversationListController; 34 | -(void)showConversationList:(BOOL)arg1; 35 | -(BOOL)hasUnreadConversations; 36 | -(void)cancelNewMessageComposition; 37 | -(void)autosaveMailComposition; 38 | -(BOOL)currentCompositionHasContent; 39 | -(BOOL)showUnreadConversations; 40 | -(BOOL)resumeToConversation:(id)arg1; 41 | -(void)hideNewMessageCompositionPanel; 42 | -(BOOL)isComposingMessage; 43 | -(BOOL)isShowingDirtyModalView; 44 | -(id)primaryNavigationController; 45 | -(void)showConversationAndMessageForSearchURL:(id)arg1; 46 | -(BOOL)isShowingTranscriptWithUnsentText; 47 | -(void)showMailComposeSheetForAddress:(id)arg1; 48 | -(void)showMessagesForAddress:(id)arg1 animate:(BOOL)arg2; 49 | -(void)showNewMessageCompositionPanelWithRecipients:(id)arg1 composition:(id)arg2 animated:(BOOL)arg3; 50 | -(void)setDefaultPNGConfiguration; 51 | -(void)showMailComposeSheetForAutosavedMessage; 52 | -(void)_showMailComposeSheet; 53 | -(void)_presentMediaPickerPopover; 54 | -(void)setMediaController:(id)arg1; 55 | -(void)_showSMSConversationAndMessageForSearchURL:(id)arg1; 56 | -(void)_showMadridConversationAndMessageForSearchURL:(id)arg1; 57 | -(void)showConversation:(id)arg1 animate:(BOOL)arg2 forceToTranscript:(BOOL)arg3; 58 | -(void)_showTranscriptController:(BOOL)arg1 animated:(BOOL)arg2; 59 | -(void)_updateTranscriptDimmingView; 60 | -(void)_showNewMessageCompositionPanelWithRecipients:(id)arg1 composition:(id)arg2 animated:(BOOL)arg3; 61 | -(void)_presentNewMessageCompositionPanel:(id)arg1 animated:(BOOL)arg2; 62 | -(void)_showTranscriptController:(BOOL)arg1; 63 | -(void)_prepareToDumpCachedConversation:(id)arg1; 64 | -(BOOL)_canDumpConversationFromCache:(id)arg1; 65 | -(void)_addConversationToCache:(id)arg1; 66 | -(BOOL)isTranscriptDimmed; 67 | -(BOOL)_isShowingTranscriptController; 68 | -(void)setCurrentConversation:(id)arg1; 69 | -(id)mediaController; 70 | -(void)_pruneConversationCache; 71 | -(void)_handleConversationBecameStale:(id)arg1; 72 | -(void)_conversationLeft:(id)arg1; 73 | -(void)setConversationListController:(id)arg1; 74 | -(void)setTranscriptController:(id)arg1; 75 | -(void)setPrimaryNavigationController:(id)arg1; 76 | -(void)_clearConversationCache; 77 | -(void)mailComposeController:(id)arg1 didFinishWithResult:(int)arg2 error:(id)arg3; 78 | -(void)prepareForSuspend; 79 | -(void)setAutosaveIdentifier:(id)arg1; 80 | -(id)autosaveIdentifier; 81 | -(void)showNewMessageCompositionForMessageParts:(id)arg1; 82 | -(void)transcriptController:(id)arg1 willSendMessageInConversation:(id)arg2; 83 | -(void)transcriptController:(id)arg1 didSendMessageInConversation:(id)arg2; 84 | -(void)showForwardedMessageParts:(id)arg1 smartMessage:(id)arg2; 85 | -(void)hideMediaPickerAnimated:(BOOL)arg1; 86 | -(BOOL)canDismissMediaPickerWhenSuspending; 87 | -(void)parentControllerDidResume:(BOOL)arg1; 88 | -(void)prepareForResume; 89 | -(void)parentControllerDidBecomeActive; 90 | -(void)setTranscriptDimmed:(BOOL)arg1 animated:(BOOL)arg2; 91 | -(void)showConversationAndMessageForGroupID:(id)arg1 messageRowID:(int)arg2 partRowID:(int)arg3 animate:(BOOL)arg4; 92 | -(void)showConversation:(id)arg1 animate:(BOOL)arg2; 93 | -(void)showNewMessageCompositionPanelAnimated:(BOOL)arg1; 94 | -(id)transcriptController; 95 | -(BOOL)isShowingBlankTranscript; 96 | -(id)currentConversation; 97 | -(void)smsComposeControllerSendStarted:(id)arg1; 98 | -(void)smsComposeControllerCancelled:(id)arg1; 99 | -(void)showMediaPicker:(id)arg1 animated:(BOOL)arg2; 100 | -(void)didReceiveMemoryWarning; 101 | -(id)defaultFirstResponder; 102 | -(void)setEditing:(BOOL)arg1 animated:(BOOL)arg2; 103 | -(void)popoverControllerDidDismissPopover:(id)arg1; 104 | -(BOOL)shouldAutorotateToInterfaceOrientation:(int)arg1; 105 | -(void)loadView; 106 | -(void)viewDidUnload; 107 | -(void)viewWillAppear:(BOOL)arg1; 108 | -(void)viewDidAppear:(BOOL)arg1; 109 | -(void)viewWillDisappear:(BOOL)arg1; 110 | -(void)viewDidDisappear:(BOOL)arg1; 111 | -(void)willRotateToInterfaceOrientation:(int)arg1 duration:(double)arg2; 112 | -(void)didRotateFromInterfaceOrientation:(int)arg1; 113 | -(void)navigationController:(id)arg1 willShowViewController:(id)arg2 animated:(BOOL)arg3; 114 | -(void)navigationController:(id)arg1 didShowViewController:(id)arg2 animated:(BOOL)arg3; 115 | -(void)splitViewController:(id)arg1 willShowViewController:(id)arg2 invalidatingBarButtonItem:(id)arg3; 116 | -(void)splitViewController:(id)arg1 willHideViewController:(id)arg2 withBarButtonItem:(id)arg3 forPopoverController:(id)arg4; 117 | -(void)dealloc; 118 | -(id)init; 119 | -(void)didCancelComposition:(id)arg1; 120 | @end -------------------------------------------------------------------------------- /output_sample/BBBulletin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This header is generated by weak_classdump 0.0.1 3 | * on Tuesday, November 15, 2011 2:36:05 PM Eastern European Time 4 | * Operating System: Version 5.0 (Build 9A334) 5 | * weak_classdump is Freeware by Elias Limneos. 6 | * 7 | */ 8 | 9 | @interface BBBulletin : NSObject { 10 | NSString* _sectionID; 11 | NSString* _publisherRecordID; 12 | NSString* _publisherBulletinID; 13 | int _addressBookRecordID; 14 | int _sectionSubtype; 15 | BBContent* _content; 16 | BBContent* _modalAlertContent; 17 | NSDate* _date; 18 | NSDate* _endDate; 19 | NSDate* _recencyDate; 20 | int _dateFormatStyle; 21 | BOOL _dateIsAllDay; 22 | NSTimeZone* _timeZone; 23 | int _accessoryStyle; 24 | BOOL _clearable; 25 | BBSound* _sound; 26 | BBAttachments* _attachments; 27 | NSString* _unlockActionLabelOverride; 28 | NSMutableDictionary* _actions; 29 | NSArray* _buttons; 30 | BOOL _expiresOnPublisherDeath; 31 | NSDictionary* _context; 32 | NSDate* _expirationDate; 33 | NSString* _bulletinID; 34 | NSDate* _lastInterruptDate; 35 | BBAssertion* _lifeAssertion; 36 | BBObserver* _observer; 37 | unsigned realertCount_deprecated; 38 | NSSet* alertSuppressionAppIDs_deprecated; 39 | } 40 | @property (nonatomic,copy) BOOL showsSubtitle; 41 | @property (nonatomic,copy) unsigned messageNumberOfLines; 42 | @property (nonatomic,copy) BOOL usesVariableLayout; 43 | @property (nonatomic,copy) BOOL orderSectionUsingRecencyDate; 44 | @property (nonatomic,copy) BOOL showsDateInFloatingLockScreenAlert; 45 | @property (nonatomic,copy) NSString* topic; 46 | @property (nonatomic,copy) NSString* missedBannerDescriptionFormat; 47 | @property (nonatomic,copy) NSString* fullUnlockActionLabel; 48 | @property (nonatomic,copy) NSString* unlockActionLabel; 49 | @property (nonatomic,copy) NSSet* alertSuppressionAppIDs; 50 | @property (nonatomic,copy) BOOL coalescesWhenLocked; 51 | @property (nonatomic,copy) BOOL suppressesMessageForPrivacy; 52 | @property (nonatomic,copy) unsigned realertCount; 53 | @property (nonatomic,copy) BOOL inertWhenLocked; 54 | @property (nonatomic,copy) BOOL preservesUnlockActionCase; 55 | @property (nonatomic,copy) BOOL bannerShowsSubtitle; 56 | @property (nonatomic,copy) BOOL visuallyIndicatesWhenDateIsInFuture; 57 | @property (nonatomic,copy) unsigned subtypePriority; 58 | @property (nonatomic,copy) int iPodOutAlertType; 59 | @property (nonatomic,copy) NSString* bulletinID; //@synthesize _bulletinID=__bulletinID - In the implementation block 60 | @property (nonatomic,copy) NSString* section; 61 | @property (nonatomic,copy) NSString* sectionID; //@synthesize _sectionID=__sectionID - In the implementation block 62 | @property (nonatomic,copy) NSString* recordID; //@synthesize _publisherRecordID=__publisherRecordID - In the implementation block 63 | @property (nonatomic,copy) NSString* publisherBulletinID; //@synthesize _publisherBulletinID=__publisherBulletinID - In the implementation block 64 | @property (assign,nonatomic) int addressBookRecordID; //@synthesize _addressBookRecordID=__addressBookRecordID - In the implementation block 65 | @property (assign,nonatomic) int sectionSubtype; //@synthesize _sectionSubtype=__sectionSubtype - In the implementation block 66 | @property (nonatomic,copy) NSString* title; 67 | @property (nonatomic,copy) NSString* subtitle; 68 | @property (nonatomic,copy) NSString* message; 69 | @property (nonatomic,retain) BBContent* modalAlertContent; //@synthesize _modalAlertContent=__modalAlertContent - In the implementation block 70 | @property (nonatomic,retain) NSDate* date; //@synthesize _date=__date - In the implementation block 71 | @property (nonatomic,retain) NSDate* endDate; //@synthesize _endDate=__endDate - In the implementation block 72 | @property (nonatomic,retain) NSDate* recencyDate; //@synthesize _recencyDate=__recencyDate - In the implementation block 73 | @property (assign,nonatomic) int dateFormatStyle; //@synthesize _dateFormatStyle=__dateFormatStyle - In the implementation block 74 | @property (assign,nonatomic) BOOL dateIsAllDay; //@synthesize _dateIsAllDay=__dateIsAllDay - In the implementation block 75 | @property (nonatomic,retain) NSTimeZone* timeZone; //@synthesize _timeZone=__timeZone - In the implementation block 76 | @property (assign,nonatomic) int accessoryStyle; //@synthesize _accessoryStyle=__accessoryStyle - In the implementation block 77 | @property (assign,nonatomic) BOOL clearable; //@synthesize _clearable=__clearable - In the implementation block 78 | @property (nonatomic,retain) BBSound* sound; //@synthesize _sound=__sound - In the implementation block 79 | @property (nonatomic,copy) int primaryAttachmentType; 80 | @property (nonatomic,copy) BBAction* defaultAction; 81 | @property (nonatomic,copy) BBAction* acknowledgeAction; 82 | @property (nonatomic,copy) BBAction* replyAction; 83 | @property (nonatomic,copy) NSArray* buttons; //@synthesize _buttons=__buttons - In the implementation block 84 | @property (assign,nonatomic) BOOL expiresOnPublisherDeath; //@synthesize _expiresOnPublisherDeath=__expiresOnPublisherDeath - In the implementation block 85 | @property (nonatomic,retain) NSDictionary* context; //@synthesize _context=__context - In the implementation block 86 | @property (nonatomic,retain) NSDate* lastInterruptDate; //@synthesize _lastInterruptDate=__lastInterruptDate - In the implementation block 87 | @property (nonatomic,retain) BBContent* content; //@synthesize _content=__content - In the implementation block 88 | @property (nonatomic,retain) BBAttachments* attachments; //@synthesize _attachments=__attachments - In the implementation block 89 | @property (nonatomic,copy) NSString* unlockActionLabelOverride; //@synthesize _unlockActionLabelOverride=__unlockActionLabelOverride - In the implementation block 90 | @property (nonatomic,retain) NSMutableDictionary* actions; //@synthesize _actions=__actions - In the implementation block 91 | @property (nonatomic,retain) NSDate* expirationDate; //@synthesize _expirationDate=__expirationDate - In the implementation block 92 | @property (nonatomic,copy) BBAction* expireAction; 93 | @property (nonatomic,retain) BBAssertion* lifeAssertion; //@synthesize _lifeAssertion=__lifeAssertion - In the implementation block 94 | @property (nonatomic,retain) BBObserver* observer; //@synthesize _observer=__observer - In the implementation block 95 | @property (assign,nonatomic) unsigned realertCount_deprecated; 96 | @property (nonatomic,copy) NSSet* alertSuppressionAppIDs_deprecated; 97 | +(void)killSounds; 98 | +(id)bulletinWithBulletin:(id)arg1; 99 | -(id)launchBlockForButtonIndex:(unsigned)arg1 withOrigin:(int)arg2; 100 | -(id)defaultLaunchBlockWithOrigin:(int)arg1; 101 | -(id)launchBlockForButtonIndex:(unsigned)arg1; 102 | -(id)defaultLaunchBlock; 103 | -(void)killSound; 104 | -(BOOL)playSound; 105 | -(void)setSection:(id)arg1; 106 | -(id)attachments; 107 | -(void)setRecordID:(id)arg1; 108 | -(id)defaultAction; 109 | -(void)setObserver:(id)arg1; 110 | -(id)observer; 111 | -(void)setBulletinID:(id)arg1; 112 | -(id)bulletinID; 113 | -(id)lifeAssertion; 114 | -(void)setLifeAssertion:(id)arg1; 115 | -(void)_fillOutCopy:(id)arg1 withZone:(struct _NSZone*)arg2; 116 | -(id)sectionID; 117 | -(void)setSectionID:(id)arg1; 118 | -(unsigned)numberOfAdditionalAttachments; 119 | -(unsigned)numberOfAdditionalAttachmentsOfType:(int)arg1; 120 | -(id)attachmentsCreatingIfNecessary:(BOOL)arg1; 121 | -(id)_actionKeyForButtonIndex:(unsigned)arg1; 122 | -(id)responseSendBlock; 123 | -(id)_responseForActionKey:(id)arg1; 124 | -(id)expireAction; 125 | -(void)deliverResponse:(id)arg1; 126 | -(id)publisherBulletinID; 127 | -(void)setPublisherBulletinID:(id)arg1; 128 | -(int)addressBookRecordID; 129 | -(void)setAddressBookRecordID:(int)arg1; 130 | -(int)sectionSubtype; 131 | -(void)setSectionSubtype:(int)arg1; 132 | -(id)modalAlertContent; 133 | -(void)setModalAlertContent:(id)arg1; 134 | -(id)recencyDate; 135 | -(void)setRecencyDate:(id)arg1; 136 | -(int)dateFormatStyle; 137 | -(void)setDateFormatStyle:(int)arg1; 138 | -(BOOL)dateIsAllDay; 139 | -(void)setDateIsAllDay:(BOOL)arg1; 140 | -(int)accessoryStyle; 141 | -(void)setAccessoryStyle:(int)arg1; 142 | -(BOOL)clearable; 143 | -(void)setClearable:(BOOL)arg1; 144 | -(id)sound; 145 | -(void)setSound:(id)arg1; 146 | -(id)unlockActionLabelOverride; 147 | -(void)setUnlockActionLabelOverride:(id)arg1; 148 | -(id)lastInterruptDate; 149 | -(void)setLastInterruptDate:(id)arg1; 150 | -(unsigned)realertCount_deprecated; 151 | -(void)setRealertCount_deprecated:(unsigned)arg1; 152 | -(id)alertSuppressionAppIDs_deprecated; 153 | -(void)setAlertSuppressionAppIDs_deprecated:(id)arg1; 154 | -(int)primaryAttachmentType; 155 | -(void)setDefaultAction:(id)arg1; 156 | -(id)acknowledgeAction; 157 | -(void)setAcknowledgeAction:(id)arg1; 158 | -(id)replyAction; 159 | -(void)setReplyAction:(id)arg1; 160 | -(void)setExpireAction:(id)arg1; 161 | -(id)responseForDefaultAction; 162 | -(id)responseForReplyAction; 163 | -(id)responseForAcknowledgeAction; 164 | -(id)responseForButtonActionAtIndex:(unsigned)arg1; 165 | -(id)responseForExpireAction; 166 | -(BOOL)expiresOnPublisherDeath; 167 | -(void)setExpiresOnPublisherDeath:(BOOL)arg1; 168 | -(unsigned)realertCount; 169 | -(BOOL)showsSubtitle; 170 | -(unsigned)messageNumberOfLines; 171 | -(BOOL)usesVariableLayout; 172 | -(BOOL)orderSectionUsingRecencyDate; 173 | -(BOOL)showsDateInFloatingLockScreenAlert; 174 | -(id)missedBannerDescriptionFormat; 175 | -(id)fullUnlockActionLabel; 176 | -(id)unlockActionLabel; 177 | -(id)alertSuppressionAppIDs; 178 | -(BOOL)coalescesWhenLocked; 179 | -(BOOL)suppressesMessageForPrivacy; 180 | -(BOOL)inertWhenLocked; 181 | -(BOOL)preservesUnlockActionCase; 182 | -(BOOL)bannerShowsSubtitle; 183 | -(BOOL)visuallyIndicatesWhenDateIsInFuture; 184 | -(unsigned)subtypePriority; 185 | -(int)iPodOutAlertType; 186 | -(id)composedAttachmentImageForKey:(id)arg1; 187 | -(struct CGSize)composedAttachmentImageSizeForKey:(id)arg1; 188 | -(id)composedAttachmentImage; 189 | -(struct CGSize)composedAttachmentImageSize; 190 | -(id)endDate; 191 | -(void)setEndDate:(id)arg1; 192 | -(id)actions; 193 | -(void)setActions:(id)arg1; 194 | -(void)setAttachments:(id)arg1; 195 | -(id)initWithCoder:(id)arg1; 196 | -(void)encodeWithCoder:(id)arg1; 197 | -(void)setTitle:(id)arg1; 198 | -(id)date; 199 | -(void)setDate:(id)arg1; 200 | -(void)setTimeZone:(id)arg1; 201 | -(id)title; 202 | -(void)setContext:(id)arg1; 203 | -(id)context; 204 | -(id)section; 205 | -(id)content; 206 | -(void)setSubtitle:(id)arg1; 207 | -(id)subtitle; 208 | -(id)timeZone; 209 | -(id)buttons; 210 | -(void)setMessage:(id)arg1; 211 | -(id)message; 212 | -(void)dealloc; 213 | -(id)init; 214 | -(id)copyWithZone:(struct _NSZone*)arg1; 215 | -(id)description; 216 | -(id)expirationDate; 217 | -(void)setExpirationDate:(id)arg1; 218 | -(id)recordID; 219 | -(void)setButtons:(id)arg1; 220 | -(id)topic; 221 | -(void)setContent:(id)arg1; 222 | @end -------------------------------------------------------------------------------- /output_sample/SpringBoard.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This header is generated by weak_classdump 0.0.1 3 | * on Tuesday, November 15, 2011 2:37:28 PM Eastern European Time 4 | * Operating System: Version 5.0 (Build 9A334) 5 | * weak_classdump is Freeware by Elias Limneos. 6 | * 7 | */ 8 | 9 | @interface SpringBoard : UIApplication { 10 | SBUIController* _uiController; 11 | NSTimer* _menuButtonTimer; 12 | NSTimer* _lockButtonTimer; 13 | NSTimer* _idleTimer; 14 | NSTimer* _autoLockTimer; 15 | double _lastUndimEventTime; 16 | double _lastTimeIdleCausedDim; 17 | double _headsetButtonDownTime; 18 | struct __GSEvent* _headsetDownEvent; 19 | int _headsetClickCount; 20 | SBDimmingWindow* _simulatedBlankingWindow; 21 | unsigned int _headsetButtonClickCount:8; 22 | unsigned int _menuButtonClickCount:8; 23 | unsigned int _screenWasDimOnMenuDown:1; 24 | unsigned int _waitingForMenuDoubleTapAfterActingOnSingleTap:1; 25 | unsigned int _screenshotWasTaken:1; 26 | unsigned int _disableAutoDimming:1; 27 | unsigned int _dontLockOnNextLockUp:1; 28 | unsigned int _poweringDown:1; 29 | unsigned int _headsetDownDelayedActionPerformed:1; 30 | unsigned int _isSeekingInMedia:1; 31 | unsigned int _forcePortraitStatusBarOrientation:1; 32 | unsigned int _lockScreenCameraWantsIdleTimerDisabled:1; 33 | int _mediaSeekDirection; 34 | float _currentBacklightLevel; 35 | unsigned _springBoardRequestsAccelerometerEvents; 36 | int _activeInterfaceOrientation; 37 | NSURL* _menuDoubleTapURL; 38 | int _notifyDontAnimateREOToken; 39 | int _notifyDontAllowMediaHUDToken; 40 | BOOL _expectsFaceContact; 41 | BOOL _expectsFaceContactInLandscape; 42 | BOOL _proximityEventsEnabled; 43 | NSSet* _restrictionDisabledApplications; 44 | double _sampleSystemStartTime; 45 | NSDictionary* _startAppsCPUTimes; 46 | struct __CFDictionary* _registeredSimpleRemoteAppToPriority; 47 | SBApplication* _registeredSimpleRemoteApp; 48 | SBApplication* _nowPlayingApp; 49 | SBApplication* _menuButtonInterceptApp; 50 | BOOL _menuButtonInterceptAppEnabledForever; 51 | NSString* _originatingOpenURLDisplayId; 52 | NSMutableArray* _disableNowPlayingHUDAssertionBundleIds; 53 | NSMutableArray* _appsRegisteredForVolumeEvents; 54 | NSNumberFormatter* _decimalFormatter; 55 | NSNumberFormatter* _percentFormatter; 56 | NSTimer* _midnightTimer; 57 | NSDate* _midnightFireDate; 58 | struct _opaque_pthread_t* _backgroundMIGServerThread; 59 | struct _opaque_pthread_t* _iconGenerationMIGServerThread; 60 | SBAppContextHostManager* _springBoardContextHostManager; 61 | UIWindow* _springBoardContextHostWindow; 62 | NSMutableSet* _displaysRequestingAggressiveJetsamMode; 63 | } 64 | @property (nonatomic,retain) UIWindow* window; 65 | +(BOOL)registerForSystemEvents; 66 | +(BOOL)rendersLocally; 67 | -(void)_alertSheetStackChanged; 68 | -(void)endLaunchTest; 69 | -(void)_retryLaunchTestWithOptions:(id)arg1; 70 | -(void)startResumeTestNamed:(id)arg1 options:(id)arg2; 71 | -(void)startLaunchTestNamed:(id)arg1 options:(id)arg2; 72 | -(void)finishedTest:(id)arg1 extraResults:(id)arg2; 73 | -(BOOL)runTest:(id)arg1 options:(id)arg2; 74 | -(id)setNextVoiceRecognitionAudioInputPaths:(id)arg1; 75 | -(void)languageChanged; 76 | -(void)_updateRegisteredSimpleRemoteApp; 77 | -(void)_tearDownNow; 78 | -(void)noteSubstantialTransitionOccured; 79 | -(BOOL)proximityEventsEnabled; 80 | -(void)updateRejectedInputSettings; 81 | -(void)updateProximitySettings; 82 | -(void)updateMirroredDisplayOrientation; 83 | -(void)noteInterfaceOrientationChanged:(int)arg1 updateMirroredDisplays:(BOOL)arg2; 84 | -(id)_newAppsCPUTimesDictionary; 85 | -(void)_killThermallyActiveApplication; 86 | -(void)_beginThermalJetsamCPUSampling; 87 | -(void)updateRejectedInputSettingsTriggeredByRouteChangeToReceiverNotification:(BOOL)arg1; 88 | -(void)_updateRejectedInputSettingsForInCallState:(BOOL)arg1 isOutgoing:(BOOL)arg2 triggeredbyRouteWillChangeToReceiverNotification:(BOOL)arg3; 89 | -(void)userEventOccurred; 90 | -(void)noteCaseHardwarePresent; 91 | -(BOOL)allowCaseLatchLockAndUnlock; 92 | -(void)setBacklightFactorToZeroAfterDelay; 93 | -(void)didIdle; 94 | -(void)autoLock; 95 | -(double)nextIdleTimeDuration; 96 | -(double)nextLockTimeDuration; 97 | -(void)clearIdleTimer; 98 | -(BOOL)isNowPlayingAppPlaying; 99 | -(void)animateBacklightToFactor:(float)arg1 duration:(double)arg2 didFinishTarget:(id)arg3 selector:(SEL)arg4; 100 | -(void)dimToBlackKeepingTouchOn; 101 | -(BOOL)shouldDimToBlackInsteadOfLock; 102 | -(void)cancelSetBacklightFactorToZeroAfterDelay; 103 | -(void)setBacklightFactorToZero; 104 | -(void)_midnightPassed; 105 | -(void)_adjustMidnightTimerAfterSleep; 106 | -(void)animateBacklightToFactor:(float)arg1 duration:(double)arg2 keepTouchOn:(BOOL)arg3 didFinishTarget:(id)arg4 selector:(SEL)arg5; 107 | -(void)setBacklightFactor:(float)arg1 keepTouchOn:(BOOL)arg2; 108 | -(BOOL)applicationCanOpenURL:(id)arg1 publicURLsOnly:(BOOL)arg2; 109 | -(void)showAlertForUnhandledURL:(id)arg1 error:(int)arg2; 110 | -(void)_openURLCore:(id)arg1 display:(id)arg2 publicURLsOnly:(BOOL)arg3 animating:(BOOL)arg4 additionalActivationFlag:(unsigned)arg5; 111 | -(void)applicationOpenURL:(id)arg1 publicURLsOnly:(BOOL)arg2 animating:(BOOL)arg3 sender:(id)arg4 additionalActivationFlag:(unsigned)arg5; 112 | -(void)applicationOpenURL:(id)arg1 publicURLsOnly:(BOOL)arg2 animating:(BOOL)arg3; 113 | -(void)applicationOpenURL:(id)arg1 publicURLsOnly:(BOOL)arg2 animating:(BOOL)arg3 sender:(id)arg4; 114 | -(BOOL)isMetaHostingEnabled; 115 | -(void)pinPolicyChanged; 116 | -(void)_performDelayedHeadsetClickTimeout; 117 | -(void)_performDelayedHeadsetActionForAssistant; 118 | -(void)_performDelayedHeadsetActionForVoiceControl; 119 | -(void)_setDeferredHeadsetButtonDownEvent:(struct __GSEvent*)arg1; 120 | -(void)_imagesMounted; 121 | -(void)_iapExtendedModeReset; 122 | -(void)_launchMusicPlayerSuspendedAndStartMusic; 123 | -(id)simpleRemoteDestinationApp; 124 | -(void)powerDown; 125 | -(void)_powerDownNow; 126 | -(void)_rebootNow; 127 | -(void)hideSpringBoardStatusBar; 128 | -(BOOL)caseIsEnabledAndLatched; 129 | -(void)lockButtonWasHeld; 130 | -(void)activateAssistantWithOptions:(id)arg1 withCompletion:(id)arg2; 131 | -(void)_startSeekWithDirection:(id)arg1; 132 | -(BOOL)respondImmediatelyToMenuSingleTapAllowingDoubleTap:(BOOL*)arg1; 133 | -(void)_giveUpOnMenuDoubleTap; 134 | -(void)_setLockButtonTimer:(id)arg1; 135 | -(void)runFieldTestScript; 136 | -(BOOL)shouldRunFieldTestScript; 137 | -(void)_menuButtonWasHeld; 138 | -(double)_menuHoldTime; 139 | -(void)_activateAssistantWithEvent:(int)arg1 withCompletion:(id)arg2; 140 | -(void)powerDownCanceled:(id)arg1; 141 | -(void)cancelMenuButtonRequests; 142 | -(void)_setMenuButtonTimer:(id)arg1; 143 | -(void)_primeMenuButtonAssistant; 144 | -(void)_handleMenuButtonEvent; 145 | -(BOOL)handleDoubleTapAction; 146 | -(void)handleMenuDoubleTap; 147 | -(void)clearMenuButtonTimer; 148 | -(void)goToSpotlight:(BOOL)arg1; 149 | -(BOOL)iapIsInExtendedMode; 150 | -(BOOL)canShowNowPlayingControls; 151 | -(void)debuggingAndDemoPrefsWereChanged; 152 | -(void)_testPhoneAlerts; 153 | -(void)stopListeningForAssistantActivationGesture; 154 | -(void)checkPasscodeCompliance; 155 | -(void)relaunchSpringBoard; 156 | -(void)_relaunchSpringBoardNow; 157 | -(id)_settingLanguageStringForNewLanguage; 158 | -(void)_rotateView:(id)arg1 toOrientation:(int)arg2; 159 | -(void)frontDisplayDidChange; 160 | -(void)beginListeningForAssistantActivationGesture; 161 | -(void)setBacklightFactor:(float)arg1; 162 | -(void)clearLaunchedAfterLanguageRestart; 163 | -(void)ALSPrefsChanged:(id)arg1; 164 | -(void)setBacklightLevel:(float)arg1 permanently:(BOOL)arg2; 165 | -(float)systemBacklightLevel; 166 | -(void)autoLockPrefsChanged; 167 | -(void)setupMidnightTimer; 168 | -(void)_spokenLanguageChanged; 169 | -(void)_effectiveSettingsDidChange; 170 | -(void)_proximityChanged:(id)arg1; 171 | -(void)_nowPlayingAppDidChangeNotification:(id)arg1; 172 | -(void)_iapServerConnectionDiedNotification:(id)arg1; 173 | -(void)showThermalAlertIfNecessary; 174 | -(void)respondToCurrentThermalCondition; 175 | -(void)updateStackshotSettings; 176 | -(void)updatePowerlog; 177 | -(void)setZoomTouchEnabled:(BOOL)arg1; 178 | -(void)smsPrefsChanged; 179 | -(void)updateMenuDoubleTapSettings; 180 | -(void)_migrateMenuDoubleTapSetting; 181 | -(void)updateCapabilitiesAndIconVisibility; 182 | -(BOOL)launchedAfterLanguageRestart; 183 | -(void)_performDeferredLaunchWork; 184 | -(void)_lockdownActivationChanged:(id)arg1; 185 | -(void)_updateRingerStateWithVisuals:(BOOL)arg1 updatePreferenceRegister:(BOOL)arg2; 186 | -(void)loadDebuggingAndDemoPrefs; 187 | -(void)setSystemAggressiveJetsamEnabled:(BOOL)arg1 forDisplay:(id)arg2; 188 | -(void)_assistantPreferenceDidChange:(id)arg1; 189 | -(void)_createLogFile; 190 | -(void)_keyboardAvailabilityChanged; 191 | -(BOOL)_isSwitcherShowing; 192 | -(void)_accessibilityDeactivationAnimationWillBegin; 193 | -(double)_accessibilityDeactivationAnimationStartDelay; 194 | -(void)_accessibilityActivationAnimationWillBegin; 195 | -(double)_accessibilityActivationAnimationStartDelay; 196 | -(BOOL)_accessibilityIsSBStealingEvents; 197 | -(void)_accessibilityProcessHIDEvent:(struct __IOHIDEvent*)arg1; 198 | -(void*)_accessibilityEventTapCallback; 199 | -(void)_accessibilitySetEventTapCallback:(void*)arg1; 200 | -(BOOL)_accessibilityObjectWithinProximity; 201 | -(BOOL)_accessibilityIsSystemGestureActive; 202 | -(id)_accessibilityRunningApplications; 203 | -(id)_accessibilityTopDisplay; 204 | -(id)_accessibilityFrontMostApplication; 205 | -(id)formattedPercentStringForNumber:(id)arg1; 206 | -(id)formattedDecimalStringForNumber:(id)arg1; 207 | -(unsigned)simpleRemoteRoutingPriorityForApplication:(id)arg1; 208 | -(void)setSimpleRemoteRoutingPriority:(unsigned)arg1 forApplication:(id)arg2; 209 | -(void)setNowPlayingInfo:(id)arg1 forApplication:(id)arg2; 210 | -(BOOL)isMusicPlayerPlaying; 211 | -(id)nowPlayingApp; 212 | -(BOOL)isMusicPlayerInNowPlayingView; 213 | -(BOOL)expectsFaceContactInLandscape; 214 | -(BOOL)expectsFaceContact; 215 | -(void)reportStatusBarOrientationAsPortrait:(BOOL)arg1; 216 | -(int)interfaceOrientationForCurrentDeviceOrientation; 217 | -(int)activeInterfaceOrientationWithoutConsideringAlerts; 218 | -(void)noteInterfaceOrientationChanged:(int)arg1; 219 | -(void)updateRejectedInputSettingsForInCallState:(BOOL)arg1 isOutgoing:(BOOL)arg2; 220 | -(void)caseLatchWantsToAttemptLock; 221 | -(void)keyboardOrCaseLatchWantsToAttemptUnlock:(id)arg1; 222 | -(void)lockAfterCall; 223 | -(void)hideSimulatedScreenBlank; 224 | -(void)showSimulatedScreenBlank; 225 | -(float)currentBacklightLevel; 226 | -(void)setBacklightFactorPending:(float)arg1; 227 | -(id)appsRegisteredForVolumeEvents; 228 | -(void)setAppRegisteredForVolumeEvents:(id)arg1 isActive:(BOOL)arg2; 229 | -(BOOL)menuButtonInterceptAppEnabledForever; 230 | -(id)menuButtonInterceptApp; 231 | -(void)setMenuButtonInterceptApp:(id)arg1 forever:(BOOL)arg2; 232 | -(void)applicationOpenURL:(id)arg1 publicURLsOnly:(BOOL)arg2 animating:(BOOL)arg3 additionalActivationFlag:(unsigned)arg4; 233 | -(id)metaHostWindow; 234 | -(id)metaHostView; 235 | -(void)setMetaHostingEnabled:(BOOL)arg1; 236 | -(void)showSpringBoardStatusBar; 237 | -(BOOL)isDisplayIdentifierRestrictionDisabled:(id)arg1; 238 | -(void)sendSimpleRemoteActionToRegisteredApp:(int)arg1; 239 | -(BOOL)relaunchingForSetupLanguageChange; 240 | -(void)powerDownRequested:(id)arg1; 241 | -(BOOL)isPoweringDown; 242 | -(void)reboot; 243 | -(void)extendButtonTimersForWake; 244 | -(void)_runActivateAssistantTest; 245 | -(void)setAppDisabledNowPlayingHUD:(BOOL)arg1 bundleIdentifier:(id)arg2; 246 | -(BOOL)canShowLockScreenCameraButton; 247 | -(BOOL)canShowLockScreenHUDControls; 248 | -(void)showEDGEActivationFailureAlert:(id)arg1 reason:(id)arg2 forMMS:(BOOL)arg3; 249 | -(void)wipeDeviceNow; 250 | -(void)appleIconViewRemoved; 251 | -(void)writeLogFile; 252 | -(BOOL)isCameraApp; 253 | -(void)systemWillSleep; 254 | -(void)applicationOpenURL:(id)arg1 publicURLsOnly:(BOOL)arg2; 255 | -(void)_localeChanged; 256 | -(void)profileConnectionDidReceiveEffectiveSettingsChangedNotification:(id)arg1 userInfo:(id)arg2; 257 | -(void)profileConnectionDidReceivePasscodePolicyChangedNotification:(id)arg1 userInfo:(id)arg2; 258 | -(void)profileConnectionDidReceiveRestrictionChangedNotification:(id)arg1 userInfo:(id)arg2; 259 | -(void)undim; 260 | -(int)statusBarOrientation; 261 | -(void)applicationDidFinishLaunching:(id)arg1; 262 | -(void)_setStatusBarShowsProgress:(BOOL)arg1; 263 | -(void)mediaKeyDown:(struct __GSEvent*)arg1; 264 | -(void)accessoryKeyStateChanged:(struct __GSEvent*)arg1; 265 | -(void)headsetButtonDown:(struct __GSEvent*)arg1; 266 | -(void)headsetButtonUp:(struct __GSEvent*)arg1; 267 | -(void)setProximityEventsEnabled:(BOOL)arg1; 268 | -(void)applicationSuspend:(struct __GSEvent*)arg1; 269 | -(void)applicationOpenURL:(id)arg1; 270 | -(int)activeInterfaceOrientation; 271 | -(void)userDefaultsDidChange:(id)arg1; 272 | -(void)setSystemVolumeHUDEnabled:(BOOL)arg1 forAudioCategory:(id)arg2; 273 | -(void)didReceiveMemoryWarning; 274 | -(void)anotherApplicationFinishedLaunching:(struct __GSEvent*)arg1; 275 | -(void)_applicationOpenURL:(id)arg1 event:(struct __GSEvent*)arg2; 276 | -(void)applicationSuspended:(struct __GSEvent*)arg1; 277 | -(void)applicationExited:(struct __GSEvent*)arg1; 278 | -(void)applicationSuspendedSettingsUpdated:(struct __GSEvent*)arg1; 279 | -(void)handleKeyEvent:(struct __GSEvent*)arg1; 280 | -(void)ringerChanged:(int)arg1; 281 | -(void)volumeChanged:(struct __GSEvent*)arg1; 282 | -(void)mediaKeyUp:(struct __GSEvent*)arg1; 283 | -(void)lockDevice:(struct __GSEvent*)arg1; 284 | -(void)quitTopApplication:(struct __GSEvent*)arg1; 285 | -(void)setBacklightLevel:(float)arg1; 286 | -(void)statusBarReturnActionTap:(struct __GSEvent*)arg1; 287 | -(void)resetIdleTimerAndUndim; 288 | -(void)menuButtonDown:(struct __GSEvent*)arg1; 289 | -(void)menuButtonUp:(struct __GSEvent*)arg1; 290 | -(void)lockButtonDown:(struct __GSEvent*)arg1; 291 | -(void)lockButtonUp:(struct __GSEvent*)arg1; 292 | -(void)headsetAvailabilityChanged:(struct __GSEvent*)arg1; 293 | -(void)setExpectsFaceContact:(BOOL)arg1 inLandscape:(BOOL)arg2; 294 | -(int)alertInterfaceOrientation; 295 | -(void)setIdleTimerDisabled:(BOOL)arg1; 296 | -(unsigned)_frontmostApplicationPort; 297 | -(void)setWantsVolumeButtonEvents:(BOOL)arg1; 298 | -(unsigned)simpleRemoteRoutingPriority; 299 | -(BOOL)openURL:(id)arg1; 300 | -(BOOL)canOpenURL:(id)arg1; 301 | -(void)_overrideDefaultInterfaceOrientationWithOrientation:(int)arg1; 302 | -(void)_removeDefaultInterfaceOrientatationOverride; 303 | -(int)_frontMostAppOrientation; 304 | -(BOOL)_alertWindowShouldRotate; 305 | -(int)statusBar:(id)arg1 styleForRequestedStyle:(int)arg2 overrides:(int)arg3; 306 | -(double)windowRotationDuration; 307 | -(void)significantTimeChange; 308 | -(void)batteryStatusDidChange:(id)arg1; 309 | -(void)setSuspensionAnimationDelay:(double)arg1; 310 | -(void)setHardwareKeyboardLayoutName:(id)arg1; 311 | -(void)setExpectsFaceContact:(BOOL)arg1; 312 | -(void)applicationWillOrderInContext:(id)arg1 windowLevel:(float)arg2 windowOutput:(int)arg3; 313 | -(void)applicationDidOrderOutContext:(id)arg1; 314 | -(void)didDismissMiniAlert; 315 | -(void)willDisplayMiniAlert:(int*)arg1; 316 | -(void)willDismissMiniAlert:(int*)arg1 andShowAnother:(BOOL)arg2; 317 | -(void)setHasMiniAlerts:(BOOL)arg1; 318 | -(BOOL)isLocked; 319 | -(BOOL)canShowAlerts; 320 | -(id)displayIDForURLScheme:(id)arg1 isPublic:(BOOL)arg2; 321 | -(void)tearDown; 322 | -(void)_significantTimeChange; 323 | -(id)init; 324 | -(void)localeChanged; 325 | -(void)resetIdleTimerAndUndim:(BOOL)arg1; 326 | -(void)launchMusicPlayerSuspended; 327 | @end -------------------------------------------------------------------------------- /output_sample/UIView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This header is generated by weak_classdump 0.0.1 3 | * on Tuesday, November 15, 2011 2:37:36 PM Eastern European Time 4 | * Operating System: Version 5.0 (Build 9A334) 5 | * weak_classdump is Freeware by Elias Limneos. 6 | * 7 | */ 8 | 9 | @interface UIView : UIResponder { 10 | CALayer* _layer; 11 | id _tapInfo; 12 | id _gestureInfo; 13 | NSMutableArray* _gestureRecognizers; 14 | NSArray* _subviewCache; 15 | float _charge; 16 | int _tag; 17 | UIViewController* _viewDelegate; 18 | NSString* _backgroundColorSystemColorName; 19 | struct { 20 | unsigned int userInteractionDisabled:1; 21 | unsigned int implementsDrawRect:1; 22 | unsigned int implementsDidScroll:1; 23 | unsigned int implementsMouseTracking:1; 24 | unsigned int hasBackgroundColor:1; 25 | unsigned int isOpaque:1; 26 | unsigned int becomeFirstResponderWhenCapable:1; 27 | unsigned int interceptMouseEvent:1; 28 | unsigned int deallocating:1; 29 | unsigned int debugFlash:1; 30 | unsigned int debugSkippedSetNeedsDisplay:1; 31 | unsigned int debugScheduledDisplayIsRequired:1; 32 | unsigned int isInAWindow:1; 33 | unsigned int isAncestorOfFirstResponder:1; 34 | unsigned int dontAutoresizeSubviews:1; 35 | unsigned int autoresizeMask:6; 36 | unsigned int patternBackground:1; 37 | unsigned int fixedBackgroundPattern:1; 38 | unsigned int dontAnimate:1; 39 | unsigned int superLayerIsView:1; 40 | unsigned int layerKitPatternDrawing:1; 41 | unsigned int multipleTouchEnabled:1; 42 | unsigned int exclusiveTouch:1; 43 | unsigned int hasViewController:1; 44 | unsigned int needsDidAppearOrDisappear:1; 45 | unsigned int gesturesEnabled:1; 46 | unsigned int deliversTouchesForGesturesToSuperview:1; 47 | unsigned int chargeEnabled:1; 48 | unsigned int skipsSubviewEnumeration:1; 49 | unsigned int needsDisplayOnBoundsChange:1; 50 | unsigned int hasTiledLayer:1; 51 | unsigned int hasLargeContent:1; 52 | unsigned int isInAnimatedVCTransition:1; 53 | unsigned int traversalMark:1; 54 | unsigned int appearanceIsInvalid:1; 55 | unsigned int monitorsSubtree:1; 56 | } _viewFlags; 57 | } 58 | @property (assign,nonatomic) struct CGPoint integralCenter; 59 | @property (getter=_caretRect,nonatomic,copy) struct CGRect caretRect; 60 | @property (assign,nonatomic) BOOL gesturesEnabled; 61 | @property (assign,nonatomic) BOOL deliversTouchesForGesturesToSuperview; 62 | @property (assign,nonatomic) BOOL skipsSubviewEnumeration; 63 | @property (assign,nonatomic) BOOL viewTraversalMark; 64 | @property (assign,setter=_setViewDelegate:,getter=_viewDelegate,nonatomic) UIViewController* viewDelegate; 65 | @property (assign,getter=isInAnimatedVCTransition,nonatomic) BOOL inAnimatedVCTransition; 66 | @property (assign,setter=_setMonitorsSubtree:,getter=_monitorsSubtree,nonatomic) BOOL monitorsSubtree; 67 | @property (setter=_setBackgroundColorSystemColorName:,getter=_backgroundColorSystemColorName,nonatomic,retain) NSString* backgroundColorSystemColorName; 68 | @property (assign,getter=isUserInteractionEnabled,nonatomic) BOOL userInteractionEnabled; 69 | @property (assign,nonatomic) int tag; //@synthesize _tag=__tag - In the implementation block 70 | @property (nonatomic,copy) CALayer* layer; //@synthesize _layer=__layer - In the implementation block 71 | +(void)_performWithoutAnimation:(id)arg1; 72 | +(void)flush; 73 | +(void)beginAnimations:(id)arg1; 74 | +(void)setAnimationDuration:(double)arg1; 75 | +(void)setAnimationBeginsFromCurrentState:(BOOL)arg1; 76 | +(void)endAnimations; 77 | +(void)setAnimationsEnabled:(BOOL)arg1; 78 | +(void)setAnimationCurve:(int)arg1; 79 | +(void)setAnimationDelay:(double)arg1; 80 | +(void)beginAnimations:(id)arg1 context:(void*)arg2; 81 | +(void)setAnimationDidStopSelector:(SEL)arg1; 82 | +(void)setAnimationDelegate:(id)arg1; 83 | +(void)_setIsResponderAncestorOfFirstResponder:(BOOL)arg1 startingAtFirstResponder:(id)arg2; 84 | +(Class)layerClass; 85 | +(id)appearance; 86 | +(id)appearanceWhenContainedIn:(Class)arg1; 87 | +(void)_performCustomizableAppearanceModifications:(id)arg1; 88 | +(void)throttledFlush; 89 | +(BOOL)areAnimationsEnabled; 90 | +(void)setAnimationRepeatAutoreverses:(BOOL)arg1; 91 | +(void)commitAnimations; 92 | +(BOOL)_isInAnimationBlock; 93 | +(void)_setAnimationAttributes:(id)arg1; 94 | +(float)_currentAnimationDuration; 95 | +(void)setAnimationPosition:(struct CGPoint)arg1; 96 | +(void)disableAnimation; 97 | +(void)enableAnimation; 98 | +(void)_inheritAnimationParameters; 99 | +(void)setAnimationFrameInterval:(double)arg1; 100 | +(void)setAnimationStartDate:(id)arg1; 101 | +(void)setAnimationStartTime:(double)arg1; 102 | +(void)setAnimationRepeatCount:(float)arg1; 103 | +(void)setAnimationAutoreverses:(BOOL)arg1; 104 | +(void)setAnimationFromCurrentState:(BOOL)arg1; 105 | +(void)setAnimationRoundsToInteger:(BOOL)arg1; 106 | +(void)setAnimationTransition:(int)arg1 forView:(id)arg2 cache:(BOOL)arg3; 107 | +(void)setAnimationWillStartSelector:(SEL)arg1; 108 | +(void)_setAnimationFilter:(int)arg1 forView:(id)arg2; 109 | +(void)_setAnimationFilterValue:(float)arg1; 110 | +(void)_setupAnimationWithDuration:(double)arg1 delay:(double)arg2 view:(id)arg3 options:(unsigned)arg4 animations:(id)arg5 start:(id)arg6 completion:(id)arg7; 111 | +(void)_animateWithDuration:(double)arg1 delay:(double)arg2 options:(unsigned)arg3 animations:(id)arg4 start:(id)arg5 completion:(id)arg6; 112 | +(void)animateWithDuration:(double)arg1 delay:(double)arg2 options:(unsigned)arg3 animations:(id)arg4 completion:(id)arg5; 113 | +(void)animateWithDuration:(double)arg1 animations:(id)arg2 completion:(id)arg3; 114 | +(void)animateWithDuration:(double)arg1 animations:(id)arg2; 115 | +(void)transitionWithView:(id)arg1 duration:(double)arg2 options:(unsigned)arg3 animations:(id)arg4 completion:(id)arg5; 116 | +(void)transitionFromView:(id)arg1 toView:(id)arg2 duration:(double)arg3 options:(unsigned)arg4 completion:(id)arg5; 117 | +(void)setAnimationTransition:(int)arg1 forView:(id)arg2; 118 | +(void)_setInvalidatesViewUponCreation:(BOOL)arg1; 119 | +(BOOL)_invalidatesViewUponCreation; 120 | +(void)_transitionFromView:(id)arg1 toView:(id)arg2 duration:(double)arg3 options:(unsigned)arg4 animations:(id)arg5 completion:(id)arg6; 121 | +(void)_beginDisablingPromoteDescendantToFirstResponder; 122 | +(void)_endDisablingPromoteDescendantToFirstResponder; 123 | +(id)_topMostView:(id)arg1; 124 | +(id)_tintColorForStyle:(int)arg1; 125 | -(id)abSubviewAtIndexPath:(id)arg1; 126 | -(id)abIndexPathOfSubview:(id)arg1; 127 | -(void)abSetLayoutDebuggingColor:(id)arg1; 128 | -(void)sbui_drawEagerly; 129 | -(id)mpPendingValues; 130 | -(void)mpSetPendingValue:(id)arg1 forProperty:(id)arg2; 131 | -(id)mpPendingValueOrValueForProperty:(id)arg1; 132 | -(void)mpSetPendingIsHiddenValue:(id)arg1; 133 | -(BOOL)mpIsHiddenOrPendingIsHidden; 134 | -(id)firstLabelSubview; 135 | -(void)mpPerformRecursiveBlock:(id)arg1; 136 | -(void)mpSetFrameOrigin:(struct CGPoint)arg1; 137 | -(void)mpSetFrameSize:(struct CGSize)arg1; 138 | -(id)mpAncestorViewController; 139 | -(BOOL)pl_isOnScreen:(id)arg1; 140 | -(void)showActionSheet:(id)arg1 animated:(BOOL)arg2; 141 | -(struct CGRect)_gkRectForDisclosureIndicatorInBounds:(struct CGRect)arg1; 142 | -(void)_gkDrawDisclosureIndicator; 143 | -(void)setIntegralCenter:(struct CGPoint)arg1; 144 | -(struct CGPoint)integralCenter; 145 | -(struct UIEdgeInsets)_gkAddFormSheetFrameImagesAtOffset:(struct CGPoint)arg1; 146 | -(id)_gkTileBackgroundImage:(id)arg1 existingTiles:(id)arg2 withBounds:(struct CGRect)arg3 offset:(struct CGSize)arg4; 147 | -(id)_gkParentCell; 148 | -(void)_gkAddStandardFadeTransition; 149 | -(id)_mapkit_currentLayer; 150 | -(id)_mapKit_mapView; 151 | -(unsigned)_mapkit_countOfSet:(id)arg1 minusSubset:(id)arg2; 152 | -(struct CADoubleRect)_mapkit_doubleFrame; 153 | -(id)initWithFrame:(struct CGRect)arg1; 154 | -(void)setOpaque:(BOOL)arg1; 155 | -(void)setAutoresizingMask:(unsigned)arg1; 156 | -(void)setNeedsDisplayOnBoundsChange:(BOOL)arg1; 157 | -(void)setUserInteractionEnabled:(BOOL)arg1; 158 | -(void)setNeedsDisplay; 159 | -(struct CGRect)bounds; 160 | -(struct CGSize)size; 161 | -(void)drawRect:(struct CGRect)arg1; 162 | -(void)setBackgroundColor:(id)arg1; 163 | -(id)initWithCoder:(id)arg1; 164 | -(void)_populateArchivedSubviews:(id)arg1; 165 | -(void)encodeWithCoder:(id)arg1; 166 | -(void)setNeedsLayout; 167 | -(id)window; 168 | -(float)alpha; 169 | -(BOOL)isHidden; 170 | -(void)setHidden:(BOOL)arg1; 171 | -(void)setAlpha:(float)arg1; 172 | -(void)didMoveToWindow; 173 | -(void)layoutSubviews; 174 | -(void)removeFromSuperview; 175 | -(void)addSubview:(id)arg1; 176 | -(void)sendSubviewToBack:(id)arg1; 177 | -(void)bringSubviewToFront:(id)arg1; 178 | -(struct CGRect)frame; 179 | -(void)setFrame:(struct CGRect)arg1; 180 | -(void)setBounds:(struct CGRect)arg1; 181 | -(struct CGSize)sizeThatFits:(struct CGSize)arg1; 182 | -(void)setValue:(id)arg1 forKey:(id)arg2; 183 | -(id)subviews; 184 | -(id)_viewDelegate; 185 | -(id)nextResponder; 186 | -(id)gestureRecognizers; 187 | -(id)hitTest:(struct CGPoint)arg1 withEvent:(id)arg2; 188 | -(BOOL)_usesDifferentHitTestForGestures; 189 | -(struct CGPoint)convertPoint:(struct CGPoint)arg1 toView:(id)arg2; 190 | -(id)_gestureTargetHitTest:(struct CGPoint)arg1 withEvent:(id)arg2; 191 | -(float)charge; 192 | -(id)superview; 193 | -(BOOL)isMultipleTouchEnabled; 194 | -(BOOL)_shouldApplyExclusiveTouch; 195 | -(struct CGRect)convertRect:(struct CGRect)arg1 toView:(id)arg2; 196 | -(struct CGRect)extent; 197 | -(id)_window; 198 | -(id)layer; 199 | -(void)setSize:(struct CGSize)arg1; 200 | -(id)scriptingInfoWithChildren; 201 | -(void)setTag:(int)arg1; 202 | -(void)setPosition:(struct CGPoint)arg1; 203 | -(BOOL)_isChargeEnabled; 204 | -(struct CGPoint)convertPoint:(struct CGPoint)arg1 fromView:(id)arg2; 205 | -(BOOL)_canHandleStatusBarTouchAtLocation:(struct CGPoint)arg1; 206 | -(BOOL)isUserInteractionEnabled; 207 | -(id)_layer; 208 | -(struct CGPoint)frameOrigin; 209 | -(struct CGPoint)center; 210 | -(struct CGAffineTransform)transform; 211 | -(void)setCenter:(struct CGPoint)arg1; 212 | -(void)setTransform:(struct CGAffineTransform)arg1; 213 | -(id)backgroundColor; 214 | -(BOOL)isOpaque; 215 | -(BOOL)cancelTouchTracking; 216 | -(void)gestureEnded:(struct __GSEvent*)arg1; 217 | -(BOOL)_cancelTapDelegateTracking; 218 | -(BOOL)cancelMouseTracking; 219 | -(BOOL)containsView:(id)arg1; 220 | -(BOOL)_containedInAbsoluteResponderChain; 221 | -(id)_firstResponder; 222 | -(BOOL)_becomeFirstResponderWhenPossible; 223 | -(void)addAnimation:(id)arg1 forKey:(id)arg2; 224 | -(void)_clearAnimationFilters; 225 | -(BOOL)useBlockyMagnificationInClassic; 226 | -(void)setContentScaleFactor:(float)arg1; 227 | -(void)setClearsContextBeforeDrawing:(BOOL)arg1; 228 | -(void)setContentMode:(int)arg1; 229 | -(void)setContentStretch:(struct CGRect)arg1; 230 | -(void)setClipsToBounds:(BOOL)arg1; 231 | -(void)_encodeFrameWithCoder:(id)arg1; 232 | -(void)_encodeBackgroundColorWithCoder:(id)arg1; 233 | -(BOOL)clearsContextBeforeDrawing; 234 | -(int)contentMode; 235 | -(struct CGRect)contentStretch; 236 | -(BOOL)clipsToBounds; 237 | -(void)_invalidateSubviewCache; 238 | -(void)removeAllGestureRecognizers; 239 | -(BOOL)_shouldResignFirstResponderWithInteractionDisabled; 240 | -(void)_promoteDescendantToFirstResponderIfNecessary; 241 | -(BOOL)isEnabled; 242 | -(id)tapDelegate; 243 | -(struct CGRect)convertRect:(struct CGRect)arg1 fromView:(id)arg2; 244 | -(id)_rootForKeyResponderCycle; 245 | -(void)_collectKeyViews:(id)arg1; 246 | -(int)_topToBottomLeftToRightViewCompare:(id)arg1; 247 | -(struct CGColor*)_backgroundCGColor; 248 | -(BOOL)_canDrawContent; 249 | -(void)_invalidateAppearanceForSubviewsOfClass:(Class)arg1; 250 | -(id)_appearanceContainer; 251 | -(void)_createLayerWithFrame:(struct CGRect)arg1; 252 | -(void)setCharge:(float)arg1; 253 | -(void)_setChargeEnabled:(BOOL)arg1; 254 | -(void)setTapDelegate:(id)arg1; 255 | -(id)_nextKeyResponder; 256 | -(id)_previousKeyResponder; 257 | -(void)_clearBecomeFirstResponderWhenCapable; 258 | -(void)startHeartbeat:(SEL)arg1 inRunLoopMode:(id)arg2; 259 | -(void)stopHeartbeat:(SEL)arg1; 260 | -(BOOL)canHandleSwipes; 261 | -(int)swipe:(int)arg1 withEvent:(struct __GSEvent*)arg2; 262 | -(BOOL)_hasOpaqueBackground; 263 | -(void)_setBackgroundColorSystemColorName:(id)arg1; 264 | -(id)_backgroundColorSystemColorName; 265 | -(BOOL)_shouldAnimatePropertyWithKey:(id)arg1; 266 | -(BOOL)_appearanceIsInvalid; 267 | -(void)_setAppearanceIsInvalid:(BOOL)arg1; 268 | -(int)tag; 269 | -(id)_gestureInfo; 270 | -(id)_gestureRecognizers; 271 | -(struct CGPoint)position; 272 | -(BOOL)_needsLayoutOnAnimatedFrameChangeForNewFrame:(struct CGRect)arg1; 273 | -(void)resizeSubviewsWithOldSize:(struct CGSize)arg1; 274 | -(void)layoutBelowIfNeeded; 275 | -(BOOL)pointInside:(struct CGPoint)arg1 withEvent:(id)arg2; 276 | -(id)_interceptEvent:(id)arg1; 277 | -(void)resizeWithOldSuperviewSize:(struct CGSize)arg1; 278 | -(unsigned)autoresizingMask; 279 | -(void)_resizeWithOldSuperviewSize:(struct CGSize)arg1; 280 | -(void)_resizeWithOldSuperviewSize_ancient:(struct CGSize)arg1; 281 | -(BOOL)_needsLayoutOnAnimatedBoundsChangeForNewBounds:(struct CGRect)arg1; 282 | -(void)setFrameOrigin:(struct CGPoint)arg1; 283 | -(void)setMultipleTouchEnabled:(BOOL)arg1; 284 | -(void)setExclusiveTouch:(BOOL)arg1; 285 | -(BOOL)isExclusiveTouch; 286 | -(struct CGSize)convertSize:(struct CGSize)arg1 toView:(id)arg2; 287 | -(struct CGSize)convertSize:(struct CGSize)arg1 fromView:(id)arg2; 288 | -(struct CGPoint)_convertOffset:(struct CGPoint)arg1 toView:(id)arg2; 289 | -(struct CGPoint)_convertOffset:(struct CGPoint)arg1 fromView:(id)arg2; 290 | -(struct CGRect)hitRect; 291 | -(void)setFrame:(struct CGRect)arg1 forFields:(int)arg2; 292 | -(void)setRotationBy:(float)arg1; 293 | -(void)setAutoresizesSubviews:(BOOL)arg1; 294 | -(BOOL)autoresizesSubviews; 295 | -(void)sizeToFit; 296 | -(struct CGPoint)origin; 297 | -(void)setOrigin:(struct CGPoint)arg1; 298 | -(void)_addSubview:(id)arg1 positioned:(int)arg2 relativeTo:(id)arg3; 299 | -(void)_movedToFront; 300 | -(id)_viewControllerForAncestor; 301 | -(void)_setBackgroundCGColor:(struct CGColor*)arg1 withSystemColorName:(id)arg2; 302 | -(BOOL)viewTraversalMark; 303 | -(BOOL)_associatedViewControllerForwardsAppearanceCallbacks:(id)arg1 performHierarchyCheck:(BOOL)arg2 isRoot:(BOOL)arg3; 304 | -(BOOL)isInAnimatedVCTransition; 305 | -(void)setInAnimatedVCTransition:(BOOL)arg1; 306 | -(void)setViewTraversalMark:(BOOL)arg1; 307 | -(void)_willMoveToWindow:(id)arg1; 308 | -(void)willMoveToWindow:(id)arg1; 309 | -(id)_findFirstSubviewWantingToBecomeFirstResponder; 310 | -(void)_makeSubtreePerformSelector:(SEL)arg1 withObject:(id)arg2 withObject:(id)arg3 copySublayers:(BOOL)arg4; 311 | -(void)_makeSubtreePerformSelector:(SEL)arg1 withObject:(id)arg2; 312 | -(void)deferredBecomeFirstResponder; 313 | -(void)_didMoveFromWindow:(id)arg1 toWindow:(id)arg2; 314 | -(BOOL)_shouldTryPromoteDescendantToFirstResponder; 315 | -(void)movedFromSuperview:(id)arg1; 316 | -(void)didMoveToSuperview; 317 | -(id)viewWithTag:(int)arg1; 318 | -(void)layoutIfNeeded; 319 | -(void)_removeFirstResponderFromSubtree; 320 | -(void)insertSubview:(id)arg1 atIndex:(int)arg2; 321 | -(void)exchangeSubviewAtIndex:(int)arg1 withSubviewAtIndex:(int)arg2; 322 | -(void)insertSubview:(id)arg1 belowSubview:(id)arg2; 323 | -(void)insertSubview:(id)arg1 aboveSubview:(id)arg2; 324 | -(void)didAddSubview:(id)arg1; 325 | -(void)willRemoveSubview:(id)arg1; 326 | -(void)willMoveToSuperview:(id)arg1; 327 | -(void)_didRemoveSubview:(id)arg1; 328 | -(void)_setBackgroundColor:(id)arg1; 329 | -(id)_backgroundColor; 330 | -(void)_willMoveToWindow:(id)arg1 withAncestorView:(id)arg2; 331 | -(void)insertSubview:(id)arg1 below:(id)arg2; 332 | -(void)insertSubview:(id)arg1 above:(id)arg2; 333 | -(void)_postMovedFromSuperview:(id)arg1; 334 | -(void)movedToSuperview:(id)arg1; 335 | -(void)viewWillMoveToSuperview:(id)arg1; 336 | -(void)viewDidMoveToSuperview; 337 | -(void)movedFromWindow:(id)arg1; 338 | -(void)movedToWindow:(id)arg1; 339 | -(BOOL)isDescendantOfView:(id)arg1; 340 | -(BOOL)needsDisplayOnBoundsChange; 341 | -(float)contentScaleFactor; 342 | -(void)setNeedsDisplayInRect:(struct CGRect)arg1; 343 | -(BOOL)needsDisplay; 344 | -(void)_updateNeedsDisplayOnBoundsChange; 345 | -(void)setClearsContext:(BOOL)arg1; 346 | -(void)_renderSnapshotWithRect:(struct CGRect)arg1 inContext:(struct CGContext*)arg2; 347 | -(void)recursivelyForceDisplayIfNeeded; 348 | -(void*)_createIOSurfaceFromRect:(struct CGRect)arg1 padding:(struct UIEdgeInsets)arg2; 349 | -(void)_resetContentStretch; 350 | -(void)_setContentStretchInPixels:(struct CGRect)arg1 forContentSize:(struct CGSize)arg2 shouldTile:(BOOL)arg3; 351 | -(void)_setShouldRasterize:(BOOL)arg1; 352 | -(struct CGRect)visibleBounds; 353 | -(void)setFixedBackgroundPattern:(BOOL)arg1; 354 | -(BOOL)isHiddenOrHasHiddenAncestor; 355 | -(void)setContentsPosition:(int)arg1; 356 | -(struct CGImage*)newSnapshotWithRect:(struct CGRect)arg1; 357 | -(void)forceDisplayIfNeeded; 358 | -(void)_enableLayerKitPatternDrawing:(BOOL)arg1; 359 | -(void*)_createIOSurfaceWithPadding:(struct UIEdgeInsets)arg1; 360 | -(void)_removeAllAnimations:(BOOL)arg1; 361 | -(BOOL)_isInTransitionBlock; 362 | -(BOOL)pointInside:(struct CGPoint)arg1 forEvent:(struct __GSEvent*)arg2; 363 | -(id)_interceptMouseEvent:(struct __GSEvent*)arg1; 364 | -(id)hitTest:(struct CGPoint)arg1 forEvent:(struct __GSEvent*)arg2; 365 | -(id)initWithSize:(struct CGSize)arg1; 366 | -(void)setEnabled:(BOOL)arg1; 367 | -(void)setClipsSubviews:(BOOL)arg1; 368 | -(struct CGImage*)createSnapshotWithRect:(struct CGRect)arg1; 369 | -(void)_gestureEnded:(struct __GSEvent*)arg1; 370 | -(BOOL)_controlsOwnScaleFactor; 371 | -(void)_subscribeToScrollNotificationsIfNecessary:(id)arg1; 372 | -(void)_setIsAncestorOfFirstResponder:(BOOL)arg1; 373 | -(BOOL)_isRootForKeyResponderCycle; 374 | -(BOOL)_isAncestorOfFirstResponder; 375 | -(void)_descendent:(id)arg1 willMoveFromSuperview:(id)arg2 toSuperview:(id)arg3; 376 | -(void)_unsubscribeToScrollNotificationsIfNecessary:(id)arg1; 377 | -(void)_descendent:(id)arg1 didMoveFromSuperview:(id)arg2 toSuperview:(id)arg3; 378 | -(id)_viewIndexPath; 379 | -(BOOL)_appliesExclusiveTouchToSubviewTree; 380 | -(BOOL)_isInExclusiveTouchSubviewTree; 381 | -(BOOL)_subclassImplementsDrawRect; 382 | -(id)_scroller; 383 | -(void)_didScroll; 384 | -(void)_invalidateLayerContents; 385 | -(void)_setInterceptMouseEvent:(BOOL)arg1; 386 | -(void)_webCustomViewWasAddedAsSubviewOfView:(id)arg1; 387 | -(void)_webCustomViewWillBeRemovedFromSuperview; 388 | -(void)_webCustomViewWasRemovedFromSuperview:(id)arg1; 389 | -(BOOL)_alwaysHandleScrollerMouseEvent; 390 | -(BOOL)_alwaysHandleInteractionEvents; 391 | -(BOOL)_animationIsPaused; 392 | -(BOOL)_isInAWindow; 393 | -(void)_clearBecomeFirstResponderWhenCapableOnSubtree; 394 | -(void)_mouseDown:(struct __GSEvent*)arg1; 395 | -(void)_mouseDragged:(struct __GSEvent*)arg1; 396 | -(void)_mouseUp:(struct __GSEvent*)arg1; 397 | -(void)_setContentImage:(id)arg1; 398 | -(void)_setContentsTransform:(struct CGAffineTransform)arg1; 399 | -(BOOL)skipsSubviewEnumeration; 400 | -(void)setSkipsSubviewEnumeration:(BOOL)arg1; 401 | -(void)_setViewDelegate:(id)arg1; 402 | -(id)_containingScrollView; 403 | -(BOOL)_monitorsSubtree; 404 | -(void)_setMonitorsSubtree:(BOOL)arg1; 405 | -(void)_setBackgroundCGColor:(struct CGColor*)arg1; 406 | -(void)removeGestureRecognizer:(id)arg1; 407 | -(void)setGestureRecognizers:(id)arg1; 408 | -(BOOL)gesturesEnabled; 409 | -(void)setGesturesEnabled:(BOOL)arg1; 410 | -(BOOL)deliversTouchesForGesturesToSuperview; 411 | -(void)setDeliversTouchesForGesturesToSuperview:(BOOL)arg1; 412 | -(void)addGestureRecognizer:(id)arg1; 413 | -(void)drawLayer:(id)arg1 inContext:(struct CGContext*)arg2; 414 | -(void)layoutSublayersOfLayer:(id)arg1; 415 | -(id)actionForLayer:(id)arg1 forKey:(id)arg2; 416 | -(id)_autoresizingDescription; 417 | -(id)_superDescription; 418 | -(id)recursiveDescription; 419 | -(id)_scriptingInfo; 420 | -(int)_style; 421 | -(int)_containerStyle; 422 | -(BOOL)_wantsCornerSnapshotsForScrolling; 423 | -(id)_containerLayoutViewForFastMode; 424 | -(void)_setContainerLayoutViewForFastMode:(id)arg1; 425 | -(BOOL)_isScrollingEnabled; 426 | -(id)_enclosingScrollerIncludingSelf; 427 | -(id)_enclosingScrollableScrollerIncludingSelf; 428 | -(void)setGestureDelegate:(id)arg1; 429 | -(void)setEnabledGestures:(int)arg1; 430 | -(void)setValue:(id)arg1 forGestureAttribute:(int)arg2; 431 | -(float)_zoomAnimationDurationForScale:(float)arg1; 432 | -(float)_zoomScale; 433 | -(void)gestureStarted:(struct __GSEvent*)arg1; 434 | -(void)gestureChanged:(struct __GSEvent*)arg1; 435 | -(int)stateForGestureType:(int)arg1; 436 | -(id)textInputView; 437 | -(BOOL)endEditing:(BOOL)arg1; 438 | -(void)animator:(id)arg1 stopAnimation:(id)arg2; 439 | -(void)animator:(id)arg1 startAnimation:(id)arg2; 440 | -(void)_startGesture:(int)arg1 event:(struct __GSEvent*)arg2; 441 | -(void)_stopGesture:(int)arg1 event:(struct __GSEvent*)arg2; 442 | -(void)_zoomToWindowPoint:(struct CGPoint)arg1 scale:(float)arg2 duration:(float)arg3 constrainScrollPoint:(BOOL)arg4 event:(struct __GSEvent*)arg5; 443 | -(void)zoomToScale:(float)arg1; 444 | -(struct CGSize)_scrollerContentSize; 445 | -(struct CGPoint)_constrainedScrollPoint:(struct CGPoint)arg1 contentSize:(struct CGSize)arg2; 446 | -(void)_gestureChanged:(int)arg1 event:(struct __GSEvent*)arg2; 447 | -(struct CGPoint)_scrollPointForPoint:(struct CGPoint)arg1 scale:(float)arg2 constrain:(BOOL)arg3 snapToEdge:(BOOL)arg4; 448 | -(void)_zoomToScrollPoint:(struct CGPoint)arg1 scale:(float)arg2 duration:(float)arg3 event:(struct __GSEvent*)arg4; 449 | -(void)_zoomToScale:(float)arg1 event:(struct __GSEvent*)arg2; 450 | -(float)_minimumZoomScaleDelta; 451 | -(float)_internalScaleForScale:(float)arg1; 452 | -(float)_rubberBandScaleForScale:(float)arg1; 453 | -(float)_scaleForInternalScale:(float)arg1; 454 | -(void)_zoomToEvent:(struct __GSEvent*)arg1 scale:(float)arg2 animate:(BOOL)arg3 constrainScrollPoint:(BOOL)arg4; 455 | -(BOOL)_canStartZoomFromEvent:(struct __GSEvent*)arg1; 456 | -(void)_rubberbandZoomToEvent:(struct __GSEvent*)arg1 scale:(float)arg2; 457 | -(void)_animateToScrollPoint:(struct CGPoint)arg1; 458 | -(void)_setRotationAnimationProgress:(id)arg1; 459 | -(void)rotateToDegrees:(float)arg1; 460 | -(void)_rotateToDegrees:(float)arg1 duration:(float)arg2 event:(struct __GSEvent*)arg3; 461 | -(BOOL)_canStartRotationFromEvent:(struct __GSEvent*)arg1; 462 | -(void)_resetZoomingWithEvent:(struct __GSEvent*)arg1; 463 | -(BOOL)_startZoomFromEvent:(struct __GSEvent*)arg1; 464 | -(BOOL)_zoomWithEvent:(struct __GSEvent*)arg1; 465 | -(BOOL)_startRotationFromEvent:(struct __GSEvent*)arg1; 466 | -(void)_rotateFromEvent:(struct __GSEvent*)arg1; 467 | -(void)_setGestureInfoZoomScale:(float)arg1; 468 | -(BOOL)_isRubberBanding; 469 | -(void)_setZoomAnimationProgress:(id)arg1; 470 | -(void)_stopZoomFromEvent:(struct __GSEvent*)arg1; 471 | -(void)_stopRotationFromEvent:(struct __GSEvent*)arg1; 472 | -(BOOL)canHandleGestures; 473 | -(id)gestureDelegate; 474 | -(int)enabledGestures; 475 | -(id)valueForGestureAttribute:(int)arg1; 476 | -(void)setRotationDegrees:(float)arg1 duration:(double)arg2; 477 | -(float)rotationDegrees; 478 | -(void)_setZoomScale:(float)arg1 duration:(double)arg2; 479 | -(void)_animateZoomFailureToWindowPoint:(struct CGPoint)arg1 scale:(float)arg2 duration:(float)arg3; 480 | -(float)_zoomAnimationProgress; 481 | -(void)resizeForKeyplaneSize:(struct CGSize)arg1; 482 | -(int)textEffectsVisibilityLevel; 483 | -(void)reduceWidth:(float)arg1; 484 | -(BOOL)needsWebDocumentViewEventsDirectly; 485 | -(int)textEffectsVisibilityLevelWhenKey; 486 | -(id)_syntheticTouch; 487 | -(id)_syntheticUIEventWithGSEvent:(struct __GSEvent*)arg1 touchPhase:(int)arg2; 488 | -(int)compareTextEffectsOrdering:(id)arg1; 489 | -(BOOL)isAccessibilityElementByDefault; 490 | -(BOOL)isElementAccessibilityExposedToInterfaceBuilder; 491 | -(int)_depthFirstCompare:(id)arg1; 492 | -(id)_asTextSelection; 493 | -(struct CGRect)_caretRect; 494 | -(void)drawRect:(struct CGRect)arg1 forViewPrintFormatter:(id)arg2; 495 | -(Class)_printFormatterClass; 496 | -(id)viewPrintFormatter; 497 | -(void)dealloc; 498 | -(id)init; 499 | -(id)description; 500 | @end -------------------------------------------------------------------------------- /output_sample/UIApplication.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This header is generated by weak_classdump 0.2 3 | * on Friday, June 22, 2012 2:38:09 PM Eastern European Summer Time 4 | * Operating System: Version 5.1.1 (Build 9B206) 5 | * weak_classdump is Freeware by Elias Limneos. 6 | * 7 | */ 8 | 9 | @interface UIApplication : UIResponder { 10 | id _delegate; 11 | struct __CFDictionary* _touchMap; 12 | NSMutableSet* _exclusiveTouchWindows; 13 | UIEvent* _event; 14 | UIEvent* _touchesEvent; 15 | UIEvent* _motionEvent; 16 | UIEvent* _remoteControlEvent; 17 | int _remoteControlEventObservers; 18 | NSArray* _topLevelNibObjects; 19 | int _networkResourcesCurrentlyLoadingCount; 20 | NSTimer* _hideNetworkActivityIndicatorTimer; 21 | id _editAlertView; 22 | UIStatusBar* _statusBar; 23 | UIStatusBarWindow* _statusBarWindow; 24 | NSMutableArray* _observerBlocks; 25 | NSString* _mainStoryboardName; 26 | struct { 27 | unsigned int deactivatingReasonFlags:8; 28 | unsigned int isSuspended:1; 29 | unsigned int isSuspendedEventsOnly:1; 30 | unsigned int isLaunchedSuspended:1; 31 | unsigned int calledNonSuspendedLaunchDelegate:1; 32 | unsigned int isHandlingURL:1; 33 | unsigned int isHandlingRemoteNotification:1; 34 | unsigned int isHandlingLocalNotification:1; 35 | unsigned int statusBarShowsProgress:1; 36 | unsigned int statusBarRequestedStyle:4; 37 | unsigned int statusBarHidden:1; 38 | unsigned int blockInteractionEvents:4; 39 | unsigned int receivesMemoryWarnings:1; 40 | unsigned int showingProgress:1; 41 | unsigned int receivesPowerMessages:1; 42 | unsigned int launchEventReceived:1; 43 | unsigned int systemIsAnimatingApplicationLifecycleEvent:1; 44 | unsigned int isResuming:1; 45 | unsigned int isSuspendedUnderLock:1; 46 | unsigned int shouldExitAfterSendSuspend:1; 47 | unsigned int shouldExitAfterTaskCompletion:1; 48 | unsigned int terminating:1; 49 | unsigned int isHandlingShortCutURL:1; 50 | unsigned int idleTimerDisabled:1; 51 | unsigned int deviceOrientation:3; 52 | unsigned int delegateShouldBeReleasedUponSet:1; 53 | unsigned int delegateHandleOpenURL:1; 54 | unsigned int delegateOpenURL:1; 55 | unsigned int delegateDidReceiveMemoryWarning:1; 56 | unsigned int delegateWillTerminate:1; 57 | unsigned int delegateSignificantTimeChange:1; 58 | unsigned int delegateWillChangeInterfaceOrientation:1; 59 | unsigned int delegateDidChangeInterfaceOrientation:1; 60 | unsigned int delegateWillChangeStatusBarFrame:1; 61 | unsigned int delegateDidChangeStatusBarFrame:1; 62 | unsigned int delegateDeviceAccelerated:1; 63 | unsigned int delegateDeviceChangedOrientation:1; 64 | unsigned int delegateDidBecomeActive:1; 65 | unsigned int delegateWillResignActive:1; 66 | unsigned int delegateDidEnterBackground:1; 67 | unsigned int delegateDidEnterBackgroundWasSent:1; 68 | unsigned int delegateWillEnterForeground:1; 69 | unsigned int delegateWillSuspend:1; 70 | unsigned int delegateDidResume:1; 71 | unsigned int userDefaultsSyncDisabled:1; 72 | unsigned int headsetButtonClickCount:4; 73 | unsigned int isHeadsetButtonDown:1; 74 | unsigned int isFastForwardActive:1; 75 | unsigned int isRewindActive:1; 76 | unsigned int shakeToEdit:1; 77 | unsigned int isClassic:1; 78 | unsigned int zoomInClassicMode:1; 79 | unsigned int ignoreHeadsetClicks:1; 80 | unsigned int touchRotationDisabled:1; 81 | unsigned int taskSuspendingUnsupported:1; 82 | unsigned int taskSuspendingOnLockUnsupported:1; 83 | unsigned int isUnitTests:1; 84 | unsigned int requiresHighResolution:1; 85 | unsigned int disableViewContentScaling:1; 86 | unsigned int singleUseLaunchOrientation:3; 87 | unsigned int defaultInterfaceOrientation:3; 88 | unsigned int delegateWantsNextResponder:1; 89 | unsigned int isRunningInApplicationSwitcher:1; 90 | unsigned int isSendingEventForProgrammaticTouchCancellation:1; 91 | unsigned int calledInitializationDelegates:1; 92 | } _applicationFlags; 93 | } 94 | @property (assign,getter=isProximitySensingEnabled,nonatomic) BOOL proximitySensingEnabled; 95 | @property (assign,nonatomic) id delegate; 96 | @property (assign,getter=isIdleTimerDisabled,nonatomic) BOOL idleTimerDisabled; 97 | @property (nonatomic,copy) UIWindow* keyWindow; 98 | @property (nonatomic,copy) NSArray* windows; 99 | @property (assign,getter=isNetworkActivityIndicatorVisible,nonatomic) BOOL networkActivityIndicatorVisible; 100 | @property (assign,nonatomic) int statusBarStyle; 101 | @property (assign,getter=isStatusBarHidden,nonatomic) BOOL statusBarHidden; 102 | @property (assign,nonatomic) int statusBarOrientation; 103 | @property (nonatomic,copy) double statusBarOrientationAnimationDuration; 104 | @property (nonatomic,copy) CGRect statusBarFrame; 105 | @property (assign,nonatomic) int applicationIconBadgeNumber; 106 | @property (assign,nonatomic) BOOL applicationSupportsShakeToEdit; 107 | @property (nonatomic,copy) int applicationState; 108 | @property (nonatomic,copy) double backgroundTimeRemaining; 109 | @property (getter=isProtectedDataAvailable,nonatomic,copy) BOOL protectedDataAvailable; 110 | @property (nonatomic,copy) int userInterfaceLayoutDirection; 111 | +(BOOL)registerForSystemEvents; 112 | +(BOOL)rendersLocally; 113 | +(void)_startWindowServerIfNecessary; 114 | +(id)sharedApplication; 115 | +(BOOL)isRunningEventPump; 116 | +(int)statusBarStyleForString:(id)arg1; 117 | +(int)interfaceOrientationForString:(id)arg1; 118 | +(BOOL)isRunningInStoreDemoMode; 119 | +(BOOL)shouldMakeUIForDefaultPNG; 120 | +(void)_noteInterfaceOrientationChangingTo:(int)arg1; 121 | +(void)_installAfterCACommitHandler; 122 | +(BOOL)_isAfterCACommitHandlerInstalled; 123 | +(id)stringForStatusBarStyle:(int)arg1; 124 | +(id)stringForInterfaceOrientation:(int)arg1; 125 | -(BOOL)_accessibilityIsSystemWideServer; 126 | -(BOOL)isSuspendedForAnyReason; 127 | -(void)_setDelaySuspend:(id)arg1; 128 | -(void)setDelaySuspend:(BOOL)arg1; 129 | -(id)_gkTargetForAction:(SEL)arg1 viaResponder:(id)arg2; 130 | -(BOOL)_gkSendAction:(SEL)arg1 viaResponder:(id)arg2 withObject:(id)arg3; 131 | -(BOOL)_openMapItem:(id)arg1 options:(id)arg2; 132 | -(BOOL)_openMapItems:(id)arg1 options:(id)arg2; 133 | -(void*)_mapkit_sharedAddressBook; 134 | -(void)_mapkit_resetSharedAddressBookNeedsRefresh; 135 | -(void)_mapkit_refreshSharedAddressBookIfNeeded; 136 | -(int)alertOrientation; 137 | -(void)setDelegate:(id)arg1; 138 | -(void)setApplicationSupportsShakeToEdit:(BOOL)arg1; 139 | -(void)_deactivateForReason:(int)arg1 notify:(BOOL)arg2; 140 | -(void)_fetchInfoPlistFlags; 141 | -(void)_stopHangTracer; 142 | -(void)_startHangTracer; 143 | -(BOOL)isSuspended; 144 | -(id)_mainStoryboardName; 145 | -(void)_setHandlingURL:(BOOL)arg1 url:(id)arg2; 146 | -(void)applicationWillSuspend; 147 | -(BOOL)_hasStoryboard; 148 | -(void)_applicationOpenURL:(id)arg1 payload:(id)arg2; 149 | -(void)_registerForUserDefaultsChanges; 150 | -(void)_registerForSignificantTimeChangeNotification; 151 | -(void)_registerForLanguageChangedNotification; 152 | -(void)_registerForLocaleWillChangeNotification; 153 | -(void)_registerForLocaleChangedNotification; 154 | -(void)_registerForAlertItemStateChangeNotification; 155 | -(void)_registerForKeyBagLockStatusNotification; 156 | -(void)_installAutoreleasePoolsIfNecessaryForMode:(struct __CFString*)arg1; 157 | -(void)_runWithURL:(id)arg1 payload:(id)arg2 launchOrientation:(int)arg3 statusBarStyle:(int)arg4 statusBarHidden:(BOOL)arg5; 158 | -(id)displayIdentifier; 159 | -(struct _xpc_connection_s*)_getHangTracerConnection; 160 | -(void)_createHangTracerTimerWithDuration:(double)arg1; 161 | -(id)_extendLaunchTest; 162 | -(id)_currentTests; 163 | -(void)finishedTest:(id)arg1 extraResults:(id)arg2; 164 | -(BOOL)systemIsAnimatingApplicationLifecycleEvent; 165 | -(int)_validateStatusBarStyle:(int)arg1; 166 | -(void)_createStatusBarWithRequestedStyle:(int)arg1 orientation:(int)arg2 hidden:(BOOL)arg3; 167 | -(void)_notifySpringBoardOfStatusBarOrientationChangeAndFenceWithAnimationDuration:(double)arg1; 168 | -(void)setReceivesMemoryWarnings:(BOOL)arg1; 169 | -(int)_loadMainInterfaceFile; 170 | -(void)_reportAppLaunchFinished; 171 | -(BOOL)_isSpringBoardShowingAnAlert; 172 | -(void)_callInitializationDelegatesForURL:(id)arg1 payload:(id)arg2 suspended:(BOOL)arg3; 173 | -(void)_deactivateForReason:(int)arg1; 174 | -(void)_stopDeactivatingForReason:(int)arg1; 175 | -(void)_writeApplicationDefaultPNGSnapshot; 176 | -(int)_loadMainStoryboardFileNamed:(id)arg1 bundle:(id)arg2; 177 | -(int)_loadMainNibFileNamed:(id)arg1 bundle:(id)arg2; 178 | -(void)_setDelegate:(id)arg1 assumeOwnership:(BOOL)arg2; 179 | -(void)_run; 180 | -(id)nextResponder; 181 | -(id)_targetInChainForAction:(SEL)arg1 sender:(id)arg2; 182 | -(BOOL)sendAction:(SEL)arg1 to:(id)arg2 from:(id)arg3 forEvent:(id)arg4; 183 | -(void)_setStatusBarShowsProgress:(BOOL)arg1; 184 | -(BOOL)_isClassic; 185 | -(void)setStatusBarStyle:(int)arg1 animationParameters:(id)arg2; 186 | -(void)setStatusBarHidden:(BOOL)arg1 animationParameters:(id)arg2; 187 | -(void)setStatusBarHidden:(BOOL)arg1 animationParameters:(id)arg2 changeApplicationFlag:(BOOL)arg3; 188 | -(void)setStatusBarHidden:(BOOL)arg1 duration:(double)arg2 changeApplicationFlag:(BOOL)arg3; 189 | -(void)setStatusBarHidden:(BOOL)arg1 withAnimation:(int)arg2; 190 | -(BOOL)_isSpringBoard; 191 | -(void)setStatusBarOrientation:(int)arg1 animationParameters:(id)arg2; 192 | -(CGRect)statusBarFrameForOrientation:(int)arg1; 193 | -(void)_notifyWillChangeStatusBarFrame:(CGRect)arg1; 194 | -(float)statusBarHeightForOrientation:(int)arg1; 195 | -(void)_notifyDidChangeStatusBarFrame:(CGRect)arg1; 196 | -(int)orientation; 197 | -(void)removeStatusBarStyleOverrides:(int)arg1; 198 | -(void)addStatusBarStyleOverrides:(int)arg1; 199 | -(void)setGlowAnimationEnabled:(BOOL)arg1 forStyle:(int)arg2; 200 | -(void)setDoubleHeightMode:(int)arg1 glowAnimationEnabled:(BOOL)arg2; 201 | -(void)applicationWillSuspendForEventsOnly; 202 | -(void)applicationDidResumeForEventsOnly; 203 | -(void)applicationWillSuspendUnderLock; 204 | -(void)applicationDidResumeFromUnderLock; 205 | -(void)suspendReturningToLastApp:(BOOL)arg1; 206 | -(void)mediaKeyDown:(GSEventRef)arg1; 207 | -(void)_postSimpleRemoteNotificationForAction:(int)arg1 andContext:(int)arg2; 208 | -(void)accessoryKeyStateChanged:(GSEventRef)arg1; 209 | -(void)headsetButtonDown:(GSEventRef)arg1; 210 | -(void)_handleHeadsetButtonClick; 211 | -(void)_handleHeadsetButtonDoubleClick; 212 | -(void)_handleHeadsetButtonTripleClick; 213 | -(void)headsetButtonUp:(GSEventRef)arg1; 214 | -(BOOL)_shouldIgnoreHeadsetClicks; 215 | -(void)proximityStateChanged:(BOOL)arg1; 216 | -(void)setProximityEventsEnabled:(BOOL)arg1; 217 | -(int)interfaceOrientation; 218 | -(CGRect)applicationSnapshotRectForOrientation:(int)arg1; 219 | -(BOOL)reportApplicationSuspended; 220 | -(void)applicationWillTerminate; 221 | -(void)_terminateWithStatus:(int)arg1; 222 | -(double)defaultImageSnapshotExpiration; 223 | -(void)_setSuspendedUnderLock:(BOOL)arg1; 224 | -(BOOL)isSuspendedUnderLock; 225 | -(void)_setSuspended:(BOOL)arg1; 226 | -(void)_setSuspendedEventsOnly:(BOOL)arg1; 227 | -(void)_cancelAllTouches; 228 | -(void)applicationSuspend:(GSEventRef)arg1; 229 | -(BOOL)_updateDefaultImage; 230 | -(id)nameOfDefaultImageToUpdateAtSuspension; 231 | -(BOOL)_saveSnapshotWithName:(id)arg1; 232 | -(void)_purgeSharedInstances; 233 | -(void)_sendOrderedOutContexts; 234 | -(BOOL)isRunningQuitTest; 235 | -(BOOL)isRunningSuspendTest; 236 | -(BOOL)_isActivated; 237 | -(BOOL)_canOpenURL:(id)arg1 publicURLsOnly:(BOOL)arg2; 238 | -(void)applicationOpenToShortCut:(id)arg1; 239 | -(void)applicationOpenURL:(id)arg1; 240 | -(int)statusBarMode; 241 | -(BOOL)_shouldZoom; 242 | -(void)prepareForDefaultImageSnapshot; 243 | -(struct CGImage*)_createDefaultImageSnapshot; 244 | -(void)removeDefaultImage:(id)arg1; 245 | -(id)pathToDefaultImageNamed:(id)arg1; 246 | -(BOOL)_isTouchEvent:(GSEventRef)arg1; 247 | -(id)userCachesDirectory; 248 | -(void)addStatusBarItem:(int)arg1; 249 | -(void)addStatusBarImageNamed:(id)arg1; 250 | -(void)removeStatusBarItem:(int)arg1; 251 | -(void)_setIsClassic:(BOOL)arg1; 252 | -(id)_motionEvent; 253 | -(void)sendEvent:(id)arg1; 254 | -(id)_remoteControlEvent; 255 | -(void)_showEditAlertView; 256 | -(struct __CFDictionary*)_touchMap; 257 | -(int)activeInterfaceOrientation; 258 | -(void)setStatusBarMode:(int)arg1 orientation:(int)arg2 duration:(float)arg3 fenceID:(int)arg4 animation:(int)arg5 startTime:(double)arg6; 259 | -(void)setStatusBarOrientation:(int)arg1 animation:(int)arg2 duration:(double)arg3; 260 | -(void)setStatusBarStyle:(int)arg1 duration:(double)arg2; 261 | -(void)setStatusBarMode:(int)arg1 orientation:(int)arg2 duration:(float)arg3 fenceID:(int)arg4 animation:(int)arg5; 262 | -(void)setStatusBarMode:(int)arg1 orientation:(int)arg2 duration:(float)arg3 fenceID:(int)arg4; 263 | -(void)setStatusBarMode:(int)arg1 orientation:(int)arg2 duration:(float)arg3; 264 | -(void)beginIgnoringInteractionEvents; 265 | -(void)endIgnoringInteractionEvents; 266 | -(void)_handleUserDefaultsDidChange:(id)arg1; 267 | -(void)userDefaultsDidChange:(id)arg1; 268 | -(void)setSystemVolumeHUDEnabled:(BOOL)arg1 forAudioCategory:(id)arg2; 269 | -(void)didReceiveMemoryWarning; 270 | -(void)_performMemoryWarning; 271 | -(void)_receivedMemoryNotification; 272 | -(void)_playbackTimerCallback:(id)arg1; 273 | -(void)_startPlaybackTimer; 274 | -(void)_cancelGestureRecognizers:(id)arg1; 275 | -(void)_cancelTouches:(id)arg1 withEvent:(id)arg2 includingGestures:(BOOL)arg3 notificationBlock:(id)arg4; 276 | -(id)_touchesEvent; 277 | -(void)_cancelTouches:(id)arg1 withEvent:(id)arg2; 278 | -(BOOL)isSuspendedEventsOnly; 279 | -(void)startedTest:(id)arg1; 280 | -(BOOL)_shouldHandleTestURL:(id)arg1; 281 | -(BOOL)handleTestURL:(id)arg1; 282 | -(BOOL)_isLaunchedSuspended; 283 | -(void)_callApplicationResumeHandlersForURL:(id)arg1 payload:(id)arg2; 284 | -(void)applicationDidResume; 285 | -(void)applicationResume:(GSEventRef)arg1; 286 | -(void)_removeSnapshotImage; 287 | -(BOOL)handleEvent:(GSEventRef)arg1 withNewEvent:(id)arg2; 288 | -(void)_setShouldZoom:(BOOL)arg1; 289 | -(void)anotherApplicationFinishedLaunching:(GSEventRef)arg1; 290 | -(void)_updateOrientation; 291 | -(void)_handleApplicationResumeEvent:(GSEventRef)arg1; 292 | -(void)_applicationOpenURL:(id)arg1 event:(GSEventRef)arg2; 293 | -(void)applicationDidEndResumeAnimation; 294 | -(void)applicationDidBeginSuspendAnimation; 295 | -(void)_handleApplicationSuspend:(GSEventRef)arg1 eventInfo:(void*)arg2; 296 | -(void)applicationSuspended:(GSEventRef)arg1; 297 | -(void)applicationExited:(GSEventRef)arg1; 298 | -(void)applicationSuspendedSettingsUpdated:(GSEventRef)arg1; 299 | -(void)handleKeyEvent:(GSEventRef)arg1; 300 | -(void)ringerChanged:(int)arg1; 301 | -(void)_handleAccessoryKeyStateChanged:(GSEventRef)arg1; 302 | -(void)volumeChanged:(GSEventRef)arg1; 303 | -(void)mediaKeyUp:(GSEventRef)arg1; 304 | -(void)lockDevice:(GSEventRef)arg1; 305 | -(void)quitTopApplication:(GSEventRef)arg1; 306 | -(void)_dumpUIHierarchy:(GSEventRef)arg1; 307 | -(void)_dumpScreenContents:(GSEventRef)arg1; 308 | -(void)_processScriptEvent:(GSEventRef)arg1; 309 | -(void)vibrateForDuration:(int)arg1; 310 | -(void)setBacklightLevel:(float)arg1; 311 | -(void)acceleratedInX:(float)arg1 Y:(float)arg2 Z:(float)arg3; 312 | -(void)statusBarReturnActionTap:(GSEventRef)arg1; 313 | -(void)resetIdleTimerAndUndim; 314 | -(void)menuButtonDown:(GSEventRef)arg1; 315 | -(void)menuButtonUp:(GSEventRef)arg1; 316 | -(void)lockButtonDown:(GSEventRef)arg1; 317 | -(void)lockButtonUp:(GSEventRef)arg1; 318 | -(void)_handleHeadsetButtonDown:(GSEventRef)arg1; 319 | -(void)_handleHeadsetButtonUp:(GSEventRef)arg1; 320 | -(void)headsetAvailabilityChanged:(GSEventRef)arg1; 321 | -(void)_sendMotionBegan:(int)arg1; 322 | -(void)_sendMotionEnded:(int)arg1; 323 | -(void)_handleKeyEvent:(GSEventRef)arg1; 324 | -(void)setExpectsFaceContact:(BOOL)arg1 inLandscape:(BOOL)arg2; 325 | -(int)alertInterfaceOrientation; 326 | -(int)enabledRemoteNotificationTypes; 327 | -(void)registerForRemoteNotificationTypes:(int)arg1; 328 | -(void)scheduleLocalNotification:(id)arg1; 329 | -(void)cancelLocalNotification:(id)arg1; 330 | -(void)cancelAllLocalNotifications; 331 | -(void)setScheduledLocalNotifications:(id)arg1; 332 | -(id)scheduledLocalNotifications; 333 | -(void)setNetworkActivityIndicatorVisible:(BOOL)arg1; 334 | -(void)_hideNetworkActivityIndicator; 335 | -(void)terminateWithSuccess; 336 | -(id)_backgroundModes; 337 | -(id)_launchTestName; 338 | -(BOOL)shouldLaunchSafe; 339 | -(BOOL)firstLaunchAfterBoot; 340 | -(BOOL)isIgnoringInteractionEvents; 341 | -(void)setIdleTimerDisabled:(BOOL)arg1; 342 | -(BOOL)_hasApplicationCalledLaunchDelegate; 343 | -(void)_addAfterCACommitBlockForViewController:(id)arg1; 344 | -(int)_currentExpectedInterfaceOrientation; 345 | -(void)_unregisterForSignificantTimeChangeNotification; 346 | -(void)_unregisterForLanguageChangedNotification; 347 | -(void)_unregisterForLocaleChangedNotification; 348 | -(void)_unregisterForTimeChangedNotification; 349 | -(void)pushRunLoopMode:(id)arg1; 350 | -(void)popRunLoopMode:(id)arg1; 351 | -(void)sendAction:(SEL)arg1 fromSender:(id)arg2 toTarget:(id)arg3 forEvent:(GSEventRef)arg4; 352 | -(BOOL)sendAction:(SEL)arg1 toTarget:(id)arg2 fromSender:(id)arg3 forEvent:(id)arg4; 353 | -(BOOL)handleDoubleHeightStatusBarTap:(int)arg1; 354 | -(id)statusBarWindow; 355 | -(void)performDisablingStatusBarStyleValidation:(id)arg1; 356 | -(void)setStatusBarStyle:(int)arg1 animation:(int)arg2 startTime:(double)arg3 duration:(double)arg4 curve:(int)arg5; 357 | -(void)setStatusBarStyle:(int)arg1 animation:(int)arg2; 358 | -(void)setStatusBarStyle:(int)arg1 animated:(BOOL)arg2; 359 | -(void)setStatusBarStyle:(int)arg1; 360 | -(void)setStatusBarHidden:(BOOL)arg1 duration:(double)arg2; 361 | -(void)setStatusBarHidden:(BOOL)arg1; 362 | -(void)setStatusBarOrientation:(int)arg1 animated:(BOOL)arg2; 363 | -(void)setStatusBarOrientation:(int)arg1; 364 | -(void)setDoubleHeightStatusText:(id)arg1 forStyle:(int)arg2; 365 | -(void)setDoubleHeightMode:(int)arg1; 366 | -(int)doubleHeightMode; 367 | -(void)setDoubleHeightPrefixText:(id)arg1; 368 | -(void)setDoubleHeightStatusText:(id)arg1; 369 | -(BOOL)isRunningInTaskSwitcher; 370 | -(BOOL)_isResuming; 371 | -(void)suspend; 372 | -(unsigned)_frontmostApplicationPort; 373 | -(void)statusBarMouseUp:(GSEventRef)arg1; 374 | -(void)setWantsVolumeButtonEvents:(BOOL)arg1; 375 | -(unsigned)simpleRemoteRoutingPriority; 376 | -(void)setSimpleRemoteRoutingPriority:(unsigned)arg1; 377 | -(void)updateSuspendedSettings:(id)arg1; 378 | -(id)roleID; 379 | -(BOOL)openURL:(id)arg1; 380 | -(BOOL)canOpenURL:(id)arg1; 381 | -(BOOL)isHandlingOpenShortCut; 382 | -(BOOL)isHandlingURL; 383 | -(void)showTTYPromptForNumber:(id)arg1 withID:(int)arg2; 384 | -(void)showNetworkPromptsIfNecessary:(BOOL)arg1; 385 | -(void)setUsesBackgroundNetwork:(BOOL)arg1; 386 | -(BOOL)usesBackgroundNetwork; 387 | -(id)userHomeDirectory; 388 | -(id)userLibraryDirectory; 389 | -(id)_localCachesDirectory; 390 | -(BOOL)_isInteractionEvent:(GSEventRef)arg1; 391 | -(BOOL)_isMotionEvent:(GSEventRef)arg1; 392 | -(BOOL)launchApplicationWithIdentifier:(id)arg1 suspended:(BOOL)arg2; 393 | -(void)setNewsstandIconImage:(id)arg1; 394 | -(void)addStatusBarImageNamed:(id)arg1 removeOnExit:(BOOL)arg2; 395 | -(void)removeStatusBarImageNamed:(id)arg1; 396 | -(void)addStatusBarItem:(int)arg1 removeOnExit:(BOOL)arg2; 397 | -(void)setApplicationBadgeString:(id)arg1; 398 | -(void)setApplicationIconBadgeNumber:(int)arg1; 399 | -(void)addWebClipToHomeScreen:(id)arg1; 400 | -(BOOL)homeScreenCanAddIcons; 401 | -(void)_overrideDefaultInterfaceOrientationWithOrientation:(int)arg1; 402 | -(void)_removeDefaultInterfaceOrientatationOverride; 403 | -(void)_setStatusBarMode:(int)arg1; 404 | -(int)_frontMostAppOrientation; 405 | -(void)_setTouchMap:(struct __CFDictionary*)arg1; 406 | -(id)_event; 407 | -(void)_sendMotionCancelled:(int)arg1; 408 | -(void)_sendRemoteControlEvent:(int)arg1; 409 | -(void)alertView:(id)arg1 clickedButtonAtIndex:(int)arg2; 410 | -(void)alertView:(id)arg1 didDismissWithButtonIndex:(int)arg2; 411 | -(void)alertViewCancel:(id)arg1; 412 | -(BOOL)_alertWindowShouldRotate; 413 | -(void)motionEnded:(int)arg1 withEvent:(id)arg2; 414 | -(id)_exclusiveTouchWindows; 415 | -(void)_setRotationDisabledDuringTouch:(BOOL)arg1; 416 | -(BOOL)_rotationDisabledDuringTouch; 417 | -(BOOL)_isTrackingAnyTouch; 418 | -(void)_setUserDefaultsSyncEnabled:(BOOL)arg1; 419 | -(int)statusBar:(id)arg1 styleForRequestedStyle:(int)arg2 overrides:(int)arg3; 420 | -(void)statusBar:(id)arg1 willAnimateFromHeight:(float)arg2 toHeight:(float)arg3 duration:(double)arg4 animation:(int)arg5; 421 | -(void)statusBar:(id)arg1 didAnimateFromHeight:(float)arg2 toHeight:(float)arg3 animation:(int)arg4; 422 | -(float)statusBarHeightForOrientation:(int)arg1 ignoreHidden:(BOOL)arg2; 423 | -(float)statusBarHeight; 424 | -(int)_getSpringBoardOrientation; 425 | -(void)setStatusBarMode:(int)arg1 duration:(float)arg2; 426 | -(double)windowRotationDuration; 427 | -(void)setStatusBarShowsProgress:(BOOL)arg1; 428 | -(BOOL)_usesEmoji; 429 | -(void)updateTouchDiagnostics; 430 | -(void)setIgnoresInteractionEvents:(BOOL)arg1; 431 | -(BOOL)ignoresInteractionEvents; 432 | -(unsigned)blockInteractionEventsCount; 433 | -(void)significantTimeChange; 434 | -(void)batteryStatusDidChange:(id)arg1; 435 | -(void)_clearTouchesForView:(id)arg1; 436 | -(void)_cancelCurrentTouchEvent; 437 | -(void)_unregisterForUserDefaultsChanges; 438 | -(BOOL)_isSensitiveUIEnabled; 439 | -(float)backlightLevel; 440 | -(void)setSuspensionAnimationDelay:(double)arg1; 441 | -(void)setSystemVolumeHUDEnabled:(BOOL)arg1; 442 | -(void)_stopPlayback; 443 | -(void)_addRecorder:(id)arg1; 444 | -(void)_removeRecorder:(id)arg1; 445 | -(void)_playbackEvents:(id)arg1 atPlaybackRate:(float)arg2 messageWhenDone:(id)arg3 withSelector:(SEL)arg4; 446 | -(void)_eatCurrentTouch; 447 | -(BOOL)_didEatCurrentTouch; 448 | -(void)_cancelGestureRecognizersForView:(id)arg1; 449 | -(void)_cancelViewProcessingOfTouches:(id)arg1 withEvent:(id)arg2 sendingTouchesCancelledToViewsOfTouches:(id)arg3; 450 | -(BOOL)_isSendingEventForProgrammaticTouchCancellation; 451 | -(BOOL)handleEvent:(GSEventRef)arg1; 452 | -(id)defaultFirstResponder; 453 | -(BOOL)_shouldUseDefaultFirstResponder; 454 | -(BOOL)_shouldUseNextFirstResponder; 455 | -(BOOL)_shouldUseKeyWindowStack; 456 | -(void)setHardwareKeyboardLayoutName:(id)arg1; 457 | -(void)setExpectsFaceContact:(BOOL)arg1; 458 | -(void)applicationWillOrderInContext:(id)arg1 windowLevel:(float)arg2 windowOutput:(int)arg3; 459 | -(void)applicationDidOrderOutContext:(id)arg1; 460 | -(BOOL)_isWindowServerHostingManaged; 461 | -(void)didDismissMiniAlert; 462 | -(void)willDisplayMiniAlert:(int*)arg1; 463 | -(void)willDismissMiniAlert:(int*)arg1 andShowAnother:(BOOL)arg2; 464 | -(void)setHasMiniAlerts:(BOOL)arg1; 465 | -(BOOL)isLocked; 466 | -(BOOL)isPasscodeRequiredToUnlock; 467 | -(void)requestDeviceUnlock; 468 | -(BOOL)canShowAlerts; 469 | -(id)displayIDForURLScheme:(id)arg1 isPublic:(BOOL)arg2; 470 | -(void)runModal:(id)arg1; 471 | -(void)stopModal; 472 | -(BOOL)_supportsShakesWhenNotActive; 473 | -(void)unregisterForRemoteNotifications; 474 | -(void)presentLocalNotificationNow:(id)arg1; 475 | -(BOOL)_isViewContentScalingDisabled; 476 | -(BOOL)_requiresHighResolution; 477 | -(BOOL)_taskSuspendingUnsupported; 478 | -(void)_beginShowingNetworkActivityIndicator; 479 | -(void)_endShowingNetworkActivityIndicator; 480 | -(void)_setIgnoreHeadsetClicks:(BOOL)arg1; 481 | -(BOOL)shouldFenceStatusBarRotation; 482 | -(BOOL)_executableWasLinkedWithUIKit; 483 | -(void)_wakeTimerFired; 484 | -(BOOL)setKeepAliveTimeout:(double)arg1 handler:(id)arg2; 485 | -(void)clearKeepAliveTimeout; 486 | -(void)beginReceivingRemoteControlEvents; 487 | -(void)endReceivingRemoteControlEvents; 488 | -(BOOL)_usesPreMTAlertBehavior; 489 | -(id)_fallbackPresentationViewController; 490 | -(void)setProximitySensingEnabled:(BOOL)arg1; 491 | -(void)setStatusBarHidden:(BOOL)arg1 animated:(BOOL)arg2; 492 | -(BOOL)_accessibilityCaptureSimulatorEvent:(GSEventRef)arg1; 493 | -(void)failedTest:(id)arg1; 494 | -(void)startLeaking; 495 | -(void)stopLeaking; 496 | -(void)runTest:(id)arg1 startingBeforeAnimation:(id)arg2 stoppingAfterAnimation:(id)arg3; 497 | -(void)_noteAnimationStarted:(id)arg1; 498 | -(void)_noteAnimationFinished:(id)arg1; 499 | -(id)_pathForFrameworkName:(id)arg1 inPrivate:(BOOL)arg2; 500 | -(BOOL)launchedToTest; 501 | -(BOOL)isRunningTest:(id)arg1; 502 | -(void)startCHUDRecording:(id)arg1; 503 | -(void)enableFramebufferStatisticsGathering; 504 | -(id)resultsForTest:(id)arg1; 505 | -(void*)_getSymbol:(id)arg1 forFramework:(id)arg2; 506 | -(struct __CFMessagePort*)_purplePPTServerPort; 507 | -(void)_reportResults:(id)arg1; 508 | -(void)stopCHUDRecording; 509 | -(void)finishedTest:(id)arg1 extraResults:(id)arg2 waitForNotification:(id)arg3 withTeardownBlock:(id)arg4; 510 | -(void)failedTest:(id)arg1 withResults:(id)arg2; 511 | -(BOOL)runTest:(id)arg1 options:(id)arg2; 512 | -(void)_leak; 513 | -(void)setDeviceOrientation:(int)arg1; 514 | -(void)runTest:(id)arg1 forAnimation:(id)arg2; 515 | -(BOOL)shouldRecordExtendedLaunchTime; 516 | -(BOOL)isRunningTest; 517 | -(void)startedSubTest:(id)arg1 forTest:(id)arg2; 518 | -(void)finishedSubTest:(id)arg1 forTest:(id)arg2; 519 | -(void)finishedTest:(id)arg1; 520 | -(void)finishedTest:(id)arg1 extraResults:(id)arg2 withTeardownBlock:(id)arg3; 521 | -(void)finishedTest:(id)arg1 extraResults:(id)arg2 waitForNotification:(id)arg3; 522 | -(void)testPrep:(id)arg1 options:(id)arg2; 523 | -(BOOL)rotateIfNeeded:(int)arg1; 524 | -(void)_sheetWithRemoteIdentifierDidDismiss:(id)arg1; 525 | -(void)_accessibilityInit; 526 | -(BOOL)_accessibilityApplicationIsSystemWideServer; 527 | -(id)_accessibilitySettingsBundle; 528 | -(Class)_accessibilityBundlePrincipalClass; 529 | -(void)_accessibilitySetUpQuickSpeak; 530 | -(void)_updateAccessibilitySettingsLoader; 531 | -(void)_updateApplicationAccessibility; 532 | -(void)_updateLargeTextNotification; 533 | -(void)_updateAccessibilityItunesSettings; 534 | -(void)_accessibilityStatusChanged:(id)arg1; 535 | -(void)beginRemoteSheet:(id)arg1 delegate:(id)arg2 didEndSelector:(SEL)arg3 contextInfo:(void*)arg4 requireTopApplication:(BOOL)arg5; 536 | -(void)beginRemoteSheet:(id)arg1 delegate:(id)arg2 didEndSelector:(SEL)arg3 contextInfo:(void*)arg4 requireTopApplication:(BOOL)arg5 presentAnimated:(BOOL)arg6; 537 | -(void)beginRemoteSheet:(id)arg1 delegate:(id)arg2 didEndSelector:(SEL)arg3 contextInfo:(void*)arg4 requireTopApplication:(BOOL)arg5 opaque:(BOOL)arg6 presentAnimated:(BOOL)arg7; 538 | -(void)endRemoteSheet:(id)arg1 returnCode:(int)arg2; 539 | -(void)endRemoteSheet:(id)arg1 returnCode:(int)arg2 dismissAnimated:(BOOL)arg3; 540 | -(void)beginRemoteSheet:(id)arg1 delegate:(id)arg2 didEndSelector:(SEL)arg3 contextInfo:(void*)arg4; 541 | -(void)endRemoteSheet:(id)arg1; 542 | -(void)_alertSheetStackChanged; 543 | -(void)dealloc; 544 | -(id)init; 545 | -(void)endBackgroundTask:(unsigned)arg1; 546 | -(unsigned)beginBackgroundTaskWithExpirationHandler:(id)arg1; 547 | @end -------------------------------------------------------------------------------- /weak_classdump.cy: -------------------------------------------------------------------------------- 1 | NSLog_ = dlsym(RTLD_DEFAULT, "NSLog"); 2 | WCDLog = function() { var types = 'v', args = [], count = arguments.length; for (var i = 0; i != count; ++i) { types += '@'; args.push(arguments[i]); } new Functor(NSLog_, types).apply(null, args); } 3 | 4 | _method_copyReturnType=new Functor(dlsym(RTLD_DEFAULT,"method_copyReturnType"),"*^{objc_method=}"); 5 | _method_copyArgumentType=new Functor(dlsym(RTLD_DEFAULT,"method_copyArgumentType"),"*^{objc_method=}I"); 6 | __sysctlbyname=new Functor(dlsym(-2,"sysctlbyname"),"v*^?^i^?i"); 7 | 8 | function is64Bit(){ 9 | 10 | size=new int; 11 | __sysctlbyname("hw.cpu64bit_capable",NULL,size,NULL,0); 12 | is64Bit=new BOOL; 13 | __sysctlbyname("hw.cpu64bit_capable",is64Bit,size,NULL,0); 14 | return *is64Bit; 15 | 16 | 17 | } 18 | 19 | 20 | NSNotFound=is64Bit() ? 9.2233720368547758e+18 : 2147483647; 21 | 22 | function commonTypes(type){ 23 | 24 | isPointer=NO; 25 | if ([type containsSubstring:@"^"]){ 26 | isPointer=YES; 27 | type=[type stringByReplacingOccurrencesOfString:@"^" withString:""]; 28 | } 29 | 30 | switch (type.toString()){ 31 | 32 | case "d": type = "double"; break; 33 | case "i": type = "int"; break; 34 | case "f": type = "float"; break; 35 | case "c": type = "BOOL"; break; 36 | case "s": type = "short"; break; 37 | case "I": type = "unsigned"; break; 38 | case "l": type = "long"; break; 39 | case "q": type = "long long"; break; 40 | case "L": type = "unsigned long"; break; 41 | case "C": type = "unsigned char"; break; 42 | case "S": type = "unsigned short"; break; 43 | case "Q": type = "unsigned long long"; break; 44 | case "B": type = "BOOL"; break; //replacing _Bool , change it here if you wish 45 | case "v": type = "void"; break; 46 | case "*": type = "char*"; break; 47 | case ":": type = "SEL"; break; 48 | case "#": type = "Class"; break; 49 | case "@": type = "id"; break; 50 | case "@?": type = "id"; break; 51 | case "Vv": type = "void"; break; 52 | case "rv": type = "const void*"; break; 53 | default: type = type; 54 | 55 | } 56 | 57 | return isPointer ? type.toString()+"*" : type.toString(); 58 | 59 | 60 | } 61 | 62 | 63 | 64 | function getProtocolLines(protocol){ 65 | 66 | var protocolsMethodsString=""; 67 | currentProtocol=protocol; 68 | 69 | protocolName=protocol_getName(currentProtocol); 70 | protocolsMethodsString=protocolsMethodsString.toString()+"\n@protocol "+protocolName.toString()+"\n"; 71 | 72 | protPropertiesString=""; 73 | protPropertiesCount=new int; 74 | protPropertyList=protocol_copyPropertyList(currentProtocol,protPropertiesCount); 75 | for (xi=0; xi<*protPropertiesCount; xi++){ 76 | 77 | propname=property_getName(protPropertyList[xi]); 78 | attrs=property_getAttributes(protPropertyList[xi]); 79 | newString=propertyLineGenerator(attrs,propname).toString(); 80 | if (![protPropertiesString containsSubstring:newString]){ 81 | protPropertiesString=protPropertiesString.toString()+newString.toString(); 82 | } 83 | 84 | 85 | } 86 | protocolsMethodsString=protocolsMethodsString.toString()+protPropertiesString; 87 | free(protPropertyList); 88 | 89 | for (acase=0; acase<5; acase++){ 90 | 91 | protocolMethodsCount=new int; 92 | isRequiredMethod=acase<2 ? NO : YES; 93 | isInstanceMethod=(acase==0 || acase==2) ? NO : YES; 94 | 95 | protMeths=protocol_copyMethodDescriptionList(currentProtocol, isRequiredMethod, isInstanceMethod, protocolMethodsCount); 96 | for (gg=0; gg<*protocolMethodsCount; gg++){ 97 | if (acase<2 && ![[NSString stringWithString:protocolsMethodsString] containsSubstring:@"@optional"]){ 98 | protocolsMethodsString=protocolsMethodsString.toString()+"@optional\n"; 99 | } 100 | if (acase>1 && ![[NSString stringWithString:protocolsMethodsString] containsSubstring:@"@required"]){ 101 | protocolsMethodsString=protocolsMethodsString.toString()+"@required\n"; 102 | } 103 | startSign=isInstanceMethod==NO ? "+" : "-"; 104 | protSelector=protMeths[gg][0].toString(); 105 | protTypes=protMeths[gg][1]; 106 | 107 | methodSign=[NSMethodSignature signatureWithObjCTypes:protTypes]; 108 | returnType=constructTypeAndName(commonTypes([methodSign methodReturnType].toString()),"",0); 109 | 110 | finString=""; 111 | if ([methodSign numberOfArguments]>2){ 112 | selectorsArray=[[NSString stringWithString:protSelector] componentsSeparatedByString:@":"]; 113 | for (i=2; i<[methodSign numberOfArguments]; i++){ 114 | ad=i-2; 115 | argCount=ad+1; 116 | 117 | finString=finString.toString()+selectorsArray[ad].toString()+":("+constructTypeAndName(commonTypes([methodSign getArgumentTypeAtIndex:i].toString()),"",0).toString()+")"+"arg"+argCount.toString()+" "; 118 | 119 | } 120 | finString=[finString substringToIndex:finString.length-1]; 121 | } 122 | else{ 123 | finString=protSelector.toString(); 124 | 125 | } 126 | 127 | finString=finString.toString()+";"; 128 | protocolsMethodsString=protocolsMethodsString.toString()+startSign.toString()+"("+returnType.toString()+")"+finString.toString()+"\n"; 129 | } 130 | free(protMeths); 131 | } 132 | return protocolsMethodsString.toString()+"@end\n"; 133 | 134 | } 135 | 136 | function constructTypeAndName(aType,IvarName,isIvar){ 137 | 138 | //NSNotFound=2147483647; 139 | space=isIvar ? " " : ""; 140 | compareString1=[NSString stringWithString:aType]; 141 | compareString2=[[[NSString stringWithString:aType] stringByReplacingOccurrencesOfString:"^" withString:""] stringByAppendingString:@"*"]; 142 | 143 | if (![[NSString stringWithString:commonTypes(aType)] isEqual:compareString1] && ![[NSString stringWithString:commonTypes(aType)] isEqual:compareString2]){ 144 | 145 | return commonTypes(aType).toString()+" "+IvarName.toString(); 146 | } 147 | 148 | charSet=[NSCharacterSet characterSetWithCharactersInString:"@^\"{}="]; 149 | structCharSet=[NSCharacterSet characterSetWithCharactersInString:"?:{}="]; 150 | 151 | if ([aType rangeOfString:"]"].location!=NSNotFound && [aType rangeOfString:"^{"].location==NSNotFound){ 152 | 153 | 154 | 155 | 156 | aType=[aType stringByRemovingCharactersFromSet: [NSCharacterSet punctuationCharacterSet ]]; 157 | arrayCount=[[aType copy] stringByRemovingCharactersFromSet: [NSCharacterSet letterCharacterSet ]]; 158 | arrayType=[aType stringByRemovingCharactersFromSet: [NSCharacterSet decimalDigitCharacterSet ]]; 159 | return commonTypes(arrayType).toString()+"["+arrayCount.toString()+"]"+space+IvarName.toString(); 160 | 161 | } 162 | 163 | if ([aType rangeOfString:"{?"].location!=NSNotFound && [aType rangeOfString:"{?"].length>0 && isIvar){ 164 | 165 | aType=[aType stringByRemovingCharactersFromSet:structCharSet]; 166 | structValues=[aType componentsSeparatedByString:@"\""]; 167 | structValues =[NSMutableArray arrayWithArray:structValues ]; 168 | firstEntry=[structValues removeObjectAtIndex:0]; 169 | [structValues removeObject:firstEntry]; 170 | newString=[NSString stringWithString:"struct {\n"]; 171 | namesArray=[NSMutableArray array]; 172 | typesArray=[NSMutableArray array]; 173 | 174 | for (d=0; d<[structValues count] ; d++){ 175 | 176 | if ((d % 2)==0){ 177 | [namesArray addObject:structValues[d]]; 178 | } 179 | else{ 180 | [typesArray addObject:structValues[d]]; 181 | } 182 | } 183 | 184 | for (e=0; e<[typesArray count]; e++){ 185 | newString=newString.toString()+"\t\t"+constructTypeAndName(typesArray[e],namesArray[e],0).toString()+";\n"; 186 | } 187 | return newString.toString()+"\t} "+IvarName.toString(); 188 | 189 | } 190 | 191 | if ([aType rangeOfString:"{"].location!=NSNotFound && [aType rangeOfString:"{"].length>0){ 192 | 193 | returnValue="struct "; 194 | range=[aType rangeOfString:@"="]; 195 | 196 | if ([aType containsSubstring:@"^{?="]){ 197 | 198 | aStruct=aType; 199 | structString=""; 200 | someType=""; 201 | aStruct=[NSString stringWithString:aStruct]; 202 | aStruct=[aStruct stringByReplacingOccurrencesOfString:@"^{?=" withString:""]; 203 | aStruct=[aStruct stringByReplacingOccurrencesOfString:@"}" withString:""]; 204 | 205 | for (var f=0; f<[aStruct.toString() length]; f++){ 206 | currentLetter=[aStruct substringWithRange:[f,1]]; 207 | someType=constructTypeAndName(currentLetter,"",0); 208 | someType=[someType stringByRemovingWhitespace]; 209 | structString=structString.toString()+"\t"+someType.toString()+" value"+(f+1).toString()+";\n"; 210 | } 211 | 212 | structName="WCStruct_"+aStruct.toString(); 213 | 214 | if (![structsString containsSubstring:structName]){ 215 | structString="typedef struct{\n"+structString.toString(); 216 | structString=structString.toString()+"} "+structName.toString()+";\n\n"; 217 | structsString=structsString.toString()+structString.toString(); 218 | } 219 | 220 | structName=structName.toString()+"*"; 221 | 222 | return structName+" "+IvarName.toString(); 223 | } 224 | aType=[aType stringByReplacingCharactersInRange:[range.location,aType.toString().length-range.location] withString:"" ]; 225 | returnValue=returnValue.toString()+[aType stringByRemovingCharactersFromSet:structCharSet].toString(); 226 | if ([returnValue containsSubstring:@"GSEvent"] || [returnValue containsSubstring:@"CTCall"]){ 227 | returnValue=[returnValue stringByReplacingOccurrencesOfString:"__" withString:""]; 228 | returnValue=[returnValue stringByReplacingOccurrencesOfString:"struct " withString:""]; 229 | returnValue=[returnValue stringByReplacingOccurrencesOfString:"^" withString:""]; 230 | returnValue=[returnValue stringByAppendingString:@"Ref"]; 231 | 232 | } 233 | if ([returnValue containsSubstring:@"NSZone"]){ 234 | returnValue="NSZone*"; 235 | } 236 | 237 | if ([returnValue containsSubstring:@"CGPoint"] || [returnValue containsSubstring:@"CGRect"] || [returnValue containsSubstring:@"CGSize"] ){ 238 | returnValue=[returnValue stringByReplacingOccurrencesOfString:@"struct " withString:@""]; 239 | } 240 | return commonTypes(returnValue).toString()+space+IvarName.toString(); 241 | } 242 | 243 | 244 | if ([aType rangeOfString:@"^"].location!=NSNotFound && [aType rangeOfString:@"^"].length>0){ 245 | 246 | range=[aType rangeOfString:"^" options: NULL range: [2,aType.toString().length-2]]; 247 | if (range.length>0){ 248 | aType=[aType stringByReplacingCharactersInRange:[range.location-1,aType.toString().length-range.location+1] withString:"" ]; 249 | } 250 | aType=[aType stringByRemovingCharactersFromSet:charSet]; 251 | //aType=[aType stringByReplacingOccurrencesOfString:@"__" withString:""]; 252 | return aType.toString()+"* "+IvarName.toString(); 253 | 254 | } 255 | 256 | 257 | 258 | if ([aType rangeOfString:@"@\""].location!=NSNotFound && [aType rangeOfString:@"@\""].length>0){ 259 | if ([aType rangeOfString:"<"].location==2){ 260 | aType="id"+aType.toString(); 261 | return [aType stringByRemovingCharactersFromSet:charSet].toString()+" "+IvarName.toString(); 262 | } 263 | 264 | strippedString=[aType stringByRemovingCharactersFromSet:charSet]; 265 | return strippedString.toString()+ "* "+IvarName.toString(); 266 | 267 | } 268 | 269 | if ([aType rangeOfString:@"b"].location!=NSNotFound && [aType rangeOfString:@"b"].length>0 && [aType rangeOfString:":{"].length<1){ 270 | string=[aType stringByReplacingOccurrencesOfString:@"b" withString:""]; 271 | return "unsigned int "+IvarName.toString()+":"+string.toString(); 272 | } 273 | 274 | return aType.toString() + space + IvarName.toString(); 275 | 276 | } 277 | 278 | 279 | 280 | function propertyLineGenerator(attributes,name){ 281 | 282 | parSet=[NSCharacterSet characterSetWithCharactersInString:@"()"]; 283 | attributes=[attributes stringByRemovingCharactersFromSet:parSet]; 284 | attrArr=[attributes componentsSeparatedByString:@","]; 285 | 286 | type=attrArr[0]; 287 | type=[type stringByReplacingCharactersInRange:[0,1] withString:""]; 288 | type=constructTypeAndName(type,"",0); 289 | type=[type stringByRemovingWhitespace]; 290 | attrArr=[NSMutableArray arrayWithArray:attrArr]; 291 | [attrArr removeObjectAtIndex:0]; 292 | 293 | propertyString="@property "; 294 | 295 | newPropsArray=[NSMutableArray array]; 296 | synthesize=[NSString stringWithString:""]; 297 | for each (attr in attrArr){ 298 | 299 | vToClear=nil; 300 | 301 | if ([attr rangeOfString:@"V_"].location==0){ 302 | vToClear=attr; 303 | attr=[attr stringByReplacingCharactersInRange:[0,2] withString:""]; 304 | synthesize="\t\t\t\t//@synthesize "+attr.toString()+"=_"+attr.toString()+" - In the implementation block"; 305 | } 306 | 307 | if ([attr.toString() length]==1){ 308 | 309 | switch (attr.toString()){ 310 | case "R" : translatedProperty = "readonly"; 311 | case "C" : translatedProperty = "copy"; break; 312 | case "&" : translatedProperty = "retain"; break; 313 | case "N" : translatedProperty = "nonatomic"; break; 314 | case "D" : translatedProperty = "@dynamic"; break; 315 | case "W" : translatedProperty = "__weak"; break; 316 | case "P" : translatedProperty = "t"; break; 317 | default: translatedProperty = attr; 318 | } 319 | 320 | [newPropsArray addObject:translatedProperty]; 321 | } 322 | 323 | if ([attr rangeOfString:@"G"].location==0){ 324 | attr=[attr stringByReplacingCharactersInRange:[0,1] withString:""]; 325 | attr="getter="+attr.toString(); 326 | [newPropsArray addObject:attr]; 327 | } 328 | 329 | if ([attr rangeOfString:@"S"].location==0){ 330 | attr=[attr stringByReplacingCharactersInRange:[0,1] withString:""]; 331 | attr="setter="+attr.toString(); 332 | [newPropsArray addObject:attr]; 333 | } 334 | 335 | } 336 | 337 | if ([newPropsArray containsObject:@"nonatomic"] && ![newPropsArray containsObject:@"assign"] && ![newPropsArray containsObject:@"readonly"] && ![newPropsArray containsObject:@"copy"] && ![newPropsArray containsObject:@"retain"]){ 338 | [newPropsArray addObject:@"assign"]; 339 | } 340 | 341 | newPropsArray=[newPropsArray reversedArray]; 342 | 343 | rebuiltString=[newPropsArray componentsJoinedByString:","]; 344 | attrString=newPropsArray.length>0 ? "("+rebuiltString.toString()+")" : "(assign)"; 345 | 346 | propertyString=propertyString.toString()+attrString.toString()+" "+type.toString()+" "+name.toString()+"; "+synthesize.toString()+"\n"; 347 | return propertyString; 348 | 349 | } 350 | 351 | function methodLinesGenerator(methodList,methodsCount,isClassMethod){ 352 | 353 | methodLines=""; 354 | 355 | for (n=0; n<*methodsCount;n++){ 356 | method=methodList[n]; 357 | methodName=method_getName(method); 358 | if (methodName==".cxx_destruct"){ 359 | continue; 360 | } 361 | returnType=_method_copyReturnType(method); 362 | returnType=[constructTypeAndName(returnType.toString(),[NSString stringWithString:@""],0).toString() stringByRemovingWhitespace]; 363 | 364 | argNum=method_getNumberOfArguments(method); 365 | methodBrokenDown=[methodName.toString() componentsSeparatedByString:@":"]; 366 | 367 | methodString=[NSString stringWithString:""]; 368 | 369 | if ([methodBrokenDown count]>1){ 370 | for (x=0; x<[methodBrokenDown count]-1; x++){ 371 | anIndex=x+2; 372 | argumentType=_method_copyArgumentType(method,anIndex); 373 | var hadType=YES; 374 | if (!argumentType){ 375 | hadType=NO; 376 | argumentType="id"; 377 | } 378 | 379 | typeName=constructTypeAndName(argumentType.toString(),[NSString stringWithString:""],0); 380 | 381 | //if (hadType){ 382 | //free(argumentType); //cannot free since its a * 383 | //} 384 | typeName=[typeName substringToIndex:typeName.toString().length-1]; 385 | 386 | methodString=methodString.toString()+methodBrokenDown[x].toString()+":("+typeName.toString()+")arg"+(x+1)+" "; 387 | 388 | } 389 | methodString=[methodString substringToIndex:methodString.length-1]; 390 | } 391 | else{ 392 | methodString=methodName; 393 | } 394 | 395 | symbol=isClassMethod ? "+" : "-"; symbol=[NSString stringWithString:symbol.toString()]; 396 | newMethod=symbol.toString()+"("+returnType.toString()+")"+methodString.toString()+";\n"; 397 | cappedMethod=[[NSString stringWithString:methodName.toString()] capitalizedString]; 398 | setterMethod="set"+cappedMethod.toString(); 399 | //free(returnType); 400 | 401 | if (![methodsArray containsObject:newMethod.toString()] && ![propertiesString containsSubstring:methodName.toString()] && ![methodsString containsSubstring:setterMethod.toString()]){ 402 | [methodsArray addObject:newMethod]; 403 | methodLines=methodLines.toString()+newMethod.toString(); 404 | } 405 | 406 | 407 | } 408 | return methodLines; 409 | 410 | 411 | } 412 | 413 | function weak_classdump(classname,alsoDumpSuperclasses,outputdir){ 414 | 415 | //[[NSString stringWithString:classname.toString()] writeToFile:"/tmp/LASTCLASS" atomically:YES]; 416 | //NSLog(@"weak_classdump: Dumping class %@",classname); 417 | if (!classname){ 418 | return "Cannot find class"; 419 | } 420 | 421 | if (typeof(alsoDumpSuperclasses) == 'undefined' || !alsoDumpSuperclasses){ 422 | alsoDumpSuperclasses=0; 423 | } 424 | 425 | 426 | structsString=""; 427 | interfaceString=""; 428 | version = [NSProcessInfo processInfo ].operatingSystemVersionString; 429 | loc=[NSLocale localeWithLocaleIdentifier: "en-us"]; 430 | date=[NSDate.date descriptionWithLocale: loc]; 431 | classString = "/*\n * This header is generated by weak_classdump 0.2\n * on "+date.toString()+"\n * Operating System: "+version.toString()+"\n * weak_classdump is Freeware by Elias Limneos.\n *\n */\n\n"; 432 | if ( [[classname description] containsSubstring:@"0){ 483 | for (iter=0; iter<*protocolsCount; iter++){ 484 | if (class_conformsToProtocol(classname,protocolArray[iter])){ 485 | protocolName=protocol_getName(protocolArray[iter]); 486 | protocolsMethodsString=protocolsMethodsString.toString()+getProtocolLines(protocolArray[iter]).toString(); 487 | } 488 | 489 | protocolsMethodsString = [NSString stringWithString:protocolsMethodsString ]; 490 | 491 | classString=classString.toString()+"#import <"+protocolName.toString()+".h>\n"; 492 | 493 | if (typeof(outputdir)=="undefined" || outputdir==null){ 494 | outputdir="/tmp"; 495 | } 496 | lastChar=[outputdir.toString() substringFromIndex:outputdir.toString().length-1]; 497 | if (![lastChar isEqual:@"/"]){ 498 | outputdir=outputdir+"/"; 499 | } 500 | allProtocols=allProtocols.toString()+", "+outputdir.toString()+protocolName.toString()+".h"; 501 | if ([protocolsMethodsString writeToFile:outputdir.toString()+protocolName.toString()+".h" atomically:YES]){ 502 | //NSLog(@"Found Protocol %@, wrote to %@%@.h",protocolName,outputdir,protocolName); 503 | } 504 | } 505 | } 506 | 507 | 508 | protocolsString=""; 509 | if (*protocolsCount>0){ 510 | protocolsString=@" <".toString(); 511 | for (i=0; i<*protocolsCount; i++){ 512 | if (class_conformsToProtocol(classname,protocolArray[i])){ 513 | comma=@"".toString(); 514 | if (i<*protocolsCount-1){ 515 | comma=@", ".toString(); 516 | } 517 | protocolsString=protocolsString.toString()+protocol_getName(protocolArray[i]).toString()+comma; 518 | } 519 | } 520 | protocolsString=protocolsString+@">".toString(); 521 | } 522 | free(protocolArray); 523 | if (classname.superclass!=nil && classname.superclass!="nil"){ 524 | interfaceString = [NSString stringWithString:@"\n@interface "+classname.toString()+" : "+classname.superclass.toString()].toString() + protocolsString.toString(); 525 | } 526 | else{ 527 | interfaceString = [NSString stringWithString:@"\n@interface "+classname.toString()].toString() + protocolsString.toString(); 528 | } 529 | 530 | 531 | while (classname!=NSObject && (classname.superclass!="nil" && classname.superclass!=NSObject) ) { 532 | 533 | 534 | // Get Ivars 535 | classIvarCount=new int; 536 | superclassIvarCount=new int; 537 | list=class_copyIvarList(classname,classIvarCount); 538 | superlist=class_copyIvarList(superclass,superclassIvarCount); 539 | superClassIvars=[NSMutableArray array]; 540 | for (i=0; i<*superclassIvarCount;i++){ 541 | if (ivar_getName(superlist[i])){ 542 | [superClassIvars addObject:ivar_getName(superlist[i])]; 543 | } 544 | 545 | } 546 | free(superlist); 547 | 548 | for (i=0; i<*classIvarCount;i++){ 549 | classIvar=ivar_getName(list[i]); 550 | appendString=""; 551 | if (classIvar && ![superClassIvars containsObject:classIvar]){ 552 | ivarType=ivar_getTypeEncoding(list[i]).toString(); 553 | ivar=constructTypeAndName([NSString stringWithString:ivarType],[NSString stringWithString:ivar_getName(list[i])],1); 554 | newString="\n\t"+ivar.toString()+"; "; 555 | if (![ivarsString containsSubstring:newString]){ 556 | ivarsString=ivarsString.toString()+newString.toString(); 557 | } 558 | } 559 | 560 | } 561 | free(list); 562 | 563 | // Get Properties 564 | propertiesCount=new int; 565 | propertyList=class_copyPropertyList(classname,propertiesCount); 566 | for (i=0; i<*propertiesCount; i++){ 567 | 568 | propname=property_getName(propertyList[i]); 569 | attrs=property_getAttributes(propertyList[i]); 570 | newString=propertyLineGenerator(attrs,propname).toString(); 571 | if (![propertiesString containsSubstring:newString]){ 572 | propertiesString=propertiesString.toString()+newString.toString(); 573 | } 574 | } 575 | free(propertyList); 576 | 577 | // Get Methods 578 | 579 | methodsCount=new int; 580 | classMethodsCount=new int; 581 | classMethodList=class_copyMethodList(object_getClass(classname),classMethodsCount); 582 | methodList=class_copyMethodList(classname,methodsCount); 583 | classMethodsString=classMethodsString.toString()+methodLinesGenerator(classMethodList,classMethodsCount,1).toString(); 584 | methodsString=methodsString.toString()+methodLinesGenerator(methodList,methodsCount,0).toString(); 585 | free(methodList); 586 | free(classMethodList); 587 | 588 | if (!alsoDumpSuperclasses) 589 | break; 590 | classname=classname.superclass ? classname.superclass : NSObject; 591 | 592 | } 593 | 594 | 595 | classString= classString.toString()+structsString.toString()+interfaceString.toString(); 596 | classString = classString.toString()+" {"+ivarsString.toString()+"\n}\n"+propertiesString.toString()+classMethodsString.toString()+methodsString.toString(); 597 | classString = classString.toString()+"@end"; 598 | 599 | 600 | if (typeof(outputdir) == 'undefined'){ 601 | outputdir = "/tmp"; 602 | } 603 | 604 | if (typeof(alsoDumpSuperclasses) == 'string'){ 605 | outputdir=alsoDumpSuperclasses; 606 | } 607 | 608 | isDir= new boolean; 609 | dirExists=[[NSFileManager defaultManager ] fileExistsAtPath:outputdir isDirectory: isDir] ; 610 | if (!dirExists || !isDir){ 611 | createDirSucceeded = [[NSFileManager defaultManager ] createDirectoryAtPath:outputdir attributes: nil]; 612 | } 613 | 614 | outputdir=outputdir.toString()+"/"; 615 | 616 | if (![NSFileManager.defaultManager fileExistsAtPath:outputdir]){ 617 | try{ 618 | [NSFileManager.defaultManager createDirectoryAtPath:outputdir withIntermediateDirectories:YES attributes:nil error:nil]; 619 | }catch(e){} 620 | } 621 | 622 | classString = [NSString stringWithString:classString ]; 623 | if ([classString writeToFile:outputdir.toString()+startingClassname.toString()+".h" atomically:YES]){ 624 | 625 | return "Wrote file to "+outputdir.toString()+startingClassname.toString()+".h"+allProtocols.toString(); 626 | } 627 | else { 628 | NSSearchPathForDirectoriesInDomains=new Functor(dlsym(RTLD_DEFAULT,"NSSearchPathForDirectoriesInDomains"),"@ccc"); 629 | writeableDir=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 630 | writeableDir=writeableDir[0]; 631 | return "Failed to write to "+outputdir.toString()+startingClassname.toString()+".h - Check file path and permissions? Suggested writeable directory: "+writeableDir.toString(); 632 | } 633 | } 634 | 635 | 636 | 637 | 638 | function mweak_loadwdc_class(){ 639 | 640 | @implementation WCDBundleDumper : NSObject {} 641 | +(id)dumpBundle:(id)infoDictionary{ 642 | var bundle=[infoDictionary objectForKey:@"bundle"]; 643 | var outputdir=[infoDictionary objectForKey:@"outputdir"]; 644 | 645 | 646 | for (d = 0; d<[ObjectiveC.classes allKeys].length; d++) { 647 | name=[ObjectiveC.classes allKeys][d].toString(); 648 | if ([[NSBundle bundleForClass:objc_getClass(name.toString())] isEqual:bundle]){ 649 | try { 650 | weak_classdump(objc_getClass(objc_getClass(name.toString())), false, outputdir); 651 | } 652 | catch (e) { 653 | } 654 | } 655 | } 656 | if (typeof(__AudioServicesPlaySystemSound)=="undefined"){ 657 | dlopen("/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox",RTLD_LAZY); 658 | __AudioServicesPlaySystemSound=new Functor(dlsym(-2,"AudioServicesPlaySystemSound"),"vi"); 659 | } 660 | __AudioServicesPlaySystemSound(1005); // comment out to not produce any sound on finish 661 | //NSLog(@"weak_classdump: Finished dumping bundle %@. Check output dir %@",bundle,outputdir); 662 | 663 | } 664 | @end 665 | 666 | } 667 | 668 | function weak_classdump_bundle(bundle, outputdir) { 669 | 670 | if (typeof(bundle)=="undefined"){ 671 | bundle=[NSBundle mainBundle]; 672 | } 673 | if (![bundle isLoaded]){ 674 | //NSLog(@"weak_classdump: Bundle %@ is not loaded,attempting to load it",bundle); 675 | [bundle load]; 676 | } 677 | if (typeof(outputdir)=="undefined"){ 678 | outputdir="/tmp/"; 679 | } 680 | 681 | 682 | var infoDict=[NSMutableDictionary dictionary]; 683 | [ infoDict setObject:bundle forKey:@"bundle"]; 684 | [ infoDict setObject:outputdir forKey:@"outputdir"]; 685 | 686 | try { 687 | [WCDBundleDumper class]; 688 | } catch (e){ 689 | mweak_loadwdc_class(); 690 | } 691 | 692 | [objc_getClass("WCDBundleDumper") performSelectorInBackground:@selector(dumpBundle:) withObject:infoDict ]; 693 | return "Dumping bundle... Will play alert sound when done. Check output directory for changes"; 694 | 695 | } 696 | if (! [NSString instancesRespondToSelector:@selector(containsSubstring:)]){ 697 | @implementation NSString (lim) 698 | -(BOOL)containsSubstring:(NSString*)string{ 699 | return [self rangeOfString:string].location!=NSNotFound; 700 | } 701 | @end 702 | 703 | } 704 | 705 | if ( ! [NSString instancesRespondToSelector:@selector(stringByRemovingCharactersFromSet:)] ){ 706 | 707 | 708 | 709 | 710 | @implementation NSString (weakclassdump_compatibility) 711 | - (void)removeCharactersInSet:(id)set{ 712 | 713 | length = [this length]; 714 | matchRange = [this rangeOfCharacterFromSet:set options:2 range:[0, length]]; 715 | while(matchRange.length > 0){ 716 | replaceRange = matchRange; 717 | searchRange=[0,0]; 718 | searchRange.location = replaceRange.location + replaceRange.length; 719 | searchRange.length = length - searchRange.location; 720 | for(;;){ 721 | matchRange = [this rangeOfCharacterFromSet:set options:2 range:searchRange]; 722 | if((matchRange.length == 0) || (matchRange.location != searchRange.location)) 723 | break; 724 | replaceRange.length += matchRange.length; 725 | searchRange.length -= matchRange.length; 726 | searchRange.location += matchRange.length; 727 | } 728 | [this deleteCharactersInRange:replaceRange]; 729 | matchRange.location -= replaceRange.length; 730 | length -= replaceRange.length; 731 | } 732 | } 733 | 734 | 735 | - (id)stringByRemovingCharactersFromSet:(id)set{ 736 | 737 | if([this rangeOfCharacterFromSet:set options:2].length == 0) 738 | return this; 739 | temp = [[this mutableCopyWithZone:[this zone]] autorelease]; 740 | [temp removeCharactersInSet:set]; 741 | temp=[temp stringByReplacingOccurrencesOfString: @"\"" withString: @""]; 742 | return temp; 743 | } 744 | 745 | @end 746 | 747 | } 748 | 749 | if ( ! [NSString instancesRespondToSelector:@selector(stringByRemovingWhitespace)] ){ 750 | 751 | @implementation NSString (weakclassdump_compatibility) 752 | -(id)stringByRemovingWhitespace{ 753 | return [this stringByRemovingCharactersFromSet:[NSCharacterSet whitespaceCharacterSet]]; 754 | } 755 | @end 756 | } 757 | 758 | 759 | 760 | // Usage example : weak_classdump(SBAwayController); 761 | // (will write to default path "/tmp/SBAwayController.h" 762 | // example 2: weak_classdump(UIApplication,"/var/mobile/"); 763 | // will write to "/var/mobile/UIApplication.h" 764 | // example 3: weak_classdump_bundle([NSBundle bundleWithPath:"/System/Library/Frameworks/iAd.framework"]); 765 | // will dump all classes in the defined bundle to default dir "/tmp" 766 | // example 4: weak_classdump_bundle([NSBundle bundleWithPath:"/System/Library/Frameworks/iAd.framework"],"/tmp/iAD.framework/Headers/"); 767 | // will dump all classes in the defined bundle to "/tmp/iAD.framework/" 768 | 769 | 770 | "Added weak_classdump to \""+NSProcessInfo.processInfo .processName.toString()+"\" ("+NSProcessInfo.processInfo .processIdentifier.toString()+")"; 771 | --------------------------------------------------------------------------------