Here is the official documentation for control files and here is the official documentation of the depends field. I think something like this should work. Depends: com.anemonetheming.anemone | com.spark.snowboard, com.anemonetheming.anemone | com.spark.snowboard.masks, com.anemonetheming.anemone | com.spark.snowboard.effects
First off, always post code to Ghostbin or format it so we can read it. Heres what I see wrong:
The method -(UIColor *)tintColor:(id)arg3
does NOT exist, its just -(UIColor *)tintColor
(source)
Since there are no arguments, all you need to do in your if
statement is return the UIColor you were setting to the non-existent arg3.
if(enabled) { return [UIColor colorWithRed:(232/255.f) green:(213/255.f) blue:(17/255.f) alpha:1.0]; }
Again, no arguments for this method, so when returning %orig;
you don't need the arg3
in there.
So in the end it should have look like this.
There is actually a built in animation to do this. If you watch the Auxo 2 animation when using the "Hot Corners" it is the same animation as the five finger pinch to close animation on the iPad. This is accessible through the SBUIController class and is referred to as the "Suspend Gesture". The methods that are probably relevant to what you're looking for include:
-(void)_suspendGestureBegan; -(void)_suspendGestureChanged:(float)arg1 ; -(void)_suspendGestureEndedWithCompletionType:(int)arg1 ; -(void)_suspendGestureCancelled; -(void)_suspendGestureCleanUpState; -(BOOL)_suspendGestureShouldFinish;
Edit: Formatting
Edit 2: Here is an (very incomplete) example of usage. This will take the Control Center's slide up gesture and use it to control the suspend gesture. It doesn't handle canceling the gesture or finalizing it either, but it's a starting point and is functional.
/u/jontelang, who is awesome, btw, taught me a super-simple way to detect piracy.
In your %ctor, use this code: https://ghostbin.com/paste/qhk9r. Replace 'org.thebigboss.yourtweak' with whatever your package identifier is, so it would look something like this: 'com.modmyi.speedyhomey.list'. If no file exists at that path, then it was pirated.
I'm uploading the 8.1 SDK right now, this is extracted out of the Xcode6.app off of a MBP. The header files are all working. Will link soon!
EDIT: All i'm doing is linking to a share folder. The contents of this folder are not entirely under my control. https://www.mediafire.com/folder/b1l7zfg5ab7qt/iPhoneOS
Extract a colour from a UIImage using CGPoint
Convert a UIColor to HEX String and vice versa
Combining the two:
UIColor iconColor = [self colorFromImage:*image_name atX:0.2 atY:0.2];
NSString *iconHexString = [self stringFromColor:iconColor]; // returns the hex string of iconColor
UIColor *myNewColor = [self colorFromString:iconHexString]; // returns iconColor from the hex string
It is easy to implement a variable filter when restricted to conditionally loading a tweak into applications. You can use AppList in your settings to have it make a list of apps in which to be loaded. Then, from the tweak side, you use a small loader tweak with a general filter plist that reads the settings and loads the full tweak. A basic implementation of this can be found here and don't forget to visit the link at the bottom.
So you want something that will display the incoming call screen on your iOS device and that will then automatically trigger a notification on the Fitbit? A lot of the Phone stuff is done inside the InCallService App.
If you don't already have those headers, you can generate them with classdump-dyld.
classdump-dyld -o ./InCallService /Applications/InCallService.app
EDIT:
At a quick glance, the PHAlert class looks promising.
- (void)setUserNotification:(CFUserNotificationRef)arg1; - (void)showOnViewController:(id)arg1;
For themes I used Photoshop, for tweaks, I used THEOS and Sublime Text as an editor. I have a write-up available that shows how I worked on Windows, you can check it out here.
So this is pretty wild. The apple watch has it's own BBServer which it received the notification then clones it and sends it to the iphone BBServer.
here is the ghostbin file from when I texted myself and received the notification. Line 259 is where the below is referenced.
It looks like it uses a framework file BLTBulletinDistributor.h
I hope this helps.
I am using codyd51/TokeTime tweak and only modified by adding vibrate https://ghostbin.com/paste/s37af
Basically I just want to use the SBLockScreenDateViewController hook and later on remove the rest but keeping the vibrate routine. However if lockscreen is on sleep, it won't vibrate.
Any idea? or maybe using different approach? I believe NSTimer will not work if device is sleep as well.
EDIT 1: Grammar. EDIT 2: That's why I ask how to wake iDevice from sleep so it can vibrate
I used this book when i started learning objective c:
https://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/032194206X/ref=dp_ob_title_bk
>!Also available as pdf for free if you search hard enough... !<
I really liked it and learnt a lot. I read their book on iOS programming after that one (latest edition uses swift, earlier editions uses obj-c).
Here's one: https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2
This is not specific to the iPhone: it shows you how to connect to a Linux server without password, but the Mac/iPhone have the same SSH software as Linux so it will work the same. The only difference here is that ssh-copy-id
command is not installed by default on Mac, but the tutorial provides you with an alternative command so we're all good.
https://www.paypal.com/us/cgi-bin/?cmd=_donate-intro-outside
Click the create donation button and you can grab a link from there. You shouldn't need a business PayPal, personal should be fine.
Also don't expect to receive much in terms of donations. In my experience 100k downloads of a single tweak version equates to 1 maybe 2 donations between $1 and $5.
A helpful tool is FLEXible so you can explore the views by tapping on them and more.
But for this you can hook PhoneTabBarController
and I found the method:
-(void)showFavoritesTab:(BOOL)agr1 recentsTab:(BOOL)arg2 contactsTab:(BOOL)arg3 keypadTab:(BOOL)arg4 voicemailTab:(BOOL)arg5
So you can just have it run usually but always return NO for the voicemail tab like so.
This is how you could call it, but its not going to bring up the power down view.
> https://ghostbin.com/paste/6g6dh
oof where do i start... don't name variables starting with capital leter, move back the variableTestString inside the method, you never set variableTestchange
anywhere i can see, variableTestString
variable is redundant. make these changes, re-edit the ghostbin paste and come back
You need to determine the name of and hook the app delegate class at run time.
You can determine the name by hooking any function or method that is called between UIApplicationMain()
and application:didFinishLaunchingWithOptions:
.
Here is how I did it in Backgrounder. Note that this code is old and a bit complicated, but hopefully it will give you the general idea.
Really never heard, even on native Linux?
edit: even with something like this? https://www.darlinghq.org/ I know it's still in early development but could be promising.
You'd probably do it with postinst file
preinst and postinst files go in your /layout/DEBIAN/ folder of your tweaks directory.
I am suspecting that the right answer to this is "Have you gotten in contact with phoenixdev to give him your improvements? Or gotten in contact with Optimo if you're interested in taking over maintenance and phoenixdev is not responding, to see if it needs a new maintainer?" :/
The Debian manual has documentation for these things though: https://www.debian.org/doc/debian-policy/ch-relationships.html
I'd recommend you go through some basic Objective-C tutorials to get a better understanding of the syntax, and in general how OOP(object oriented programming) works. It will likely save you some frustration down the road. You had a few syntax errors in this code that should have prevented it from even compiling. Good effort though and you were on the right path. Just a few small changes and it should work.
I went ahead and rewrote it and added a bunch of comments to explain what/why I'm doing things. I haven't tested it but it should work. https://ghostbin.com/paste/2n8jx
Let me know if you need additional help or explanations, I know it can be difficult when starting out.
Does... this sort of work? here. Dang I mispelled layoutsubvies lemme fix, still not working though, Edit: viewDidLayoutSubviews made it work, now I just have an empty cc so something worked
So for some reason
[[%c(MPUNowPlayingController) sharedInstance] currentElapsed] [[%c(MPUNowPlayingController) sharedInstance] currentDuration]
are no longer updating. Is there some thing else that needs to be done? Code: https://ghostbin.com/paste/kp3bh
EDIT: it doesn't always work I've found. But a respring sometimes fixes it.
Here's what I meant: https://ghostbin.com/paste/bkoj7
Because you didn't have the "else" on line 15, it would do the iPhone5Plus section if that was true, then it would unconditionally do the iPhone 4/4s section. I think you only want to do the iPhone 4/4s section if the iPhone5Plus is not true.
I don't know if it's just formatting by github, but the unaligned curly brackets ({ and }) make the code hard to follow.
It seems to be a timing issue. You must be calling setCurrentTrackTime:time too soon. I tried doing this and it seems to work. You may need to experiment with possible other functions to hook for the setCurrentTrackTime.
Yep, no idea. You might have some luck looking into the source code of the depiction pages (example: http://cydia.saurik.com/package/com.sharedroutine.phenomenon/). It might be detecting if the user-agent is Cydia then loads the price.
That definitely improved it because it brought my errors down to one lol. I grabbed the iOS 8.1 sdk and received an error here about Foundation.h not existing. Do I need a different sdk or what?
Edit: I'm such an idiot. The I forgot to remove the actual sdk folder from it's parent which had the same name since I had to unzip
Well I kinda fixed it. It will actually start to compile now but I get this huge chunk of errors mostly related to Darwin and Foundation. I tried setting target and changing the architecture to compile for. I'm using a patched 9.3 sdk btw
I took a look at it, here's the things I've found:
line 19 of your Tweak.xm is actually my fault, Dh0st wrote that I shouldnt be writing to file, so the correct way to do it is like this:
if(!preferences) { preferences = [[NSMutableDictionary alloc] init]; enabled = YES; }
For your switch in your Root.plist, you need to add a PostNotification to it. Just add these lines to your PSSwitchCell:
<key>PostNotification</key> <string>com.nicksb.prefbundle/preferences.changed</string>
Also its a bit redundent to call %orig twice in the method you're hooking, you can just do it this way:
-(void)setAlignmentPercent:(double)arg1 { if(enabled) { arg1 = -1; } %orig(arg1); }
Here is a link to the files corrected, just in case something doesn't make sense.
I have never hooked inside another process before, so this is new to me. I don't need to write back to them as theyre all (except killScroll) from preferences. I did forget to attach this which has headers where I get the preferences.
> I do see a lot of potential but maybe I'm just being naive
According to this tweet from March 2013, there were 14 million unique devices jailbroken on iOS6.
According to this from 2012, there were almost 1 million A5 devices jailbroken in the first 3 days, on iOS 5.
Using the iOS 5 number, my tweak has been downloaded on about ~0.12% of devices. Using the iOS 6 number, my tweak has been downloaded on about ~0.0081% of devices.
As I said in the other post, I certainly hoped for a lot more...
oh damn, i'm currently following this tut using this torrent
would it not work?
I Don’t think You Can just dual boot iOS and Android easily. There is a project called Project Sandcastle but the support for devices is very limited Also, Utm But it is iOS 11 and up.
Good Luck With you experience with Jailbreaking
Done. Tested on h3lix/10.3.3 (32 bit) and electra/11.1.2 (64 bit). The solution is too bulky to put in a comment. So take a zip file attached.
​
Brief: "dpkg -i" needs root privileges. Set SUID bit on your app binary and call setuid(0). On iOS10 that's all. But not on 11. There you must also platformize itself. Look for details inside 'execAsRootCommand:args:' method and Makefile.
​
PS. I don't have unc0ver/QiLin/Electra for 11.2+. Look for platformization techniques by yourself if you want to support these JBs. This is a PoC/idea only.
​
​
PPS. It's better to make helper command-line tool, because you need to update this code to support platformization on each new jailbreak when running root-requiring code directly from UI app.
You really helped me. But I have only one question and then I will finish this part look at this https://ghostbin.com/paste/ywv6m
Is it possible to call backgroundPath in myClassA Because when I use this code app is crashed :/
Ok so it got installed without errors, no crash, all good! But still no sound when any app is launched ....
Here's my code:
Do you think the directory of the file is good? Or did i forget to modify something ...
Okay, but now I'm having problems getting the values to change or something. It seems like its always using 0, even though the default is set to 1, and no matter what i option i choose. Here is the Tweak.xm and Root.plist if you could help me out.
Doesn't seem to work for me on 9.0.2. In my case I chose to use an executable ("tool" template) and used this code:
https://ghostbin.com/paste/ccnkr
But when the clock app is opened no timer is shown at all.
Edit:
Ok so when using Cycript, it works as expected, though is it possible to do it in the way that was described above? (As an executable)
I see so this is the new code it compiled fine: https://ghostbin.com/paste/qoywy yet the page is not being added so i logged my created instance of the class i get this : <DialPageViewController: 0x10e409250; presentingContent: NO; isolatingContent: NO> I'm guessing I should override presentingContent to YES ?
Notice how there's a "
after "-Zgzip" in https://ghostbin.com/paste/vkxgp#L52
Run these commands and paste the output:
sed -n 8p $THEOS/makefiles/platform/Windows.mk sed -n 6p $THEOS/makefiles/package/deb.mk sed -n 40p $THEOS/makefiles/package/deb.mk
I'll send my code but yes you described it pretty well. I'm assuming I'm not on main thread because removing the image doesn't do anything. here is the source code, I'll try to do what that bottom command was. Do I not need to addToSuperview at the view at the end? I'll test, ok yes I guess I didn't need to add it back
Ok so I got something that doesn't safemode or anything, just working on making it actually do something 😂 here. I might make a post requesting help for this. Any blatant mistakes?
So I tried both of your suggestions: deleting the line that releases the prefrences (which didn't help) and the new code (which gives this https://ghostbin.com/paste/rmcsp). Thoughts?
Edit: Ok i realize i need to release the preferences at some point, but I'm not sure when
Well there is this which you can use to differentiate between SpringBoard and Application. If you are in application you can use
[[NSBundle mainBundle] bundleIdentifier]
(can prolly use it in Springboard as well and it most likely returns "com.apple.springboard", I don't remember), but in applications it will give you the bundle identifier of the application.
Sadly it's the same with that function, I have also played around with some other function I found, but neither of those works :/ If you wanna have a look at the functions that exist inside of the viewController: https://ghostbin.com/paste/4d3rb. I think I will just use a global variable for now. That looks bad, but at least it works. Thanks anyway :)
hmm, i dont think its working but im also very new to development so equal chance that I wrote it wrong, havent made buttons in prefs yet but heres what i came up with, doesn't work though. heres the controller i tried writing for the first time https://ghostbin.com/paste/8n8e8
heres the button i tried
<dict> <key>action</key> <string>save</string> <key>cell</key> <string>PSButtonCell</string> <key>label</key> <string>Save Changes!</string> </dict>
https://ghostbin.com/paste/epede
I didn't attempt to compile this, but it should get you where you need to go.
Edit: You may be able to do away with the KeyboardStateListener entirely and just try calling dismissKeyboard in your button method regardless of whether the keyboard is visible or not. I do it this way (blocking the button action when the keyboard is visible), because I don't want people to back out of the view controller or save the loader accidentally by hitting the cancel or done button when they just mean to dismiss the keyboard.
Edit 2: It occurs to me after taking a look at the code again that I'm not using the UITapGestureRecognizer to dismiss the keyboard on button taps. What I am using it for is to dismiss the keyboard when anything in the view is tapped besides a text field, which is a mechanic that I like a lot. The dismissal on button taps occurs in the button methods themselves.
Just whipped this up on my phone, so pardon any syntax or spelling errors. https://ghostbin.com/paste/baybt
If this doesn't work, try looking into SBApplicationPlaceholder
Edit: just tested doesn't work. Looking into it
It hooks everything that uses UIKit, which is why you need to be careful filtering on UIKit. There have been several cases of tweaks being dragged into processes that are not Applications and causing problems.
From http://iphonedevwiki.net/index.php/Cydia_Substrate_Pitfalls#MobileSubstrate_APIs_and_states
> If you hook a framework like "com.apple.UIKit", test your tweak in non-UIKit processes anyway (e.g. by temporarily changing the filter to "com.apple.Security" or "com.apple.CoreFoundation"). Broken tweaks with incorrect/missing filters will pull your tweak into processes you don't expect. However, there is a way to prevent unwanted code injection to non-UIKit processes. Modify if needed. See this.
Sure! Here it is:
https://ghostbin.com/paste/ztsx9
The tweak is not working at all after doing this...
Just to make sure I'm doing it right, this should make the tweak work in every app, including the SpringBoard right?
Thanks for your help anyway :)
Which tutorial shall I use? I'll follow it word for word and come back with results.
Disregard that...I didn't restart my terminal and now it works but with a different error. https://ghostbin.com/paste/uzc9a
I always just require Flipswitch, because it makes your life a lot easier, but you should probably be logging the relevant variables so that you're not just guessing.
My hunch would be that the way you have it structured now, you're setting wiFiEnabled before calling the original airplaneModeChanged method. It may be that wifi is not switched off until after the original airplaneModeChanged method is returned.
For starters, you might restructure it something like this: https://ghostbin.com/paste/3qm47
Disclaimer: I've never played with SBWiFiManager or SBCCAirplaneModeSetting, and I updated this code on my phone. Just my two cents.
sorry for the late reply.
So I set up sudo.Thanks for the reply.
The make troubleshoot did not work. Here is what it said:
>make: *** No rule to make target `troubleshoot'. Stop.
Here is the paste from the output: https://ghostbin.com/paste/ehred
My makefile: https://ghostbin.com/paste/ybvn2
My versions are:
iOS Toolchain 6.1-1 by CoolStar
Darwin CC Tools 877.5 by CoolStar
Darwin Tools 1-5 by Saurik
Theos 0.9.639-1 by Dustin Howett
Bigboss Recommended Tools 1.3.2 by BigBoss
Perl 5.22.0 by CoolStar
LLVM+Clang 3.7.1 by CoolStar
What would be the best method to get all the filenames to then eliminate? I know how to do it with one specific path. I have an NSArray of all the contents of the folder, but how would I proceed to eliminate the equivalent filenames in /Library/Preferences?
EDIT: Here's what the console output for the array looks like: https://ghostbin.com/paste/ykd8v
Thank you. Would you mind helping me out with one more thing? This specific code continues to try and create BKP0, which I don't fully understand, as I believe I did the integer function correctly. https://ghostbin.com/paste/byyx6
make: https://ghostbin.com/paste/d8mca Doing clean all as well. I accidentally screwed with some of the permissions in $THEOS a while ago, but that shouldn't be a problem right? Any tweak I make that just modifies springboard stuff works just fine. In fact I recently made a tweak that modifies ui components on the lock screen and that worked fine as well.
and i did try make troubleshoot:
sometimes gives me an error about 'build_session'
clang: error: no such file or directory: '/Users/Alex/Documents/Projects/test/.theos/build_session'
sometimes not
here is the troubleshoot : https://ghostbin.com/paste/9yz76
I realize this. The first for loop gets me access to the first array. The second for loop gets me access to the second array. The arrays are being populated. I can log the objects just fine. Logging them by replacing the that inner line to NSLog shows "com.apple.Health". No crash. crash. The problem is adding them to the NSMutableArray
getting these errors: vinehancer.x:13:109: error: use of undeclared identifier 'funcToCall' ...NULL, (CFNotificationCallback)funcToCall, CFSTR("ml.caetan0.vinehancerpr... ^ vinehancer.x:19:6: error: use of undeclared identifier 'verifiedEnabled' if (verifiedEnabled) { ^
Please consider using this notation for TARGET
and ARCHS
:
export TARGET := iphone:clang:8.4:6.1 export ARCHS := armv7 arm64
Also, the common.mk include at https://ghostbin.com/paste/ngsho#L12 must be the first include you make.
Because they don't work. (Or maybe, my code is false?)
BBServer
- (void)publishBulletin:(BBBulletin*)bulletin destinations:(unsigned long long)arg2 alwaysToLockScreen:(BOOL)arg3
SBBulletinObserverViewController
-(void)addBulletin:(id)bulletinInfo toSection:(id)sectionInfo forFeed:(unsigned long long)arg3
These achieve my flashlight event all the time, even if there is no new notification
SBLockScreenNotificationListController
- (void)observer:(id)arg1 addBulletin:(id)arg2 forFeed:(unsigned long long)arg3
SBBulletinBannerController
-(void)observer:(id)observer addBulletin:(id)bulletin forFeed:(unsigned long long)feed
And these achieve nothing. If there is a new notification, no flashlight event.
Here is my code: https://ghostbin.com/paste/8htdv
So I changed my make file to this : https://ghostbin.com/paste/54u56
and now I get this error: install.exec "killall -9 SpringBoard" /bin/sh: install.exec: command not found make: *** [after-install] Error 127
That was the problem. However it doesn't seem like the notifications are working am I doing it correct? https://ghostbin.com/paste/z57p8 I can confirm the button click is working however no UIAlertView is showing
Since I have to move the icons from page to page I am removing the icons and then moving them using some of SBIconControllers methods. Here is the code that deals with moving the icons. https://ghostbin.com/paste/5yzku
Hey, thanks for all your help. Here are the NSLogs: https://ghostbin.com/paste/zar8k The first eight are from the first loop [ for(SBIconView *iconViewIterate in array) ] then after I layout the SBIconViews [ for(SBIconListView *view in [folderController iconListViews]) ] the result changes.
There is nothing in my control file about it (https://ghostbin.com/paste/6mdew) but in dpkg-scanpackages I modified it to use md5 rather than md5scan (i think that was the name). Had to run build.sh on my computer (mac) and upload to the server (cpanel).
I believe there is an error with the example on iphonedevwiki. Instead of "@{ @"badge" = @5," it should be "@{ @"badge" : @5,". Doing this fixed one of the errors. However no notification is being presented: https://ghostbin.com/paste/c3hq2
Hi, thanks for your answer. Your code didn't work, not sure about why. However I found the solution: it was simpler than expected.
https://ghostbin.com/paste/fkvm7
This did the trick. It basically prevents SpringBoard from configuring the "Edit" button by overwriting an empty method. Thanks anyway!
Here is the relevant code: https://ghostbin.com/paste/ddwdv
In this case, calling -[PSListController removeContiguousSpecifiers:]
(where my header cell is not in the array of contiguous specifiers) makes the header disappear.
Here is the relevant code: https://ghostbin.com/paste/ddwdv
In this case, calling -[PSListController removeContiguousSpecifiers:]
(where my header cell is not in the array of contiguous specifiers) makes the header disappear.
Yes, I based mine of that. I mean it works fine with other apps except music, and iTunes :/
EDIT: So I viewed the syslog and it says this: https://ghostbin.com/paste/up74v
But I already made my provider???
Okay so I fixed everything, however one I compile and run, it crashes the SB because it [SpringBoard save]. How would I be able to differentiate the Spotify App. Everything else works fine. Thanks :)
Here is my updated code: https://ghostbin.com/paste/pzfq8
I was frustrated, removed the Ubuntu partition and install cygwin on windows, hoping that less errors appear, but I did encounter some errors: https://ghostbin.com/paste/nor7h
Any ideas on what I did wrong?
you sure Im creating a tweak that plays music after respring and i want it to resume to the point of the song it was at before the respring. I am logging the currentTrackTime every 5 seconds in a plist. And after respringing, I want the song to go to the currentTrackTime. Sorry if this sounds confusing ;)
This is the code snippet https://ghostbin.com/paste/hy9ug