├── alfiras.plist ├── alfiras ├── Resources │ ├── cydia.png │ ├── paypal.png │ ├── cydia@2x.png │ ├── icon@2x.png │ ├── instagram.png │ ├── paypal@2x.png │ ├── snapchat.png │ ├── twitter.png │ ├── snapchat@2x.png │ ├── twitter@2x.png │ ├── instagram@2x.png │ ├── Info.plist │ └── ALFiras.plist ├── Makefile ├── entry.plist ├── Headers │ ├── PSViewController.h │ ├── Preferences │ │ ├── PSViewController.h │ │ ├── PSTableCell.h │ │ ├── PSSpecifier.h │ │ └── PSListController.h │ ├── PSTableCell.h │ ├── PSSpecifier.h │ └── PSListController.h └── ALFiras.m ├── packages └── me.a1iraqi.alfiras_0.0.1-67+debug_iphoneos-arm.deb ├── control ├── README.md ├── UIAlert+Blocks.h ├── Makefile ├── UIAlert+Blocks.m └── Tweak.xm /alfiras.plist: -------------------------------------------------------------------------------- 1 | { Filter = { Bundles = ( "com.toyopagroup.picaboo" ); }; } 2 | -------------------------------------------------------------------------------- /alfiras/Resources/cydia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/cydia.png -------------------------------------------------------------------------------- /alfiras/Resources/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/paypal.png -------------------------------------------------------------------------------- /alfiras/Resources/cydia@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/cydia@2x.png -------------------------------------------------------------------------------- /alfiras/Resources/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/icon@2x.png -------------------------------------------------------------------------------- /alfiras/Resources/instagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/instagram.png -------------------------------------------------------------------------------- /alfiras/Resources/paypal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/paypal@2x.png -------------------------------------------------------------------------------- /alfiras/Resources/snapchat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/snapchat.png -------------------------------------------------------------------------------- /alfiras/Resources/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/twitter.png -------------------------------------------------------------------------------- /alfiras/Resources/snapchat@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/snapchat@2x.png -------------------------------------------------------------------------------- /alfiras/Resources/twitter@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/twitter@2x.png -------------------------------------------------------------------------------- /alfiras/Resources/instagram@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/alfiras/Resources/instagram@2x.png -------------------------------------------------------------------------------- /packages/me.a1iraqi.alfiras_0.0.1-67+debug_iphoneos-arm.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AzozzALFiras/ALFiras/HEAD/packages/me.a1iraqi.alfiras_0.0.1-67+debug_iphoneos-arm.deb -------------------------------------------------------------------------------- /control: -------------------------------------------------------------------------------- 1 | Package: me.a1iraqi.alfiras 2 | Name: ALFiras 3 | Depends: mobilesubstrate,ws.hbang.common 4 | Version: 0.0.1 5 | Architecture: iphoneos-arm 6 | Description: An awesome MobileSubstrate tweak! 7 | Maintainer: Azozz ALFiras 8 | Author: Azozz ALFiras 9 | Section: Tweaks 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ALFiras 2 | Tweak Snapchat download video & photo 3 | // Developer : Azozz ALFiras 4 | // Twitter : @AzozzALFiras 5 | // Source Code : github.com/AzozzALFiras/ALFiras 6 | // Thanks for help : Elias Sfeir 7 | // Twitter : @eliassfeir1 8 | // Download Video & Photo from story & message 9 | // snapchat 10 | 11 | 12 | # What's Need ? 13 | 14 | Need Download Theos 15 | need Update name headers for work 16 | -------------------------------------------------------------------------------- /UIAlert+Blocks.h: -------------------------------------------------------------------------------- 1 | // Developer : Azozz ALFiras 2 | // Source Code : github.com/AzozzALFiras/ALFiras 3 | // Thanks for help : Elias Sfeir 4 | // Twitter : @eliassfeir1 5 | // Download Video & Photo from story & message 6 | // snapchat 7 | 8 | 9 | 10 | #import 11 | 12 | @interface UIAlertView (Blocks) 13 | 14 | - (void)showWithCompletion:(void(^)(UIAlertView *alertView, NSInteger buttonIndex))completion; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | GO_EASY_ON_ME = 1 2 | include $(THEOS)/makefiles/common.mk 3 | 4 | TWEAK_NAME = alfiras 5 | alfiras_FILES = Tweak.xm UIAlert+Blocks.m 6 | alfiras_FRAMEWORKS = AVFoundation 7 | alfiras_EXTRA_FRAMEWORKS += cephei 8 | alfiras_LIBRARIES = rocketbootstrap 9 | 10 | include $(THEOS_MAKE_PATH)/tweak.mk 11 | 12 | after-install:: 13 | install.exec "killall -9 com.toyopagroup.picaboo" 14 | SUBPROJECTS += alfiras 15 | include $(THEOS_MAKE_PATH)/aggregate.mk 16 | -------------------------------------------------------------------------------- /alfiras/Makefile: -------------------------------------------------------------------------------- 1 | include /opt/theos/makefiles/common.mk 2 | 3 | BUNDLE_NAME = ALFiras 4 | ALFiras_FILES = ALFiras.m 5 | ALFiras_INSTALL_PATH = /Library/PreferenceBundles 6 | ALFiras_FRAMEWORKS = UIKit 7 | ALFiras_PRIVATE_FRAMEWORKS = Preferences 8 | 9 | include /opt/theos/makefiles/bundle.mk 10 | 11 | internal-stage:: 12 | $(ECHO_NOTHING)mkdir -p $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences$(ECHO_END) 13 | $(ECHO_NOTHING)cp entry.plist $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences/ALFiras.plist$(ECHO_END) 14 | -------------------------------------------------------------------------------- /alfiras/entry.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | entry 6 | 7 | bundle 8 | ALFiras 9 | cell 10 | PSLinkCell 11 | detail 12 | ALFirasListController 13 | icon 14 | icon.png 15 | isController 16 | 17 | label 18 | ALFiras 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /alfiras/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ALFiras 9 | CFBundleIdentifier 10 | me.i1iraqi.ALFiras 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1.0 21 | DTPlatformName 22 | iphoneos 23 | MinimumOSVersion 24 | 3.0 25 | NSPrincipalClass 26 | ALFirasListController 27 | 28 | 29 | -------------------------------------------------------------------------------- /alfiras/Headers/PSViewController.h: -------------------------------------------------------------------------------- 1 | /* Generated by RuntimeBrowser 2 | Image: /System/Library/PrivateFrameworks/Preferences.framework/Preferences 3 | */ 4 | 5 | #import 6 | #import 7 | 8 | //@class PSRootController, PSSpecifier, UIViewController; 9 | 10 | @interface PSViewController : UIViewController /**/ { 11 | /*UIViewController *_parentController; 12 | PSRootController *_rootController; 13 | PSSpecifier *_specifier;*/ 14 | } 15 | 16 | - (BOOL)canBeShownFromSuspendedState; 17 | - (void)dealloc; 18 | - (void)didLock; 19 | - (void)didUnlock; 20 | - (void)didWake; 21 | - (void)formSheetViewDidDisappear; 22 | - (void)formSheetViewWillDisappear; 23 | - (void)handleURL:(id)arg1; 24 | - (id)parentController; 25 | - (void)popupViewDidDisappear; 26 | - (void)popupViewWillDisappear; 27 | - (void)pushController:(id)arg1; 28 | - (id)readPreferenceValue:(id)arg1; 29 | - (id)rootController; 30 | - (void)setParentController:(id)arg1; 31 | - (void)setPreferenceValue:(id)arg1 specifier:(id)arg2; 32 | - (void)setRootController:(id)arg1; 33 | - (void)setSpecifier:(id)arg1; 34 | - (id)specifier; 35 | - (void)statusBarWillAnimateByHeight:(float)arg1; 36 | - (void)suspend; 37 | - (void)willBecomeActive; 38 | - (void)willResignActive; 39 | - (void)willUnlock; 40 | 41 | @end -------------------------------------------------------------------------------- /alfiras/Headers/Preferences/PSViewController.h: -------------------------------------------------------------------------------- 1 | /* Generated by RuntimeBrowser 2 | Image: /System/Library/PrivateFrameworks/Preferences.framework/Preferences 3 | */ 4 | 5 | #import 6 | #import 7 | 8 | //@class PSRootController, PSSpecifier, UIViewController; 9 | 10 | @interface PSViewController : UIViewController /**/ { 11 | /*UIViewController *_parentController; 12 | PSRootController *_rootController; 13 | PSSpecifier *_specifier;*/ 14 | } 15 | 16 | - (BOOL)canBeShownFromSuspendedState; 17 | - (void)dealloc; 18 | - (void)didLock; 19 | - (void)didUnlock; 20 | - (void)didWake; 21 | - (void)formSheetViewDidDisappear; 22 | - (void)formSheetViewWillDisappear; 23 | - (void)handleURL:(id)arg1; 24 | - (id)parentController; 25 | - (void)popupViewDidDisappear; 26 | - (void)popupViewWillDisappear; 27 | - (void)pushController:(id)arg1; 28 | - (id)readPreferenceValue:(id)arg1; 29 | - (id)rootController; 30 | - (void)setParentController:(id)arg1; 31 | - (void)setPreferenceValue:(id)arg1 specifier:(id)arg2; 32 | - (void)setRootController:(id)arg1; 33 | - (void)setSpecifier:(id)arg1; 34 | - (id)specifier; 35 | - (void)statusBarWillAnimateByHeight:(float)arg1; 36 | - (void)suspend; 37 | - (void)willBecomeActive; 38 | - (void)willResignActive; 39 | - (void)willUnlock; 40 | 41 | @end -------------------------------------------------------------------------------- /UIAlert+Blocks.m: -------------------------------------------------------------------------------- 1 | // Developer : Azozz ALFiras 2 | // Source Code : github.com/AzozzALFiras/ALFiras 3 | // Thanks for help : Elias Sfeir 4 | // Twitter : @eliassfeir1 5 | // Download Video & Photo from story & message 6 | // snapchat 7 | 8 | 9 | #import 10 | 11 | @interface INAlertWrapper : NSObject 12 | 13 | @property (copy) void(^completionBlock)(UIAlertView *alertView, NSInteger buttonIndex); 14 | 15 | @end 16 | 17 | @implementation INAlertWrapper 18 | 19 | #pragma mark - UIAlertViewDelegate 20 | 21 | - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 22 | { 23 | if (self.completionBlock) { 24 | self.completionBlock(alertView, buttonIndex); 25 | } 26 | } 27 | 28 | - (void)alertViewCancel:(UIAlertView *)alertView 29 | { 30 | if (self.completionBlock) { 31 | self.completionBlock(alertView, alertView.cancelButtonIndex); 32 | } 33 | } 34 | 35 | @end 36 | 37 | 38 | static const char kINAlertWrapper; 39 | 40 | @implementation UIAlertView (Blocks) 41 | 42 | - (void)showWithCompletion:(void (^)(UIAlertView *, NSInteger))completion 43 | { 44 | INAlertWrapper *wrapper = [INAlertWrapper new]; 45 | wrapper.completionBlock = completion; 46 | self.delegate = wrapper; 47 | 48 | objc_setAssociatedObject(self, &kINAlertWrapper, wrapper, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 49 | 50 | [self show]; 51 | } 52 | @end 53 | -------------------------------------------------------------------------------- /alfiras/Headers/PSTableCell.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Generated by class-dump 3.3.4 (64 bit). 3 | * 4 | * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. 5 | */ 6 | 7 | //#import "UITableViewCell.h" 8 | 9 | @class NSString, PSSpecifier, UIImageView, UILongPressGestureRecognizer; 10 | 11 | @interface PSTableCell : UITableViewCell 12 | { 13 | id _value; 14 | UIImageView *_checkedImageView; 15 | _Bool _checked; 16 | _Bool _shouldHideTitle; 17 | NSString *_hiddenTitle; 18 | int _alignment; 19 | SEL _pAction; 20 | id _pTarget; 21 | _Bool _cellEnabled; 22 | PSSpecifier *_specifier; 23 | long long _type; 24 | _Bool _lazyIcon; 25 | _Bool _lazyIconDontUnload; 26 | _Bool _lazyIconForceSynchronous; 27 | NSString *_lazyIconAppID; 28 | _Bool _reusedCell; 29 | _Bool _isCopyable; 30 | UILongPressGestureRecognizer *_longTapRecognizer; 31 | } 32 | 33 | + (Class)cellClassForSpecifier:(id)arg1; 34 | + (long long)cellStyle; 35 | + (id)reuseIdentifierForSpecifier:(id)arg1; 36 | + (id)reuseIdentifierForClassAndType:(long long)arg1; 37 | + (id)reuseIdentifierForBasicCellTypes:(long long)arg1; 38 | + (id)stringFromCellType:(long long)arg1; 39 | + (long long)cellTypeFromString:(id)arg1; 40 | @property(retain, nonatomic) UILongPressGestureRecognizer *longTapRecognizer; // @synthesize longTapRecognizer=_longTapRecognizer; 41 | @property(nonatomic) _Bool isCopyable; // @synthesize isCopyable=_isCopyable; 42 | @property(nonatomic) _Bool reusedCell; // @synthesize reusedCell=_reusedCell; 43 | @property(nonatomic) long long type; // @synthesize type=_type; 44 | @property(retain, nonatomic) PSSpecifier *specifier; // @synthesize specifier=_specifier; 45 | - (double)textFieldOffset; 46 | - (void)reloadWithSpecifier:(id)arg1 animated:(_Bool)arg2; 47 | - (_Bool)cellEnabled; 48 | - (void)setCellEnabled:(_Bool)arg1; 49 | - (SEL)cellAction; 50 | - (void)setCellAction:(SEL)arg1; 51 | - (id)cellTarget; 52 | - (void)setCellTarget:(id)arg1; 53 | - (SEL)action; 54 | - (void)setAction:(SEL)arg1; 55 | - (id)target; 56 | - (void)setTarget:(id)arg1; 57 | - (void)setAlignment:(int)arg1; 58 | - (id)iconImageView; 59 | - (id)valueLabel; 60 | - (id)titleLabel; 61 | - (id)value; 62 | - (void)setValue:(id)arg1; 63 | - (void)setIcon:(id)arg1; 64 | - (_Bool)canBeChecked; 65 | - (_Bool)isChecked; 66 | - (void)setChecked:(_Bool)arg1; 67 | - (void)setShouldHideTitle:(_Bool)arg1; 68 | - (void)setTitle:(id)arg1; 69 | - (id)title; 70 | - (id)getIcon; 71 | - (void)forceSynchronousIconLoadOnNextIconLoad; 72 | - (void)cellRemovedFromView; 73 | - (id)blankIcon; 74 | - (id)getLazyIconID; 75 | - (id)getLazyIcon; 76 | - (id)_contentString; 77 | - (_Bool)canReload; 78 | - (void)setHighlighted:(_Bool)arg1 animated:(_Bool)arg2; 79 | - (void)setSelected:(_Bool)arg1 animated:(_Bool)arg2; 80 | - (id)titleTextLabel; 81 | - (void)setValueChangedTarget:(id)arg1 action:(SEL)arg2 specifier:(id)arg3; 82 | - (void)layoutSubviews; 83 | - (void)prepareForReuse; 84 | - (void)refreshCellContentsWithSpecifier:(id)arg1; 85 | - (_Bool)canPerformAction:(SEL)arg1 withSender:(id)arg2; 86 | - (void)copy:(id)arg1; 87 | - (id)_copyableText; 88 | - (void)longPressed:(id)arg1; 89 | - (_Bool)canBecomeFirstResponder; 90 | - (void)dealloc; 91 | - (id)initWithStyle:(long long)arg1 reuseIdentifier:(id)arg2 specifier:(id)arg3; 92 | 93 | @end 94 | 95 | -------------------------------------------------------------------------------- /alfiras/Headers/Preferences/PSTableCell.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Generated by class-dump 3.3.4 (64 bit). 3 | * 4 | * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. 5 | */ 6 | 7 | //#import "UITableViewCell.h" 8 | 9 | @class NSString, PSSpecifier, UIImageView, UILongPressGestureRecognizer; 10 | 11 | @interface PSTableCell : UITableViewCell 12 | { 13 | id _value; 14 | UIImageView *_checkedImageView; 15 | _Bool _checked; 16 | _Bool _shouldHideTitle; 17 | NSString *_hiddenTitle; 18 | int _alignment; 19 | SEL _pAction; 20 | id _pTarget; 21 | _Bool _cellEnabled; 22 | PSSpecifier *_specifier; 23 | long long _type; 24 | _Bool _lazyIcon; 25 | _Bool _lazyIconDontUnload; 26 | _Bool _lazyIconForceSynchronous; 27 | NSString *_lazyIconAppID; 28 | _Bool _reusedCell; 29 | _Bool _isCopyable; 30 | UILongPressGestureRecognizer *_longTapRecognizer; 31 | } 32 | 33 | + (Class)cellClassForSpecifier:(id)arg1; 34 | + (long long)cellStyle; 35 | + (id)reuseIdentifierForSpecifier:(id)arg1; 36 | + (id)reuseIdentifierForClassAndType:(long long)arg1; 37 | + (id)reuseIdentifierForBasicCellTypes:(long long)arg1; 38 | + (id)stringFromCellType:(long long)arg1; 39 | + (long long)cellTypeFromString:(id)arg1; 40 | @property(retain, nonatomic) UILongPressGestureRecognizer *longTapRecognizer; // @synthesize longTapRecognizer=_longTapRecognizer; 41 | @property(nonatomic) _Bool isCopyable; // @synthesize isCopyable=_isCopyable; 42 | @property(nonatomic) _Bool reusedCell; // @synthesize reusedCell=_reusedCell; 43 | @property(nonatomic) long long type; // @synthesize type=_type; 44 | @property(retain, nonatomic) PSSpecifier *specifier; // @synthesize specifier=_specifier; 45 | - (double)textFieldOffset; 46 | - (void)reloadWithSpecifier:(id)arg1 animated:(_Bool)arg2; 47 | - (_Bool)cellEnabled; 48 | - (void)setCellEnabled:(_Bool)arg1; 49 | - (SEL)cellAction; 50 | - (void)setCellAction:(SEL)arg1; 51 | - (id)cellTarget; 52 | - (void)setCellTarget:(id)arg1; 53 | - (SEL)action; 54 | - (void)setAction:(SEL)arg1; 55 | - (id)target; 56 | - (void)setTarget:(id)arg1; 57 | - (void)setAlignment:(int)arg1; 58 | - (id)iconImageView; 59 | - (id)valueLabel; 60 | - (id)titleLabel; 61 | - (id)value; 62 | - (void)setValue:(id)arg1; 63 | - (void)setIcon:(id)arg1; 64 | - (_Bool)canBeChecked; 65 | - (_Bool)isChecked; 66 | - (void)setChecked:(_Bool)arg1; 67 | - (void)setShouldHideTitle:(_Bool)arg1; 68 | - (void)setTitle:(id)arg1; 69 | - (id)title; 70 | - (id)getIcon; 71 | - (void)forceSynchronousIconLoadOnNextIconLoad; 72 | - (void)cellRemovedFromView; 73 | - (id)blankIcon; 74 | - (id)getLazyIconID; 75 | - (id)getLazyIcon; 76 | - (id)_contentString; 77 | - (_Bool)canReload; 78 | - (void)setHighlighted:(_Bool)arg1 animated:(_Bool)arg2; 79 | - (void)setSelected:(_Bool)arg1 animated:(_Bool)arg2; 80 | - (id)titleTextLabel; 81 | - (void)setValueChangedTarget:(id)arg1 action:(SEL)arg2 specifier:(id)arg3; 82 | - (void)layoutSubviews; 83 | - (void)prepareForReuse; 84 | - (void)refreshCellContentsWithSpecifier:(id)arg1; 85 | - (_Bool)canPerformAction:(SEL)arg1 withSender:(id)arg2; 86 | - (void)copy:(id)arg1; 87 | - (id)_copyableText; 88 | - (void)longPressed:(id)arg1; 89 | - (_Bool)canBecomeFirstResponder; 90 | - (void)dealloc; 91 | - (id)initWithStyle:(long long)arg1 reuseIdentifier:(id)arg2 specifier:(id)arg3; 92 | 93 | @end 94 | 95 | -------------------------------------------------------------------------------- /alfiras/Resources/ALFiras.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | PostNotification 9 | com.i1iraqi.alfiras.preferences-changed 10 | cell 11 | PSSwitchCell 12 | default 13 | 14 | defaults 15 | com.i1iraqi.ALFiras 16 | cellClass 17 | myTableCell 18 | key 19 | enable 20 | label 21 | Save Snaps 22 | 23 | 24 | 25 | cell 26 | PSGroupCell 27 | label 28 | Source 29 | 30 | 31 | action 32 | cydia 33 | cell 34 | PSButtonCell 35 | icon 36 | cydia.png 37 | label 38 | My Cydia Source 39 | 40 | 41 | cell 42 | PSGroupCell 43 | label 44 | Click here to follow me and stay updated 45 | 46 | 47 | action 48 | tweet 49 | cell 50 | PSButtonCell 51 | icon 52 | twitter.png 53 | label 54 | Follow me on twitter 55 | 56 | 57 | cell 58 | PSGroupCell 59 | label 60 | Click here to follow me on Instagram 61 | 62 | 63 | action 64 | instagram 65 | cell 66 | PSButtonCell 67 | icon 68 | instagram.png 69 | label 70 | Follow me on Instagram 71 | 72 | 73 | cell 74 | PSGroupCell 75 | label 76 | Click here to add me on Snapchat 77 | 78 | 79 | action 80 | snapchat 81 | cell 82 | PSButtonCell 83 | icon 84 | snapchat.png 85 | label 86 | Add me on Snapchat 87 | 88 | 89 | cell 90 | PSGroupCell 91 | label 92 | Click here to support my work :) 93 | 94 | 95 | action 96 | paypal 97 | cell 98 | PSButtonCell 99 | icon 100 | paypal.png 101 | label 102 | Donate 103 | 104 | 105 | cell 106 | PSGroupCell 107 | footerText 108 | © Developed by Azzoz ALFiras (@AzozzALFiras) 109 | isStaticText 110 | 111 | 112 | 113 | 114 | title 115 | ALFiras 116 | 117 | 118 | -------------------------------------------------------------------------------- /Tweak.xm: -------------------------------------------------------------------------------- 1 | // Developer : Azozz ALFiras 2 | // Source Code : github.com/AzozzALFiras/ALFiras 3 | // Thanks for help : Elias Sfeir 4 | // Twitter : @eliassfeir1 5 | // Download Video & Photo from story & message 6 | // snapchat 7 | 8 | 9 | #import 10 | #import 11 | #import 12 | #import "UIAlert+Blocks.h" 13 | #import 14 | #import 15 | #import 16 | 17 | extern NSString *const HBPreferencesDidChangeNotification; 18 | 19 | HBPreferences *preferences; 20 | 21 | 22 | 23 | 24 | static BOOL enable; 25 | %ctor 26 | { 27 | 28 | // Name Header tweak 29 | preferences = [[HBPreferences alloc] initWithIdentifier:@"com.i1iraqi.ALFiras"]; 30 | 31 | [preferences registerBool:&enable default:NO forKey:@"enable"]; 32 | } 33 | 34 | @interface SCOperaPageViewController : UIViewController 35 | -(id)shareableMedia; 36 | -(void)loadView; 37 | -(NSArray*)shareableMedias; 38 | -(void)viewDidAppear:(BOOL)arg1; 39 | -(void)stop; 40 | -(id)configuration; 41 | @end 42 | 43 | @interface SCOperaConfiguration 44 | -(id)remoteVideoPropertiesProvider; 45 | @end 46 | 47 | @interface SCDiscoverVideoCatalogService 48 | -(NSMutableDictionary *)videoCatalogMap; 49 | @end 50 | 51 | 52 | @interface SCDiscoverVideoCatalog 53 | -(id)videoURLs; 54 | @end 55 | 56 | 57 | 58 | @interface SCOperaShareableMedia : SCOperaPageViewController 59 | { 60 | UIImage *_image; 61 | } 62 | @property NSInteger mediaType; 63 | -(id)image; 64 | -(id)videoURL; 65 | -(id)videoAsset; 66 | @end 67 | 68 | 69 | @interface SettingsViewController : UIViewController 70 | { 71 | UITableView *_tableView; 72 | } 73 | -(void)didBecomeActive; 74 | -(void)reloadTableOnMainThread; 75 | -(void)loadView; 76 | @end 77 | 78 | @interface SCOperaViewController 79 | -(id)shareableMedias; 80 | @end 81 | 82 | 83 | UIButton *button1; 84 | 85 | %hook SCOperaPageViewController 86 | -(void)autoAdvanceTimerDidFire{ 87 | 88 | } 89 | -(void)viewDidAppear:(BOOL)arg1{ 90 | %orig; 91 | if(enable){ 92 | double screenHeight = [[UIScreen mainScreen] bounds].size.height; 93 | 94 | // button Tweak 95 | 96 | button1 = [UIButton buttonWithType:UIButtonTypeContactAdd]; 97 | [button1 addTarget:self 98 | action:@selector(didPressSave:) 99 | forControlEvents:UIControlEventTouchUpInside]; 100 | [button1 setTitle:@"" forState:UIControlStateNormal]; 101 | 102 | // iPhone 5/5S/SE 103 | if (screenHeight == 568) { 104 | NSLog(@"iPhone 5/5S/SE"); 105 | button1.center = CGPointMake(300 , 500); 106 | }else if (screenHeight == 667) { 107 | 108 | // iPhone 6/7 109 | button1.center = CGPointMake(350 , 635); 110 | } else if(screenHeight == 736){ 111 | 112 | // iPhone 8 and Up 113 | button1.center = CGPointMake(370 ,700); 114 | }else{ 115 | button1.center = CGPointMake(320 ,665); 116 | } 117 | 118 | [self.view addSubview:button1]; 119 | 120 | }else{ 121 | %orig; 122 | } 123 | } 124 | %new 125 | -(void)didPressSave:(UIButton*)button{ 126 | 127 | [self stop]; 128 | NSArray* test = [self shareableMedias]; 129 | 130 | if(test.count == 1){ 131 | id test1 = [test firstObject]; 132 | 133 | UIImage *test2 = [test1 image]; 134 | 135 | NSString * message = @"Check this Photo !"; 136 | 137 | 138 | NSArray * shareItems = @[message, test2]; 139 | 140 | UIActivityViewController * avc = [[ UIActivityViewController alloc] initWithActivityItems:shareItems applicationActivities:nil]; 141 | 142 | [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:avc animated:YES completion:NULL]; 143 | [avc setCompletionWithItemsHandler:^(NSString *activityType,BOOL completed, NSArray *returnedItems, NSError *activityError){ 144 | 145 | }]; 146 | }else if(test.count >= 2){ 147 | 148 | id video = [test objectAtIndex:1]; 149 | 150 | id asset = [video videoAsset]; 151 | 152 | NSURL *videoURL = [asset URL]; 153 | if(videoURL){ 154 | 155 | NSArray * shareItems = @[videoURL]; 156 | 157 | UIActivityViewController * avc = [[ UIActivityViewController alloc] initWithActivityItems:shareItems applicationActivities:nil]; 158 | 159 | [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:avc animated:YES completion:NULL]; 160 | [avc setCompletionWithItemsHandler:^(NSString *activityType,BOOL completed, NSArray *returnedItems, NSError *activityError){ 161 | 162 | }]; 163 | 164 | }else{ 165 | 166 | 167 | id stockVideo = [test objectAtIndex:1]; 168 | NSURL *stockVideoURL = [stockVideo videoURL]; 169 | 170 | 171 | NSArray * shareItems = @[stockVideoURL]; 172 | 173 | UIActivityViewController * avc = [[ UIActivityViewController alloc] initWithActivityItems:shareItems applicationActivities:nil]; 174 | 175 | [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:avc animated:YES completion:NULL]; 176 | [avc setCompletionWithItemsHandler:^(NSString *activityType,BOOL completed, NSArray *returnedItems, NSError *activityError){ 177 | 178 | }]; 179 | 180 | 181 | } 182 | } 183 | 184 | } 185 | %end 186 | -------------------------------------------------------------------------------- /alfiras/Headers/PSSpecifier.h: -------------------------------------------------------------------------------- 1 | /* Generated by RuntimeBrowser 2 | Image: /System/Library/PrivateFrameworks/Preferences.framework/Preferences 3 | */ 4 | 5 | #import 6 | #import 7 | #import 8 | 9 | //@class CNFRegAlias, IMAccount, NSArray, NSDictionary, NSMutableDictionary, NSString; 10 | 11 | typedef enum PSTableCellType { 12 | PSGroupCell, 13 | PSLinkCell, 14 | PSLinkListCell, 15 | PSListItemCell, 16 | PSTitleValueCell, 17 | PSSliderCell, 18 | PSSwitchCell, 19 | PSStaticTextCell, 20 | PSEditTextCell, 21 | PSSegmentCell, 22 | PSGiantIconCell, 23 | PSGiantCell, 24 | PSSecureEditTextCell, 25 | PSButtonCell, 26 | PSEditTextViewCell 27 | } PSSpecifierType; 28 | 29 | 30 | @interface PSSpecifier : NSObject { 31 | SEL _buttonAction; 32 | SEL _confirmationAction; 33 | SEL _confirmationCancelAction; 34 | SEL _controllerLoadAction; 35 | NSString *_name; 36 | NSMutableDictionary *_properties; 37 | NSDictionary *_shortTitleDict; 38 | BOOL _showContentString; 39 | NSDictionary *_titleDict; 40 | id _userInfo; 41 | NSArray *_values; 42 | SEL action; 43 | int autoCapsType; 44 | int autoCorrectionType; 45 | SEL cancel; 46 | int cellType; 47 | Class detailControllerClass; 48 | Class editPaneClass; 49 | SEL getter; 50 | int keyboardType; 51 | SEL setter; 52 | id target; 53 | unsigned int textFieldType; 54 | } 55 | 56 | //@property (retain) IMAccount * CNFRegAccount; 57 | //@property (retain) CNFRegAlias * CNFRegAlias; 58 | //@property (retain) CNFRegAlias * CNFRegCallerIdAlias; 59 | @property (assign) SEL buttonAction; 60 | @property (assign) int cellType; 61 | @property (assign) SEL confirmationAction; 62 | @property (assign) SEL confirmationCancelAction; 63 | @property (assign) SEL controllerLoadAction; 64 | @property (assign) Class detailControllerClass; 65 | @property (assign) Class editPaneClass; 66 | @property (retain) NSString * identifier; 67 | @property (retain) NSString * name; 68 | @property (retain) NSDictionary * shortTitleDictionary; 69 | @property (assign) BOOL showContentString; 70 | @property (assign) id target; 71 | @property (retain) NSDictionary * titleDictionary; 72 | @property (retain) id userInfo; 73 | @property (retain) NSArray * values; 74 | 75 | + (id)_dataclassToBundleId; 76 | + (id)acui_linkListCellSpecifierForDataclass:(id)arg1 target:(id)arg2 set:(SEL)arg3 get:(SEL)arg4 detail:(Class)arg5; 77 | + (id)acui_specifierForAppWithBundleID:(id)arg1 target:(id)arg2 set:(SEL)arg3 get:(SEL)arg4; 78 | + (id)acui_specifierForDataclass:(id)arg1 target:(id)arg2 set:(SEL)arg3 get:(SEL)arg4; 79 | + (int)autoCapsTypeForString:(id)arg1; 80 | + (int)autoCorrectionTypeForNumber:(id)arg1; 81 | + (id)buttonSpecifierWithTitle:(id)arg1 target:(id)arg2 action:(SEL)arg3 confirmationInfo:(id)arg4; 82 | + (id)deleteButtonSpecifierWithName:(id)arg1 target:(id)arg2 action:(SEL)arg3; 83 | + (id)emptyGroupSpecifier; 84 | + (id)groupSpecifierWithFooterLinkButton:(id)arg1; 85 | + (id)groupSpecifierWithFooterText:(id)arg1 linkButton:(id)arg2; 86 | + (id)groupSpecifierWithFooterText:(id)arg1 linkButtons:(id)arg2; 87 | + (id)groupSpecifierWithHeader:(id)arg1 footer:(id)arg2 linkButtons:(id)arg3; 88 | + (id)groupSpecifierWithHeader:(id)arg1 footer:(id)arg2; 89 | + (id)groupSpecifierWithName:(id)arg1; 90 | + (int)keyboardTypeForString:(id)arg1; 91 | + (id)preferenceSpecifierNamed:(id)arg1 target:(id)arg2 set:(SEL)arg3 get:(SEL)arg4 detail:(Class)arg5 cell:(int)arg6 edit:(Class)arg7; 92 | + (id)switchSpecifierWithTitle:(id)arg1 target:(id)arg2 setter:(SEL)arg3 getter:(SEL)arg4 key:(id)arg5; 93 | 94 | - (id)CNFRegAccount; 95 | - (id)CNFRegAlias; 96 | - (id)CNFRegCallerIdAlias; 97 | - (id)acui_appBundleID; 98 | - (id)acui_dataclass; 99 | - (SEL)buttonAction; 100 | - (int)cellType; 101 | - (SEL)confirmationAction; 102 | - (SEL)confirmationCancelAction; 103 | - (SEL)controllerLoadAction; 104 | - (void)dealloc; 105 | - (id)description; 106 | - (Class)detailControllerClass; 107 | - (Class)editPaneClass; 108 | - (id)identifier; 109 | - (id)init; 110 | - (void)loadValuesAndTitlesFromDataSource; 111 | - (id)name; 112 | - (id)properties; 113 | - (id)propertyForKey:(id)arg1; 114 | - (void)removePropertyForKey:(id)arg1; 115 | - (void)setButtonAction:(SEL)arg1; 116 | - (void)setCNFRegAccount:(id)arg1; 117 | - (void)setCNFRegAlias:(id)arg1; 118 | - (void)setCNFRegCallerIdAlias:(id)arg1; 119 | - (void)setCellType:(int)arg1; 120 | - (void)setConfirmationAction:(SEL)arg1; 121 | - (void)setConfirmationCancelAction:(SEL)arg1; 122 | - (void)setControllerLoadAction:(SEL)arg1; 123 | - (void)setDetailControllerClass:(Class)arg1; 124 | - (void)setEditPaneClass:(Class)arg1; 125 | - (void)setKeyboardType:(int)arg1 autoCaps:(int)arg2 autoCorrection:(int)arg3; 126 | - (void)setProperties:(id)arg1; 127 | - (void)setProperty:(id)arg1 forKey:(id)arg2; 128 | - (void)setShowContentString:(BOOL)arg1; 129 | - (void)setTarget:(id)arg1; 130 | - (void)setUserInfo:(id)arg1; 131 | - (void)setValues:(id)arg1 titles:(id)arg2 shortTitles:(id)arg3 usingLocalizedTitleSorting:(BOOL)arg4; 132 | - (void)setValues:(id)arg1 titles:(id)arg2 shortTitles:(id)arg3; 133 | - (void)setValues:(id)arg1 titles:(id)arg2; 134 | - (void)setupIconImageWithBundle:(id)arg1; 135 | - (void)setupIconImageWithPath:(id)arg1; 136 | - (id)shortTitleDictionary; 137 | - (BOOL)showContentString; 138 | - (id)target; 139 | - (int)titleCompare:(id)arg1; 140 | - (id)titleDictionary; 141 | - (id)userInfo; 142 | - (id)values; 143 | 144 | @end -------------------------------------------------------------------------------- /alfiras/Headers/Preferences/PSSpecifier.h: -------------------------------------------------------------------------------- 1 | /* Generated by RuntimeBrowser 2 | Image: /System/Library/PrivateFrameworks/Preferences.framework/Preferences 3 | */ 4 | 5 | #import 6 | #import 7 | #import 8 | 9 | //@class CNFRegAlias, IMAccount, NSArray, NSDictionary, NSMutableDictionary, NSString; 10 | 11 | typedef enum PSTableCellType { 12 | PSGroupCell, 13 | PSLinkCell, 14 | PSLinkListCell, 15 | PSListItemCell, 16 | PSTitleValueCell, 17 | PSSliderCell, 18 | PSSwitchCell, 19 | PSStaticTextCell, 20 | PSEditTextCell, 21 | PSSegmentCell, 22 | PSGiantIconCell, 23 | PSGiantCell, 24 | PSSecureEditTextCell, 25 | PSButtonCell, 26 | PSEditTextViewCell 27 | } PSSpecifierType; 28 | 29 | 30 | @interface PSSpecifier : NSObject { 31 | SEL _buttonAction; 32 | SEL _confirmationAction; 33 | SEL _confirmationCancelAction; 34 | SEL _controllerLoadAction; 35 | NSString *_name; 36 | NSMutableDictionary *_properties; 37 | NSDictionary *_shortTitleDict; 38 | BOOL _showContentString; 39 | NSDictionary *_titleDict; 40 | id _userInfo; 41 | NSArray *_values; 42 | SEL action; 43 | int autoCapsType; 44 | int autoCorrectionType; 45 | SEL cancel; 46 | int cellType; 47 | Class detailControllerClass; 48 | Class editPaneClass; 49 | SEL getter; 50 | int keyboardType; 51 | SEL setter; 52 | id target; 53 | unsigned int textFieldType; 54 | } 55 | 56 | //@property (retain) IMAccount * CNFRegAccount; 57 | //@property (retain) CNFRegAlias * CNFRegAlias; 58 | //@property (retain) CNFRegAlias * CNFRegCallerIdAlias; 59 | @property (assign) SEL buttonAction; 60 | @property (assign) int cellType; 61 | @property (assign) SEL confirmationAction; 62 | @property (assign) SEL confirmationCancelAction; 63 | @property (assign) SEL controllerLoadAction; 64 | @property (assign) Class detailControllerClass; 65 | @property (assign) Class editPaneClass; 66 | @property (retain) NSString * identifier; 67 | @property (retain) NSString * name; 68 | @property (retain) NSDictionary * shortTitleDictionary; 69 | @property (assign) BOOL showContentString; 70 | @property (assign) id target; 71 | @property (retain) NSDictionary * titleDictionary; 72 | @property (retain) id userInfo; 73 | @property (retain) NSArray * values; 74 | 75 | + (id)_dataclassToBundleId; 76 | + (id)acui_linkListCellSpecifierForDataclass:(id)arg1 target:(id)arg2 set:(SEL)arg3 get:(SEL)arg4 detail:(Class)arg5; 77 | + (id)acui_specifierForAppWithBundleID:(id)arg1 target:(id)arg2 set:(SEL)arg3 get:(SEL)arg4; 78 | + (id)acui_specifierForDataclass:(id)arg1 target:(id)arg2 set:(SEL)arg3 get:(SEL)arg4; 79 | + (int)autoCapsTypeForString:(id)arg1; 80 | + (int)autoCorrectionTypeForNumber:(id)arg1; 81 | + (id)buttonSpecifierWithTitle:(id)arg1 target:(id)arg2 action:(SEL)arg3 confirmationInfo:(id)arg4; 82 | + (id)deleteButtonSpecifierWithName:(id)arg1 target:(id)arg2 action:(SEL)arg3; 83 | + (id)emptyGroupSpecifier; 84 | + (id)groupSpecifierWithFooterLinkButton:(id)arg1; 85 | + (id)groupSpecifierWithFooterText:(id)arg1 linkButton:(id)arg2; 86 | + (id)groupSpecifierWithFooterText:(id)arg1 linkButtons:(id)arg2; 87 | + (id)groupSpecifierWithHeader:(id)arg1 footer:(id)arg2 linkButtons:(id)arg3; 88 | + (id)groupSpecifierWithHeader:(id)arg1 footer:(id)arg2; 89 | + (id)groupSpecifierWithName:(id)arg1; 90 | + (int)keyboardTypeForString:(id)arg1; 91 | + (id)preferenceSpecifierNamed:(id)arg1 target:(id)arg2 set:(SEL)arg3 get:(SEL)arg4 detail:(Class)arg5 cell:(int)arg6 edit:(Class)arg7; 92 | + (id)switchSpecifierWithTitle:(id)arg1 target:(id)arg2 setter:(SEL)arg3 getter:(SEL)arg4 key:(id)arg5; 93 | 94 | - (id)CNFRegAccount; 95 | - (id)CNFRegAlias; 96 | - (id)CNFRegCallerIdAlias; 97 | - (id)acui_appBundleID; 98 | - (id)acui_dataclass; 99 | - (SEL)buttonAction; 100 | - (int)cellType; 101 | - (SEL)confirmationAction; 102 | - (SEL)confirmationCancelAction; 103 | - (SEL)controllerLoadAction; 104 | - (void)dealloc; 105 | - (id)description; 106 | - (Class)detailControllerClass; 107 | - (Class)editPaneClass; 108 | - (id)identifier; 109 | - (id)init; 110 | - (void)loadValuesAndTitlesFromDataSource; 111 | - (id)name; 112 | - (id)properties; 113 | - (id)propertyForKey:(id)arg1; 114 | - (void)removePropertyForKey:(id)arg1; 115 | - (void)setButtonAction:(SEL)arg1; 116 | - (void)setCNFRegAccount:(id)arg1; 117 | - (void)setCNFRegAlias:(id)arg1; 118 | - (void)setCNFRegCallerIdAlias:(id)arg1; 119 | - (void)setCellType:(int)arg1; 120 | - (void)setConfirmationAction:(SEL)arg1; 121 | - (void)setConfirmationCancelAction:(SEL)arg1; 122 | - (void)setControllerLoadAction:(SEL)arg1; 123 | - (void)setDetailControllerClass:(Class)arg1; 124 | - (void)setEditPaneClass:(Class)arg1; 125 | - (void)setKeyboardType:(int)arg1 autoCaps:(int)arg2 autoCorrection:(int)arg3; 126 | - (void)setProperties:(id)arg1; 127 | - (void)setProperty:(id)arg1 forKey:(id)arg2; 128 | - (void)setShowContentString:(BOOL)arg1; 129 | - (void)setTarget:(id)arg1; 130 | - (void)setUserInfo:(id)arg1; 131 | - (void)setValues:(id)arg1 titles:(id)arg2 shortTitles:(id)arg3 usingLocalizedTitleSorting:(BOOL)arg4; 132 | - (void)setValues:(id)arg1 titles:(id)arg2 shortTitles:(id)arg3; 133 | - (void)setValues:(id)arg1 titles:(id)arg2; 134 | - (void)setupIconImageWithBundle:(id)arg1; 135 | - (void)setupIconImageWithPath:(id)arg1; 136 | - (id)shortTitleDictionary; 137 | - (BOOL)showContentString; 138 | - (id)target; 139 | - (int)titleCompare:(id)arg1; 140 | - (id)titleDictionary; 141 | - (id)userInfo; 142 | - (id)values; 143 | 144 | @end -------------------------------------------------------------------------------- /alfiras/ALFiras.m: -------------------------------------------------------------------------------- 1 | // Developer : Azozz ALFiras 2 | // Source Code : github.com/AzozzALFiras/ALFiras 3 | // Thanks for help : Elias Sfeir 4 | // Twitter : @eliassfeir1 5 | // Download Video & Photo from story & message 6 | // snapchat 7 | 8 | 9 | 10 | #import "Headers/PSListController.h" 11 | #import "Headers/PSSpecifier.h" 12 | #import "Headers/PSTableCell.h" 13 | #import "Headers/PSViewController.h" 14 | #import 15 | #import 16 | #include 17 | #define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame) 18 | #define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending) 19 | #define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) 20 | #define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending) 21 | #define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending) 22 | 23 | 24 | 25 | @interface PSControlTableCell : PSTableCell 26 | - (UIControl *)control; 27 | @end 28 | @interface PSSwitchTableCell : PSControlTableCell 29 | - (id)initWithStyle:(int)style reuseIdentifier:(id)identifier specifier:(id)specifier; 30 | @end 31 | 32 | @interface myTableCell : PSSwitchTableCell 33 | @end 34 | 35 | @implementation myTableCell 36 | 37 | -(id)initWithStyle:(int)arg1 reuseIdentifier:(id)arg2 specifier:(id)arg3 { 38 | self = [super initWithStyle:arg1 reuseIdentifier:arg2 specifier:arg3]; 39 | 40 | if (self) { 41 | 42 | [((UISwitch *)[self control]) setOnTintColor:[UIColor redColor]]; 43 | 44 | } 45 | 46 | return self; 47 | } 48 | 49 | @end 50 | 51 | @interface ALFirasListController: PSListController { 52 | } 53 | @end 54 | 55 | 56 | 57 | 58 | @implementation ALFirasListController 59 | 60 | 61 | - (NSArray *)specifiers { 62 | if (!_specifiers) { 63 | _specifiers = [[self loadSpecifiersFromPlistName:@"ALFiras" target:self] retain]; 64 | if (![[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) 65 | { 66 | [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"]; 67 | [[NSUserDefaults standardUserDefaults] synchronize]; 68 | UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"ALFiras" 69 | message:@"Welcome to ALFiras ❤️ " 70 | preferredStyle:UIAlertControllerStyleAlert]; 71 | 72 | UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@" ❤️ " style:UIAlertActionStyleDefault 73 | handler:^(UIAlertAction * action) {}]; 74 | 75 | [alert addAction:defaultAction]; 76 | [self presentViewController:alert animated:YES completion:nil]; 77 | } 78 | 79 | 80 | } 81 | UIBarButtonItem *shareButton = ([[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:self action:@selector(share:)]); 82 | shareButton.tag = 1; 83 | [[self navigationItem] setRightBarButtonItem:shareButton]; 84 | 85 | [UISwitch appearanceWhenContainedIn:self.class, nil].onTintColor = [UIColor blueColor]; 86 | return _specifiers; 87 | 88 | } 89 | -(void)share:(id)arg1{ 90 | SLComposeViewController * composeController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 91 | [composeController setInitialText:@"I'm using #ALFiras by @azzozalfiras to enhance snapchat"]; 92 | [self presentViewController:composeController animated:YES completion:nil]; 93 | } 94 | 95 | -(void)paypal{ 96 | if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"10.0")) { 97 | UIApplication *application = [UIApplication sharedApplication]; 98 | [application openURL:[NSURL URLWithString:@"https://paypal.me/Azozz"] options:@{} completionHandler:nil]; 99 | }else{ 100 | UIApplication *mySafari = [UIApplication sharedApplication]; 101 | NSURL *myURL = [[NSURL alloc]initWithString:@"https://paypal.me/Azozz"]; 102 | [mySafari openURL:myURL]; 103 | 104 | } 105 | } 106 | -(void)instagram{ 107 | if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"10.0")) { 108 | UIApplication *application = [UIApplication sharedApplication]; 109 | [application openURL:[NSURL URLWithString:@"https://instagram.com/_fkn"] options:@{} completionHandler:nil]; 110 | }else{ 111 | UIApplication *mySafari = [UIApplication sharedApplication]; 112 | NSURL *myURL = [[NSURL alloc]initWithString:@"https://instagram.com/_fkn"]; 113 | [mySafari openURL:myURL]; 114 | 115 | } 116 | } 117 | -(void)snapchat{ 118 | if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"10.0")) { 119 | UIApplication *application = [UIApplication sharedApplication]; 120 | [application openURL:[NSURL URLWithString:@"https://snapchat.com/add/n.uf"] options:@{} completionHandler:nil]; 121 | }else{ 122 | UIApplication *mySafari = [UIApplication sharedApplication]; 123 | NSURL *myURL = [[NSURL alloc]initWithString:@"https://snapchat.com/add/n.uf"]; 124 | [mySafari openURL:myURL]; 125 | 126 | } 127 | 128 | } 129 | -(void)cydia{ 130 | if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"10.0")) { 131 | UIApplication *application = [UIApplication sharedApplication]; 132 | [application openURL:[NSURL URLWithString:@"https://a1iraqi.me/"] options:@{} completionHandler:nil]; 133 | }else{ 134 | UIApplication *mySafari = [UIApplication sharedApplication]; 135 | NSURL *myURL = [[NSURL alloc]initWithString:@"https://a1iraqi.me/"]; 136 | [mySafari openURL:myURL]; 137 | 138 | } 139 | } 140 | -(void)tweet{ 141 | UIApplication *application = [UIApplication sharedApplication]; 142 | [application openURL:[NSURL URLWithString:@"twitter:///user?screen_name=AzozzAlFiras"] options:@{} completionHandler:nil]; 143 | 144 | 145 | } 146 | @end 147 | -------------------------------------------------------------------------------- /alfiras/Headers/Preferences/PSListController.h: -------------------------------------------------------------------------------- 1 | /* Generated by RuntimeBrowser 2 | Image: /System/Library/PrivateFrameworks/Preferences.framework/Preferences 3 | */ 4 | 5 | #import "PSViewController.h" 6 | 7 | #import 8 | #import 9 | 10 | @class NSArray, NSMutableArray, NSMutableDictionary, NSString, UIActionSheet, UIAlertView, UIKeyboard, UIPopoverController, UITableView, UIView; 11 | 12 | @interface PSListController : PSViewController { 13 | 14 | /* 15 | struct CGPoint { 16 | float x; 17 | float y; 18 | UIActionSheet *_actionSheet; 19 | UIAlertView *_alertView; 20 | NSMutableArray *_bundleControllers; 21 | BOOL _bundlesLoaded; 22 | BOOL _cachesCells; 23 | NSMutableDictionary *_cells; 24 | UIView *_containerView; 25 | } _contentOffsetWithKeyboard; 26 | */ 27 | 28 | BOOL _edgeToEdgeCells; 29 | BOOL _forceSynchronousIconLoadForCreatedCells; 30 | NSMutableArray *_groups; 31 | BOOL _hasAppeared; 32 | //UIKeyboard *_keyboard; 33 | BOOL _keyboardWasVisible; 34 | NSString *_offsetItemName; 35 | BOOL _popupIsDismissing; 36 | BOOL _popupIsModal; 37 | UIPopoverController *_popupStylePopoverController; 38 | BOOL _popupStylePopoverShouldRePresent; 39 | NSMutableArray *_prequeuedReusablePSTableCells; 40 | BOOL _reusesCells; 41 | BOOL _showingSetupController; 42 | NSString *_specifierID; 43 | NSArray *_specifiers; 44 | NSMutableDictionary *_specifiersByID; 45 | BOOL _swapAlertButtons; 46 | UITableView *_table; 47 | float _verticalContentOffset; 48 | } 49 | 50 | @property BOOL edgeToEdgeCells; 51 | @property BOOL forceSynchronousIconLoadForCreatedCells; 52 | 53 | + (BOOL)displaysButtonBar; 54 | 55 | - (void)_addIdentifierForSpecifier:(id)arg1; 56 | - (id)_createGroupIndices:(id)arg1; 57 | - (id)_customViewForSpecifier:(id)arg1 class:(Class)arg2 isHeader:(BOOL)arg3; 58 | - (BOOL)_getGroup:(int*)arg1 row:(int*)arg2 ofSpecifierAtIndex:(int)arg3 groups:(id)arg4; 59 | - (float)_getKeyboardIntersectionHeight; 60 | - (void)_handleActionSheet:(id)arg1 clickedButtonAtIndex:(int)arg2; 61 | - (void)_insertContiguousSpecifiers:(id)arg1 atIndex:(int)arg2 animated:(BOOL)arg3; 62 | - (void)_keyboardDidHide:(id)arg1; 63 | - (void)_keyboardWillHide:(id)arg1; 64 | - (void)_keyboardWillShow:(id)arg1; 65 | - (void)_loadBundleControllers; 66 | - (int)_nextGroupInSpecifiersAfterIndex:(int)arg1 inArray:(id)arg2; 67 | - (void)_removeContiguousSpecifiers:(id)arg1 animated:(BOOL)arg2; 68 | - (void)_removeIdentifierForSpecifier:(id)arg1; 69 | - (void)_returnKeyPressed:(id)arg1; 70 | - (void)_scrollToSpecifierNamed:(id)arg1; 71 | - (void)_setContentInset:(float)arg1; 72 | - (void)_setNotShowingSetupController; 73 | - (float)_tableView:(id)arg1 heightForCustomInSection:(int)arg2 isHeader:(BOOL)arg3; 74 | - (id)_tableView:(id)arg1 viewForCustomInSection:(int)arg2 isHeader:(BOOL)arg3; 75 | - (void)_unloadBundleControllers; 76 | - (void)actionSheet:(id)arg1 clickedButtonAtIndex:(NSInteger)arg2; 77 | - (void)actionSheet:(id)arg1 didDismissWithButtonIndex:(NSInteger)arg2; 78 | - (void)addSpecifier:(id)arg1 animated:(BOOL)arg2; 79 | - (void)addSpecifier:(id)arg1; 80 | - (void)addSpecifiersFromArray:(id)arg1 animated:(BOOL)arg2; 81 | - (void)addSpecifiersFromArray:(id)arg1; 82 | - (void)alertView:(id)arg1 clickedButtonAtIndex:(NSInteger)arg2; 83 | - (void)beginUpdates; 84 | - (id)bundle; 85 | - (id)cachedCellForSpecifier:(id)arg1; 86 | - (id)cachedCellForSpecifierID:(id)arg1; 87 | - (void)clearCache; 88 | - (void)confirmationViewAcceptedForSpecifier:(id)arg1; 89 | - (void)confirmationViewCancelledForSpecifier:(id)arg1; 90 | - (BOOL)containsSpecifier:(id)arg1; 91 | - (id)controllerForRowAtIndexPath:(id)arg1; 92 | - (id)controllerForSpecifier:(id)arg1; 93 | - (void)createGroupIndices; 94 | - (void)createPrequeuedPSTableCells:(unsigned int)arg1; 95 | - (void)dealloc; 96 | - (id)description; 97 | - (void)didRotateFromInterfaceOrientation:(int)arg1; 98 | - (void)dismissConfirmationViewForSpecifier:(id)arg1 animated:(BOOL)arg2; 99 | - (void)dismissPopover; 100 | - (void)dismissPopoverAnimated:(BOOL)arg1; 101 | - (BOOL)edgeToEdgeCells; 102 | - (void)endUpdates; 103 | - (id)findFirstVisibleResponder; 104 | - (BOOL)forceSynchronousIconLoadForCreatedCells; 105 | - (void)formSheetViewWillDisappear; 106 | - (BOOL)getGroup:(int*)arg1 row:(int*)arg2 ofSpecifier:(id)arg3; 107 | - (BOOL)getGroup:(int*)arg1 row:(int*)arg2 ofSpecifierAtIndex:(int)arg3; 108 | - (BOOL)getGroup:(int*)arg1 row:(int*)arg2 ofSpecifierID:(id)arg3; 109 | - (void)handleURL:(id)arg1; 110 | - (int)indexForIndexPath:(id)arg1; 111 | - (int)indexForRow:(int)arg1 inGroup:(int)arg2; 112 | - (int)indexOfGroup:(int)arg1; 113 | - (int)indexOfSpecifier:(id)arg1; 114 | - (int)indexOfSpecifierID:(id)arg1; 115 | - (id)indexPathForIndex:(int)arg1; 116 | - (id)indexPathForSpecifier:(id)arg1; 117 | - (id)init; 118 | - (id)initForContentSize:(CGSize)arg1; 119 | - (void)insertContiguousSpecifiers:(id)arg1 afterSpecifier:(id)arg2 animated:(BOOL)arg3; 120 | - (void)insertContiguousSpecifiers:(id)arg1 afterSpecifier:(id)arg2; 121 | - (void)insertContiguousSpecifiers:(id)arg1 afterSpecifierID:(id)arg2 animated:(BOOL)arg3; 122 | - (void)insertContiguousSpecifiers:(id)arg1 afterSpecifierID:(id)arg2; 123 | - (void)insertContiguousSpecifiers:(id)arg1 atEndOfGroup:(int)arg2 animated:(BOOL)arg3; 124 | - (void)insertContiguousSpecifiers:(id)arg1 atEndOfGroup:(int)arg2; 125 | - (void)insertContiguousSpecifiers:(id)arg1 atIndex:(int)arg2 animated:(BOOL)arg3; 126 | - (void)insertContiguousSpecifiers:(id)arg1 atIndex:(int)arg2; 127 | - (void)insertSpecifier:(id)arg1 afterSpecifier:(id)arg2 animated:(BOOL)arg3; 128 | - (void)insertSpecifier:(id)arg1 afterSpecifier:(id)arg2; 129 | - (void)insertSpecifier:(id)arg1 afterSpecifierID:(id)arg2 animated:(BOOL)arg3; 130 | - (void)insertSpecifier:(id)arg1 afterSpecifierID:(id)arg2; 131 | - (void)insertSpecifier:(id)arg1 atEndOfGroup:(int)arg2 animated:(BOOL)arg3; 132 | - (void)insertSpecifier:(id)arg1 atEndOfGroup:(int)arg2; 133 | - (void)insertSpecifier:(id)arg1 atIndex:(int)arg2 animated:(BOOL)arg3; 134 | - (void)insertSpecifier:(id)arg1 atIndex:(int)arg2; 135 | - (void)lazyLoadBundle:(id)arg1; 136 | - (id)loadSpecifiersFromPlistName:(id)arg1 target:(id)arg2; 137 | - (void)loadView; 138 | - (void)loseFocus; 139 | - (void)migrateSpecifierMetadataFrom:(id)arg1 to:(id)arg2; 140 | - (int)numberOfGroups; 141 | - (BOOL)performActionForSpecifier:(id)arg1; 142 | - (BOOL)performButtonActionForSpecifier:(id)arg1; 143 | - (BOOL)performConfirmationActionForSpecifier:(id)arg1; 144 | - (BOOL)performConfirmationCancelActionForSpecifier:(id)arg1; 145 | - (BOOL)performLoadActionForSpecifier:(id)arg1; 146 | - (void)popoverController:(id)arg1 animationCompleted:(int)arg2; 147 | - (BOOL)popoverControllerShouldDismissPopover:(id)arg1; 148 | - (id)popupStylePopoverController; 149 | - (void)popupViewWillDisappear; 150 | - (void)prepareSpecifiersMetadata; 151 | - (void)pushController:(id)arg1 animate:(BOOL)arg2; 152 | - (void)pushController:(id)arg1; 153 | - (void)reload; 154 | - (void)reloadIconForSpecifierForBundle:(id)arg1; 155 | - (void)reloadSpecifier:(id)arg1 animated:(BOOL)arg2; 156 | - (void)reloadSpecifier:(id)arg1; 157 | - (void)reloadSpecifierAtIndex:(int)arg1 animated:(BOOL)arg2; 158 | - (void)reloadSpecifierAtIndex:(int)arg1; 159 | - (void)reloadSpecifierID:(id)arg1 animated:(BOOL)arg2; 160 | - (void)reloadSpecifierID:(id)arg1; 161 | - (void)reloadSpecifiers; 162 | - (void)removeContiguousSpecifiers:(id)arg1 animated:(BOOL)arg2; 163 | - (void)removeContiguousSpecifiers:(id)arg1; 164 | - (void)removeLastSpecifier; 165 | - (void)removeLastSpecifierAnimated:(BOOL)arg1; 166 | - (void)removeSpecifier:(id)arg1 animated:(BOOL)arg2; 167 | - (void)removeSpecifier:(id)arg1; 168 | - (void)removeSpecifierAtIndex:(int)arg1 animated:(BOOL)arg2; 169 | - (void)removeSpecifierAtIndex:(int)arg1; 170 | - (void)removeSpecifierID:(id)arg1 animated:(BOOL)arg2; 171 | - (void)removeSpecifierID:(id)arg1; 172 | - (void)replaceContiguousSpecifiers:(id)arg1 withSpecifiers:(id)arg2 animated:(BOOL)arg3; 173 | - (void)replaceContiguousSpecifiers:(id)arg1 withSpecifiers:(id)arg2; 174 | - (void)returnPressedAtEnd; 175 | - (int)rowsForGroup:(int)arg1; 176 | - (void)selectRowForSpecifier:(id)arg1; 177 | - (void)setCachesCells:(BOOL)arg1; 178 | - (void)setDesiredVerticalContentOffset:(float)arg1; 179 | - (void)setDesiredVerticalContentOffsetItemNamed:(id)arg1; 180 | - (void)setEdgeToEdgeCells:(BOOL)arg1; 181 | - (void)setForceSynchronousIconLoadForCreatedCells:(BOOL)arg1; 182 | - (void)setReusesCells:(BOOL)arg1; 183 | - (void)setSpecifier:(id)arg1; 184 | - (void)setSpecifierID:(id)arg1; 185 | - (void)setSpecifiers:(id)arg1; 186 | - (void)setTitle:(id)arg1; 187 | - (BOOL)shouldReloadSpecifiersOnResume; 188 | - (BOOL)shouldSelectResponderOnAppearance; 189 | - (void)showConfirmationViewForSpecifier:(id)arg1 useAlert:(BOOL)arg2 swapAlertButtons:(BOOL)arg3; 190 | - (void)showConfirmationViewForSpecifier:(id)arg1; 191 | - (void)showPINSheet:(id)arg1; 192 | - (id)specifier; 193 | - (id)specifierAtIndex:(int)arg1; 194 | - (id)specifierForID:(id)arg1; 195 | - (id)specifierID; 196 | - (id)specifiers; 197 | - (id)specifiersInGroup:(int)arg1; 198 | - (id)table; 199 | - (Class)tableViewClass; 200 | - (void)updateSpecifiers:(id)arg1 withSpecifiers:(id)arg2; 201 | - (void)updateSpecifiersInRange:(NSRange)arg1 withSpecifiers:(id)arg2; 202 | - (float)verticalContentOffset; 203 | - (void)viewDidAppear:(BOOL)arg1; 204 | - (void)viewDidLayoutSubviews; 205 | - (void)viewDidLoad; 206 | - (void)viewDidUnload; 207 | - (void)viewWillAppear:(BOOL)arg1; 208 | - (void)viewWillDisappear:(BOOL)arg1; 209 | - (void)willAnimateRotationToInterfaceOrientation:(int)arg1 duration:(double)arg2; 210 | 211 | @end -------------------------------------------------------------------------------- /alfiras/Headers/PSListController.h: -------------------------------------------------------------------------------- 1 | /* Generated by RuntimeBrowser 2 | Image: /System/Library/PrivateFrameworks/Preferences.framework/Preferences 3 | */ 4 | 5 | #import "PSViewController.h" 6 | 7 | #import 8 | #import 9 | #include 10 | 11 | #define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 12 | #define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width) 13 | #define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height) 14 | #define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT)) 15 | #define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT)) 16 | #define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0) 17 | #define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0) 18 | #define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0) 19 | 20 | #define N2TCELL_SELECTION_TINTCOLOR [UIColor colorWithRed:206/255.0f green:235/255.0f blue:255/255.0f alpha:1.0f] 21 | #define N2TSELECTION_TINTCOLOR [UIColor colorWithRed:78/255.0f green:142/255.0f blue:217/255.0f alpha:1.0f] 22 | #define N2TSWITCH_TINTCOLOR [UIColor colorWithRed:110/255.0f green:165/255.0f blue:231/255.0f alpha:1.0f] 23 | #define N2TRESPRING_TINTCOLOR [UIColor colorWithRed:205/255.0f green:5/255.0f blue:5/255.0f alpha:1.0f] 24 | 25 | 26 | @class NSArray, NSMutableArray, NSMutableDictionary, NSString, UIActionSheet, UIAlertView, UIKeyboard, UIPopoverController, UITableView, UIView; 27 | 28 | @interface PSListController : PSViewController { 29 | 30 | /* 31 | struct CGPoint { 32 | float x; 33 | float y; 34 | UIActionSheet *_actionSheet; 35 | UIAlertView *_alertView; 36 | NSMutableArray *_bundleControllers; 37 | BOOL _bundlesLoaded; 38 | BOOL _cachesCells; 39 | NSMutableDictionary *_cells; 40 | UIView *_containerView; 41 | } _contentOffsetWithKeyboard; 42 | */ 43 | NSMutableArray* _specifiers; 44 | 45 | UIColor* _buttonTextColor; 46 | BOOL _edgeToEdgeCells; 47 | BOOL _forceSynchronousIconLoadForCreatedCells; 48 | NSMutableArray *_groups; 49 | BOOL _hasAppeared; 50 | //UIKeyboard *_keyboard; 51 | BOOL _keyboardWasVisible; 52 | NSString *_offsetItemName; 53 | BOOL _popupIsDismissing; 54 | BOOL _popupIsModal; 55 | UIPopoverController *_popupStylePopoverController; 56 | BOOL _popupStylePopoverShouldRePresent; 57 | NSMutableArray *_prequeuedReusablePSTableCells; 58 | BOOL _reusesCells; 59 | BOOL _showingSetupController; 60 | NSString *_specifierID; 61 | 62 | NSMutableDictionary *_specifiersByID; 63 | BOOL _swapAlertButtons; 64 | 65 | float _verticalContentOffset; 66 | } 67 | 68 | @property BOOL edgeToEdgeCells; 69 | @property BOOL forceSynchronousIconLoadForCreatedCells; 70 | 71 | + (BOOL)displaysButtonBar; 72 | 73 | - (void)_addIdentifierForSpecifier:(id)arg1; 74 | - (id)_createGroupIndices:(id)arg1; 75 | - (id)_customViewForSpecifier:(id)arg1 class:(Class)arg2 isHeader:(BOOL)arg3; 76 | - (BOOL)_getGroup:(int*)arg1 row:(int*)arg2 ofSpecifierAtIndex:(int)arg3 groups:(id)arg4; 77 | - (float)_getKeyboardIntersectionHeight; 78 | - (void)_handleActionSheet:(id)arg1 clickedButtonAtIndex:(int)arg2; 79 | - (void)_insertContiguousSpecifiers:(id)arg1 atIndex:(int)arg2 animated:(BOOL)arg3; 80 | - (void)_keyboardDidHide:(id)arg1; 81 | - (void)_keyboardWillHide:(id)arg1; 82 | - (void)_keyboardWillShow:(id)arg1; 83 | - (void)_loadBundleControllers; 84 | - (int)_nextGroupInSpecifiersAfterIndex:(int)arg1 inArray:(id)arg2; 85 | - (void)_removeContiguousSpecifiers:(id)arg1 animated:(BOOL)arg2; 86 | - (void)_removeIdentifierForSpecifier:(id)arg1; 87 | - (void)_returnKeyPressed:(id)arg1; 88 | - (void)_scrollToSpecifierNamed:(id)arg1; 89 | - (void)_setContentInset:(float)arg1; 90 | - (void)_setNotShowingSetupController; 91 | - (float)_tableView:(id)arg1 heightForCustomInSection:(int)arg2 isHeader:(BOOL)arg3; 92 | - (id)_tableView:(id)arg1 viewForCustomInSection:(int)arg2 isHeader:(BOOL)arg3; 93 | - (void)_unloadBundleControllers; 94 | - (void)actionSheet:(id)arg1 clickedButtonAtIndex:(NSInteger)arg2; 95 | - (void)actionSheet:(id)arg1 didDismissWithButtonIndex:(NSInteger)arg2; 96 | - (void)addSpecifier:(id)arg1 animated:(BOOL)arg2; 97 | - (void)addSpecifier:(id)arg1; 98 | - (void)addSpecifiersFromArray:(id)arg1 animated:(BOOL)arg2; 99 | - (void)addSpecifiersFromArray:(id)arg1; 100 | - (void)alertView:(id)arg1 clickedButtonAtIndex:(NSInteger)arg2; 101 | - (void)beginUpdates; 102 | - (id)bundle; 103 | - (id)cachedCellForSpecifier:(id)arg1; 104 | - (id)cachedCellForSpecifierID:(id)arg1; 105 | - (void)clearCache; 106 | - (void)confirmationViewAcceptedForSpecifier:(id)arg1; 107 | - (void)confirmationViewCancelledForSpecifier:(id)arg1; 108 | - (BOOL)containsSpecifier:(id)arg1; 109 | - (id)controllerForRowAtIndexPath:(id)arg1; 110 | - (id)controllerForSpecifier:(id)arg1; 111 | - (void)createGroupIndices; 112 | - (void)createPrequeuedPSTableCells:(unsigned int)arg1; 113 | - (void)dealloc; 114 | - (id)description; 115 | - (void)didRotateFromInterfaceOrientation:(int)arg1; 116 | - (void)dismissConfirmationViewForSpecifier:(id)arg1 animated:(BOOL)arg2; 117 | - (void)dismissPopover; 118 | - (void)dismissPopoverAnimated:(BOOL)arg1; 119 | - (BOOL)edgeToEdgeCells; 120 | - (void)endUpdates; 121 | - (id)findFirstVisibleResponder; 122 | - (BOOL)forceSynchronousIconLoadForCreatedCells; 123 | - (void)formSheetViewWillDisappear; 124 | - (BOOL)getGroup:(int*)arg1 row:(int*)arg2 ofSpecifier:(id)arg3; 125 | - (BOOL)getGroup:(int*)arg1 row:(int*)arg2 ofSpecifierAtIndex:(int)arg3; 126 | - (BOOL)getGroup:(int*)arg1 row:(int*)arg2 ofSpecifierID:(id)arg3; 127 | - (void)handleURL:(id)arg1; 128 | - (int)indexForIndexPath:(id)arg1; 129 | - (int)indexForRow:(int)arg1 inGroup:(int)arg2; 130 | - (int)indexOfGroup:(int)arg1; 131 | - (int)indexOfSpecifier:(id)arg1; 132 | - (int)indexOfSpecifierID:(id)arg1; 133 | - (id)indexPathForIndex:(int)arg1; 134 | - (id)indexPathForSpecifier:(id)arg1; 135 | - (id)init; 136 | - (id)initForContentSize:(CGSize)arg1; 137 | - (void)insertContiguousSpecifiers:(id)arg1 afterSpecifier:(id)arg2 animated:(BOOL)arg3; 138 | - (void)insertContiguousSpecifiers:(id)arg1 afterSpecifier:(id)arg2; 139 | - (void)insertContiguousSpecifiers:(id)arg1 afterSpecifierID:(id)arg2 animated:(BOOL)arg3; 140 | - (void)insertContiguousSpecifiers:(id)arg1 afterSpecifierID:(id)arg2; 141 | - (void)insertContiguousSpecifiers:(id)arg1 atEndOfGroup:(int)arg2 animated:(BOOL)arg3; 142 | - (void)insertContiguousSpecifiers:(id)arg1 atEndOfGroup:(int)arg2; 143 | - (void)insertContiguousSpecifiers:(id)arg1 atIndex:(int)arg2 animated:(BOOL)arg3; 144 | - (void)insertContiguousSpecifiers:(id)arg1 atIndex:(int)arg2; 145 | - (void)insertSpecifier:(id)arg1 afterSpecifier:(id)arg2 animated:(BOOL)arg3; 146 | - (void)insertSpecifier:(id)arg1 afterSpecifier:(id)arg2; 147 | - (void)insertSpecifier:(id)arg1 afterSpecifierID:(id)arg2 animated:(BOOL)arg3; 148 | - (void)insertSpecifier:(id)arg1 afterSpecifierID:(id)arg2; 149 | - (void)insertSpecifier:(id)arg1 atEndOfGroup:(int)arg2 animated:(BOOL)arg3; 150 | - (void)insertSpecifier:(id)arg1 atEndOfGroup:(int)arg2; 151 | - (void)insertSpecifier:(id)arg1 atIndex:(int)arg2 animated:(BOOL)arg3; 152 | - (void)insertSpecifier:(id)arg1 atIndex:(int)arg2; 153 | - (void)lazyLoadBundle:(id)arg1; 154 | - (id)loadSpecifiersFromPlistName:(id)arg1 target:(id)arg2; 155 | - (void)loadView; 156 | - (void)loseFocus; 157 | - (void)migrateSpecifierMetadataFrom:(id)arg1 to:(id)arg2; 158 | - (int)numberOfGroups; 159 | - (BOOL)performActionForSpecifier:(id)arg1; 160 | - (BOOL)performButtonActionForSpecifier:(id)arg1; 161 | - (BOOL)performConfirmationActionForSpecifier:(id)arg1; 162 | - (BOOL)performConfirmationCancelActionForSpecifier:(id)arg1; 163 | - (BOOL)performLoadActionForSpecifier:(id)arg1; 164 | - (void)popoverController:(id)arg1 animationCompleted:(int)arg2; 165 | - (BOOL)popoverControllerShouldDismissPopover:(id)arg1; 166 | - (id)popupStylePopoverController; 167 | - (void)popupViewWillDisappear; 168 | - (void)prepareSpecifiersMetadata; 169 | - (void)pushController:(id)arg1 animate:(BOOL)arg2; 170 | - (void)pushController:(id)arg1; 171 | - (void)reload; 172 | - (void)reloadIconForSpecifierForBundle:(id)arg1; 173 | - (void)reloadSpecifier:(id)arg1 animated:(BOOL)arg2; 174 | - (void)reloadSpecifier:(id)arg1; 175 | - (void)reloadSpecifierAtIndex:(int)arg1 animated:(BOOL)arg2; 176 | - (void)reloadSpecifierAtIndex:(int)arg1; 177 | - (void)reloadSpecifierID:(id)arg1 animated:(BOOL)arg2; 178 | - (void)reloadSpecifierID:(id)arg1; 179 | - (void)reloadSpecifiers; 180 | - (void)removeContiguousSpecifiers:(id)arg1 animated:(BOOL)arg2; 181 | - (void)removeContiguousSpecifiers:(id)arg1; 182 | - (void)removeLastSpecifier; 183 | - (void)removeLastSpecifierAnimated:(BOOL)arg1; 184 | - (void)removeSpecifier:(id)arg1 animated:(BOOL)arg2; 185 | - (void)removeSpecifier:(id)arg1; 186 | - (void)removeSpecifierAtIndex:(int)arg1 animated:(BOOL)arg2; 187 | - (void)removeSpecifierAtIndex:(int)arg1; 188 | - (void)removeSpecifierID:(id)arg1 animated:(BOOL)arg2; 189 | - (void)removeSpecifierID:(id)arg1; 190 | - (void)replaceContiguousSpecifiers:(id)arg1 withSpecifiers:(id)arg2 animated:(BOOL)arg3; 191 | - (void)replaceContiguousSpecifiers:(id)arg1 withSpecifiers:(id)arg2; 192 | - (void)returnPressedAtEnd; 193 | - (int)rowsForGroup:(int)arg1; 194 | - (void)selectRowForSpecifier:(id)arg1; 195 | - (void)setCachesCells:(BOOL)arg1; 196 | - (void)setDesiredVerticalContentOffset:(float)arg1; 197 | - (void)setDesiredVerticalContentOffsetItemNamed:(id)arg1; 198 | - (void)setEdgeToEdgeCells:(BOOL)arg1; 199 | - (void)setForceSynchronousIconLoadForCreatedCells:(BOOL)arg1; 200 | - (void)setReusesCells:(BOOL)arg1; 201 | - (void)setSpecifier:(id)arg1; 202 | - (void)setSpecifierID:(id)arg1; 203 | - (void)setSpecifiers:(id)arg1; 204 | - (void)setTitle:(id)arg1; 205 | - (BOOL)shouldReloadSpecifiersOnResume; 206 | - (BOOL)shouldSelectResponderOnAppearance; 207 | - (void)showConfirmationViewForSpecifier:(id)arg1 useAlert:(BOOL)arg2 swapAlertButtons:(BOOL)arg3; 208 | - (void)showConfirmationViewForSpecifier:(id)arg1; 209 | - (void)showPINSheet:(id)arg1; 210 | - (id)specifier; 211 | - (id)specifierAtIndex:(int)arg1; 212 | - (id)specifierForID:(id)arg1; 213 | - (id)specifierID; 214 | - (id)specifiers; 215 | - (id)specifiersInGroup:(int)arg1; 216 | - (id)table; 217 | - (Class)tableViewClass; 218 | - (void)updateSpecifiers:(id)arg1 withSpecifiers:(id)arg2; 219 | - (void)updateSpecifiersInRange:(NSRange)arg1 withSpecifiers:(id)arg2; 220 | - (float)verticalContentOffset; 221 | - (void)viewDidAppear:(BOOL)arg1; 222 | - (void)viewDidLayoutSubviews; 223 | - (void)viewDidLoad; 224 | - (void)viewDidUnload; 225 | - (void)viewWillAppear:(BOOL)arg1; 226 | - (void)viewWillDisappear:(BOOL)arg1; 227 | - (void)willAnimateRotationToInterfaceOrientation:(int)arg1 duration:(double)arg2; 228 | 229 | @end --------------------------------------------------------------------------------