Page 21 of 42 FirstFirst ... 11192021222331 ... LastLast
Results 401 to 420 of 831

Your favorite Apple, iPhone, iPad, iOS, Jailbreak, and Cydia site.


Thread: Workaround Stategies for iOS8 respringing using GroovyAPI+

  1. #401
    Quote Originally Posted by NewdestinyX View Post
    Precisely!
    Don't forget a semi colon after ().
    Is the work you're doing for a widget running in GL+?
    It's for gb+
    Instead of trying to convert my fav sbhtml (old dBar) to be compatible with ww2 and gb+, I decided to build it up using an existing ww2 sbhtml that I found in the share thread last week. So it was easy to convert from gb to gb+, then I've been doing a ton of styling changes to get it to look similar to my dBar theme, now I'm in the process of adding things like ramstats info and the battery bar (batterystats).

    There is another function in my dBar theme that I'd like to implement into this new gb+ theme, but will need y'all's help with it. It lists the days of the week and a range of dates, with the current day and date highlighted. Like:
    Sun Mon Tue Wed Thu Fri Sat | 8 9 10 11 12 13 14

  2. #402
    Quote Originally Posted by rasputin007 View Post
    Alternative, as you use jquey, you could rename
    Code:
    function battery() {
    //your battery function content in here
    }
    as
    Code:
    $(function(){ 
    //your battery function content in here
    });
    This way this $ function will be executed automatically and no need to be called!
    So what is the benefit of using the $ function? I dont really understand what jquery is, i just know that it seems to be another js file that is referenced by other js files.. I found this on stackoverflow "The dollar sign function $() in jQuery is a library function that is frequently used.." but i dont really know what that means, aside from it is a way of writing a function that uses the jquery "library"..

    Ive got it all working now (the battery bar), but im asking about this in the interest of learning. Thx!

  3. The Following User Says Thank You to michaelrw For This Useful Post:

    King_O_Hill (2015-02-12)

  4. #403
    Code Dependent NewD's Avatar
    Join Date
    Jan 2012
    Location
    Northeast US
    Posts
    5,712
    Thanks
    8,338
    Thanked 16,467 Times in 7,697 Posts

    Michael, $.get is just another way of writing JQuery.get. Completely interchangeable.

    Michael please show me your entire function for getting the battery to work in GL+. Have you actually tested it yet? I've been able to get ram stats to work in GL+ perfectly. But nearly the identical code just swapped out for the battery stats makes the battery and it's corresponding fullness images disappear in my code. Can you show me your full battery function that's working perfectly in GL plus?

  5. #404
    sure, this is what i have and it works fine for me:

    Code:
    var Level = "";
    var State = "";
    
    $.ajaxSetup({
    cache: false,
    headers: {'Cache-Control': 'no-cache'}
    });
    
    function battery() {
    	refreshLocationTimer = setTimeout(battery, 10*1000);
    //	jQuery.get('file:///private/var/mobile/Library/BatteryStats.txt', function(appdata) {
    	groovyAPI.do ( { read: "../Library/BatteryStats.txt" }, function(data) {
    		var myvar = data;
    		var substr = data.split('\n');
    		Level=substr[0].split(':')[1];
    		State=substr[1].split(':')[1];
    		if( Level > 0  && Level <= 2 )	document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_01@2x.png";
    		if( Level > 2  && Level <= 4 )	document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_02@2x.png";
    		if( Level > 4 && Level <= 6 )	document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_03@2x.png";
    		if( Level > 6 && Level <= 8 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_04@2x.png";
    		if( Level > 8 && Level <= 10 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_05@2x.png";
    		if( Level > 10 && Level <= 12 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_06@2x.png";
    		if( Level > 12 && Level <= 14 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_07@2x.png";
    		if( Level > 14 && Level <= 16 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_08@2x.png";
    		if( Level > 16 && Level <= 18 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_09@2x.png";
    		if( Level > 18 && Level <= 20 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_10@2x.png";
    		if( Level > 20 && Level <= 22 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_11@2x.png";
    		if( Level > 22 && Level <= 24 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_12@2x.png";
    		if( Level > 24 && Level <= 26 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_13@2x.png";
    		if( Level > 26 && Level <= 28 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_14@2x.png";
    		if( Level > 28 && Level <= 30 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_15@2x.png";
    		if( Level > 30 && Level <= 32 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_16@2x.png";
    		if( Level > 32 && Level <= 34 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_17@2x.png";
    		if( Level > 34 && Level <= 36 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_18@2x.png";
    		if( Level > 36 && Level <= 38 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_19@2x.png";
    		if( Level > 38 && Level <= 40 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_20@2x.png";
    		if( Level > 40 && Level <= 42 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_21@2x.png";
    		if( Level > 42 && Level <= 44 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_22@2x.png";
    		if( Level > 44 && Level <= 46 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_23@2x.png";
    		if( Level > 46 && Level <= 48 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_24@2x.png";
    		if( Level > 48 && Level <= 50 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_25@2x.png";
    		if( Level > 50 && Level <= 52 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_26@2x.png";
    		if( Level > 52 && Level <= 54 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_27@2x.png";
    		if( Level > 54 && Level <= 56 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_28@2x.png";
    		if( Level > 56 && Level <= 58 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_29@2x.png";
    		if( Level > 58 && Level <= 60 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_30@2x.png";
    		if( Level > 60 && Level <= 62 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_31@2x.png";
    		if( Level > 62 && Level <= 64 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_32@2x.png";
    		if( Level > 64 && Level <= 66 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_33@2x.png";
    		if( Level > 66 && Level <= 68 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_34@2x.png";
    		if( Level > 68 && Level <= 70 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_35@2x.png";
    		if( Level > 70 && Level <= 72 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_36@2x.png";
    		if( Level > 72 && Level <= 74 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_37@2x.png";
    		if( Level > 74 && Level <= 76 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_38@2x.png";
    		if( Level > 76 && Level <= 78 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_39@2x.png";
    		if( Level > 78 && Level <= 80 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_40@2x.png";
    		if( Level > 80 && Level <= 82 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_41@2x.png";
    		if( Level > 82 && Level <= 84 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_42@2x.png";
    		if( Level > 84 && Level <= 86 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_43@2x.png";
    		if( Level > 86 && Level <= 88 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_44@2x.png";
    		if( Level > 88 && Level <= 90 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_45@2x.png";
    		if( Level > 90 && Level <= 92 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_46@2x.png";
    		if( Level > 92 && Level <= 94 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_47@2x.png";
    		if( Level > 94 && Level <= 96 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_48@2x.png";
    		if( Level > 96 && Level <= 98 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_49@2x.png";
    		if( Level > 98 && Level <= 100 ) document.getElementById("BatteryImage").src="Images/Battery/BatteryBG_50@2x.png";
    
    		// Replace the Level variable ranges if you want a less, or more, accurate battery bar. Replace the array of  images, such that they are representative of the defined range.
    
    		document.getElementById("LevelDisplay").innerHTML = Level + "%";
    		document.getElementById("StateDisplay").innerHTML = State;
    		if( Level > 0 ) {
     			$(function() {
    				$("h1#StateDisplay").lettering();
    			});
    		}
    	});
    }
    
    battery()
    that is exaclty what i have. I tried putting the battery() call into the init() function, but i couldn't get it to work that way. So, i just put the battery() call at the end of the script, by itself, outside of the battery function. battery() is the very end of my main.js script
    Last edited by michaelrw; 2015-02-12 at 03:53 AM.

  6. The Following 3 Users Say Thank You to michaelrw For This Useful Post:

    King_O_Hill (2015-02-12), NewD (2015-02-12), undersea (2015-02-12)

  7. #405
    Quote Originally Posted by michaelrw View Post
    It's for gb+
    Instead of trying to convert my fav sbhtml (old dBar) to be compatible with ww2 and gb+, I decided to build it up using an existing ww2 sbhtml that I found in the share thread last week. So it was easy to convert from gb to gb+, then I've been doing a ton of styling changes to get it to look similar to my dBar theme, now I'm in the process of adding things like ramstats info and the battery bar (batterystats).

    There is another function in my dBar theme that I'd like to implement into this new gb+ theme, but will need y'all's help with it. It lists the days of the week and a range of dates, with the current day and date highlighted. Like:
    Sun Mon Tue Wed Thu Fri Sat | 8 9 10 11 12 13 14
    This is a one of calendar widgets of Jeepers. U can find it on topic Share Lockscreen/Html. Link above.

  8. The Following User Says Thank You to undersea For This Useful Post:

    michaelrw (2015-02-12)

  9. #406
    Quote Originally Posted by michaelrw View Post
    So what is the benefit of using the $ function? I dont really understand what jquery is, i just know that it seems to be another js file that is referenced by other js files.. I found this on stackoverflow "The dollar sign function $() in jQuery is a library function that is frequently used.." but i dont really know what that means, aside from it is a way of writing a function that uses the jquery "library"..

    Ive got it all working now (the battery bar), but im asking about this in the interest of learning. Thx!
    Jquery is a plugin for javascript, it "enriches" the functionality of javascript.
    There are tons of javascript plugins, most are very specific and do just one thing, e.g. TouchSwipe, iScroll or Cycle.
    However most of these require jquery, as jquery provides the functionality in javascript.
    Some even say that using jquery makes javascript run faster. Don't know about this but it certainly opens new door that can not be opened with just plain javascript.
    Functions in javascript need to be called, the init function name is an exception, in order to be executed.
    You can try that yourself with this example - remember you need the jquery.min.js in a js subfolder!
    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html manifest="default.manifest">
    
    <head>
    	<title>Test page</title>
    	<script src="js/jquery.min.js" type="text/javascript"></script>
    </script>
    <style>
    body{
    	height: 100%;
    	width: 100%;
    	background-color:#333;
    }
    
    
    #time {
    	position:absolute;
    	top:100px;
    	left: 200px;
    	font-family: Helvetica, Arial, sans-serif;
    	font-size:40px;
    	font-weight: bold;
    	text-shadow: 0px 2px 1px rgba(0, 100,255, 1.0);
    	-webkit-text-fill-color: rgba(100, 200, 255, 1.0);
    	-webkit-text-stroke:2px rgba(10, 80, 140, 1.0);
    	
    	}
    </style>
       
    
    </head>
    
    <body>
    <div id="time"></div>
    <script>
    //$(function(){
    //	showTime();
    //});
    
    function showTime()
    	{
    	date=new Date();
    	dateday=date.getDate();
    	hour=date.getHours();
    	minute=date.getMinutes();
    	second=date.getSeconds();
    	if (date.getDate()<10) dateday="0"+dateday;
    	if (hour<10) hour="0"+hour;
    	if (minute<10) minute="0"+minute;
    	if (second<10) second="0"+second;
    	document.getElementById("time").innerHTML=hour+":"+minute+":"+second;
    	setTimeout("showTime()", 1000);
    }
    </script>
    </body>
    </html>
    It will only show a grey background, because the function showTime does not get called and therefore not executed.
    Next delete all the "//" in front of the $function and the lines below, run it again and it shows you the time!
    That is because $functions will be executed automatically in jquery!
    You also could have renamed the showTime function name into a $function name, same result!
    Without jquery you only had 3 choices to get it to work
    1.) rename showTime into init
    2.) use a body onload="showTime()" tag
    3.) create a init function with the showTime function call.
    Nothing is impossible only miracles take a bit longer!

  10. The Following 5 Users Say Thank You to rasputin007 For This Useful Post:

    chevymusclecar (2015-02-14), michaelrw (2015-02-12), NewD (2015-02-12), RKO1195 (2015-02-13), undersea (2015-02-12)

  11. #407
    Quote Originally Posted by undersea View Post
    This is a one of calendar widgets of Jeepers. U can find it on topic Share Lockscreen/Html. Link above.
    Yeah I have the code for it, the trick is integrating it with me current sbhtml, and getting it to work with GB+
    It may be as simple as cut/paste, but you never know until you give it a shot. Thx


    Quote Originally Posted by rasputin007 View Post
    Jquery is a plugin for javascript, it "enriches" the functionality of javascript.
    There are tons of javascript plugins, most are very specific and do just one thing, e.g. TouchSwipe, iScroll or Cycle.
    However most of these require jquery, as jquery provides the functionality in javascript.
    Some even say that using jquery makes javascript run faster. Don't know about this but it certainly opens new door that can not be opened with just plain javascript.
    Functions in javascript need to be called, the init function name is an exception, in order to be executed.
    You can try that yourself with this example - remember you need the jquery.min.js in a js subfolder!

    It will only show a grey background, because the function showTime does not get called and therefore not executed.
    Next delete all the "//" in front of the $function and the lines below, run it again and it shows you the time!
    That is because $functions will be executed automatically in jquery!
    You also could have renamed the showTime function name into a $function name, same result!
    Without jquery you only had 3 choices to get it to work
    1.) rename showTime into init
    2.) use a body onload="showTime()" tag
    3.) create a init function with the showTime function call.
    This all makes sense -- my only question is, how would this play with gAPI+, since I know that jQuery and gAPI+ have a few issues working together.

  12. #408
    Quote Originally Posted by michaelrw View Post
    This all makes sense -- my only question is, how would this play with gAPI+, since I know that jQuery and gAPI+ have a few issues working together.
    Sorry mate, I have absolutely no experience with GroovyAPI. Never used it, so can not help you there.
    Nothing is impossible only miracles take a bit longer!

  13. The Following User Says Thank You to rasputin007 For This Useful Post:

    michaelrw (2015-02-13)

  14. #409
    Quote Originally Posted by michaelrw View Post
    This all makes sense -- my only question is, how would this play with gAPI+, since I know that jQuery and gAPI+ have a few issues working together.
    There aren't any issues with jquery and GAPI that I'm aware of.

    Jquery is just a JavaScript addon as explained above and GAPI is a JS/Objective-c bridge that gives access to just about anything in iOS. It works just like Cycript does with Cydget, except for the SB.

    Check out WW3 for iOS 9/10 - Widget-Weather 3.0

  15. #410
    Quote Originally Posted by rasputin007 View Post
    Sorry mate, I have absolutely no experience with GroovyAPI. Never used it, so can not help you there.
    Kinda surprised bro, as this is def something that is right up your alley!

    Check out WW3 for iOS 9/10 - Widget-Weather 3.0

  16. The Following User Says Thank You to King_O_Hill For This Useful Post:

    rasputin007 (2015-02-13)

  17. #411
    Default Workaround Stategies for iOS8 respringing using GroovyAPI+
    Quote Originally Posted by King_O_Hill View Post
    There aren't any issues with jquery and GAPI that I'm aware of.

    Jquery is just a JavaScript addon as explained above and GAPI is a JS/Objective-c bridge that gives access to just about anything in iOS. It works just like Cycript does with Cydget, except for the SB.
    I was referring to how jQuery calls have to be replaced with groovyAPI.do in order to get them to work with gAPI+ .. You all probably know by now that I don't know much about coding and I just do my best to get by.. So often my thoughts are misguided by lack of knowledge. I just assumed that replacing jQuery in the scripts meant it didn't work..

  18. #412
    Code Dependent NewD's Avatar
    Join Date
    Jan 2012
    Location
    Northeast US
    Posts
    5,712
    Thanks
    8,338
    Thanked 16,467 Times in 7,697 Posts

    Default Workaround Stategies for iOS8 respringing using GroovyAPI+
    Quote Originally Posted by michaelrw View Post
    I was referring to how jQuery calls have to be replaced with groovyAPI.do in order to get them to work with gAPI+ .. You all probably know by now that I don't know much about coding and I just do my best to get by.. So often my thoughts are misguided by lack of knowledge. I just assumed that replacing jQuery in the scripts meant it didn't work..
    No. It's WKWebView by Apple that's broken - in that it can't read local files from our Documents folder (or anywhere else for that matter). GL+ and GB+, prevent all the respringing by leaving Apple's UIWebView behind and embrace Apple's newer heartier WKWebView. But as with all new technologies it's buggy. The Developer of GL+ and GB+ built gAPI+ as a workaround to give WKWebView access to our local files. That's why we replace the jQuery.get lines with groovyAPI.do before we address a local file we need like WidgetWeather.xml or BatteryStats.txt.

    groovyAPI doesn't break JQuery - it temporarily 'fixes' WKWebView. When Apple updates WKWebView we'll go back to using only JQuery again.

    Make sense now?
    Last edited by NewD; 2015-02-13 at 11:58 AM.

  19. The Following 2 Users Say Thank You to NewD For This Useful Post:

    michaelrw (2015-02-14), undersea (2015-02-14)

  20. #413
    Quote Originally Posted by King_O_Hill View Post
    Kinda surprised bro, as this is def something that is right up your alley!
    I guess it is the fear having to deal with something I don't understand. LOL
    Apart from that "closed source" is annoying! If you want to change something you can not do it, you have to ask the dev to do it for you, whenever that might be.
    So every time you want to try a little tweaking you have to rely on the good will of others. In my case that soon would become really annoying to them. LOL
    I rather look for ways where I can see real code that can be changed in real time, by me or anybody else. Even if that means to walk strange path, as long as the target can be achieved in safe and stable process.
    Imagine Ian had the UniAW code encrypted, where would it be now?
    Properly on page 87 in the Theme thread, with a couple of hundred views and less then ten replies.
    Last edited by rasputin007; 2015-02-13 at 01:39 PM.
    Nothing is impossible only miracles take a bit longer!

  21. #414
    But you use Cycript, that is just a bridge also.

    Check out WW3 for iOS 9/10 - Widget-Weather 3.0

  22. #415
    Yes, as cycript gave me what I wanted, GPS position.
    That is all I wanted and needed. I tried running javascript (the geolocation javascript) with shell script, using java and rhino. Got it to work, but "navigator" is a browser parameter and not available in shell script.
    Anyway, I got it now. I can run cycript in a shell script to get GPS. Therefore I am not limited to the use of cydget running cycript.
    Now LaunchDaemon starts a shell script at bootup and every 3 minutes after that. This shell script runs cycript code and saves the current latitude and longitude in local files, then a second shell script uses these and other files to fetch weather data and store them locally as a xml file. All this runs now in the background, no activation or any other user input required.
    Well, not quite true, you still have to turn on your device. LOL
    Nothing is impossible only miracles take a bit longer!

  23. #416
    Code Dependent NewD's Avatar
    Join Date
    Jan 2012
    Location
    Northeast US
    Posts
    5,712
    Thanks
    8,338
    Thanked 16,467 Times in 7,697 Posts

    Default Workaround Stategies for iOS8 respringing using GroovyAPI+
    So, Ras, you basically wrote yourself your own version of WW.. but using Cycript. Right?

    I understand the pull to reverse engineer and do for myself - but when the hard work's already been done by someone else - I just don't see the need to recreate the exact same functionality in another tweak. WW does everything you just described and can even get GPS data and weather info written to local files faster than every 3 minutes without any any more stress to the phone's battery or CPU than the shell scripts you created for yourself.

    Hey, I applaud your ingenuity and programming prowess, to be sure, I just wonder about what your motivation was.. Just so you didn't have to rely on a dev like SDDev giving you a timely update? He gave the beta team everything we asked for - usually within 1-3 days max turnaround.

  24. #417
    Quote Originally Posted by NewdestinyX View Post
    So, Ras, you basically wrote yourself your own version of WW.. but using Cycript. Right?

    I understand the pull to reverse engineer and do for myself - but when the hard work's already been done by someone else - I just don't see the need to recreate the exact same functionality in another tweak. WW does everything you just described and can even get GPS data and weather info written to local files faster than every 3 minutes without any any more stress to the phone's battery or CPU than the shell scripts you created for yourself.

    Hey, I applaud your ingenuity and programming prowess, to be sure, I just wonder about what your motivation was.. Just so you didn't have to rely on a dev like SDDev giving you a timely update? He gave the beta team everything we asked for - usually within 1-3 days max turnaround.
    I like WW, but I don't like weather.com. Their service is crap here in the UK.
    That was my motivation. I like everything WW does and if it would use WeatherUnderground it would be absolute perfect. But it does not and that's why I was on the search to get something that does what WW does but using WeatherUnderground.
    What I have done is to create an LS platform independent tweak, that can fetch weather data from whatever weather service. Almost like WW, only more flexible in weather service department.
    If I replace the WeatherUnderground url with the weather.com one Apple uses I get the same weather data WW does. The only difference is that I can use any weather service that sends response files and with some additional shell scripting I could get ANY weather page you can get on your computer, does not matter if they send response files or not.
    All I depend on is cycript and lynx (command line browser from Saurik's repo).
    Because of the weather.com limitation in WW, I don't run it. So no double tweaks for the same thing - btw you still do it with all the different LS platforms.
    Nothing is impossible only miracles take a bit longer!

  25. The Following 5 Users Say Thank You to rasputin007 For This Useful Post:

    chevymusclecar (2015-02-14), King_O_Hill (2015-02-13), NewD (2015-02-13), ottozuts (2015-02-13), undersea (2015-02-14)

  26. #418
    Code Dependent NewD's Avatar
    Join Date
    Jan 2012
    Location
    Northeast US
    Posts
    5,712
    Thanks
    8,338
    Thanked 16,467 Times in 7,697 Posts

    Quote Originally Posted by rasputin007 View Post
    I like WW, but I don't like weather.com. Their service is crap here in the UK.
    That was my motivation. I like everything WW does and if it would use WeatherUnderground it would be absolute perfect. But it does not and that's why I was on the search to get something that does what WW does but using WeatherUnderground.
    What I have done is to create an LS platform independent tweak, that can fetch weather data from whatever weather service. Almost like WW, only more flexible in weather service department.
    If I replace the WeatherUnderground url with the weather.com one Apple uses I get the same weather data WW does. The only difference is that I can use any weather service that sends response files and with some additional shell scripting I could get ANY weather page you can get on your computer, does not matter if they send response files or not.
    All I depend on is cycript and lynx (command line browser from Saurik's repo).
    Because of the weather.com limitation in WW, I don't run it. So no double tweaks for the same thing - btw you still do it with all the different LS platforms.
    Understood. You certainly have something that works for your situation!!
    Last edited by NewD; 2015-02-13 at 06:24 PM.

  27. #419
    Quote Originally Posted by rasputin007 View Post
    Because of the weather.com limitation in WW...
    Hmmm, good point. Maybe I can have that fixed!

    Check out WW3 for iOS 9/10 - Widget-Weather 3.0

  28. The Following 2 Users Say Thank You to King_O_Hill For This Useful Post:

    NewD (2015-02-13), rasputin007 (2015-02-13)

  29. #420
    Code Dependent NewD's Avatar
    Join Date
    Jan 2012
    Location
    Northeast US
    Posts
    5,712
    Thanks
    8,338
    Thanked 16,467 Times in 7,697 Posts

    Quote Originally Posted by King_O_Hill View Post
    Hmmm, good point. Maybe I can have that fixed!
    AHA!!! ...very interesting....

  30. The Following User Says Thank You to NewD For This Useful Post:

    King_O_Hill (2015-02-13)

Page 21 of 42 FirstFirst ... 11192021222331 ... LastLast
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •