Discussion Forums  >  Plugins, Customizing, Source Code

Replies: 11    Views: 93

freesoftwarewiz
Code is Art
Profile
Posts: 75
Reg: Apr 12, 2012
orange city, fl
3,900
11/02/14 08:43 AM (9 years ago)

It wasn't an Xcode problem - it was the Plugins and IOS 8 SDK

I posted an issue a few days ago I thought was Xcode and the SDK. I had tried to create a "single screen/single purpose" app with NO menu, because there was only one usable screen, and Apple rejected the Apps saying a menu with only one entry was superfolous - just made the user have to click twice. (I had to agree with them) I could NOT get Chris's simple splash screen OR Advert Splashscreen to work with another plugin (such as YouTube Playlist) without a menu. After many days of weirdness and 'what they hey' I partially solved the issue and posted this, but it seems more appropriate here (in hopes of helping others): ---- FIXED - sort of. :-) I have got the splashscreen to work with non-menu screens in a normal fashion. IF you MANUALLY alter the JSON data so that the splashscreen item data is the LAST bt_screens item in the json, (Right now screen items in JSON appear in the order you add the plugins - not always good) and the screen you wish the splash to transition to, is the first "bt_screens" item. Also, you set the non-menu screen in the 'nontabbed layout' as the "home screen" and in the 'theme' section, set the splashscreen plugin as the splashscreen - but do NOT set any of the nav bar settings in 'theme' (they appear to cause an issue with the function of the splashscreen if you change them). HOWEVER, even if you follow these directions, with the "advert splashscreen" plugin - which is just a special version of the simple splash screen that displays a page - via a URL - immediately after the splash, it NEVER displays the URL page. It just behaves like a the normal BT_splashscreen. It does not give an error (like "no internet" or "page not found" etc.), the page just never appears. the advert plugin also does something very odd - it creates double entries in the JSON, like: "BT_screens":[ { "itemId":"5CBCD5B5890F1B38DCA620C", "itemType":"CR_advert_splash", "itemNickname":"testsplash", (...and then it repeats it ...) "itemId":"5CBCD5B5890F1B38DCA620C", "itemType":"CR_advert_splash", "itemNickname":"testsplash", "navBarTitleText":"testsplash", "backgroundImageNameSmallDevice":"SPLASHSCREENBACKGROUNDSMALL.jpg", "backgroundImageNameLargeDevice":"SPLASHSCREENBACKGROUNDBIG.jpg", "urlToLoad":"http://appbuzzinga.com/master.html", "startTransitionAfterSeconds":"2", "transitionType":"fade", "externalToApp":"NO", "landscapeImage":"NO", "showActionButton":"YES" } If you leave that repeated section in there, not even the splash screen appears - it just goes straight to the non-menu "home screen". Take the repeated JSON out, the splashscreen does appear, then the non-menu home screen, but never the "advert" URL. And NO errors or weird stuff in the debug output whether the extra stuff is there or not. No idea yet why that would be. But at least I solved 1 mystery. :-) Personally, I think all the splash screen plugins should have one other attribute: target or 'next' screen, so it is TOLD what to display after the splash. This fiddling with the order items are listed in the JSON was a huge nuisance. Joe C.
 
SmugWimp
Smugger than thou...
Profile
Posts: 6316
Reg: Nov 07, 2012
Tamuning, GU
81,410
like
11/02/14 10:35 PM (9 years ago)
Provided you're not doing a 'tabbed' app, the way it should be working is: Your 'main' screen, be it menu or otherwise, should be listed as your 'home' screen in the 'layout' screen of your app control panel. Once you set a screen as your home screen, it will be listed first in your BT_Config.txt 'screen' section. This *must* be this way. The rest of the JSON is loaded as well, and screens are JSON 'objects', and order of appearance should not matter. With respect to the Splash Screen, it will be among the screens listed in the 'screens' section of the JSON. You do NOT want it to be the 'home' screen. Just designate it in the 'theme' section. The typical behavior of a Splash Screen is that it loads first, due to the settings of your theme. Once it is loaded, the app will 'continue' to load the config in the background, and when it reaches 'screens' it will load the 'home' screen *behind* the splash screen. When the user does whatever they need to in order to 'dismiss' the splash screen, then the splash screen will unload, revealing the 'home' screen. No 'redirection' should be necessary. So, for your app, I'd have two screens. Your 'content' screen and your splash screen. Set your content screen as your 'home' screen in 'layout'. Set your splash screen in 'theme'. For the most part, that really should be it. Hope this helps. Cheers! -- Smug
 
freesoftwarewiz
Code is Art
Profile
Posts: 75
Reg: Apr 12, 2012
orange city, fl
3,900
like
11/03/14 06:21 AM (9 years ago)
True, and I am familiar with how splash screens work and the typical BT setup. :-) Except if you read my posts, it didn't happen that way. Theme and home etc. were all set as you would expect (typically) they should be - but with the plugin and/or IOS 8 it was NOT working (see my post in the xcode section - I was not the only one with the issue). If you happen to be a person who does not work "typically" - who chooses their plugins first - before setting ANYTHING else - and designing an App that does NOT use a "menu" as most expect, THEN you will not have the 'typica' JSON order, and will have to manually adjust the order in the JSON so that the splash screen is listed AFTER the "home" plugin screen, or the splash screen does not work. Even then, the Advert plash screen only PARTIALLY works - the advert page never displays (I tried 42 diff URLs). I also discovered, when NOT using a menu in the App, that not all splashscreens like all the plugins (set as 'home') or vice versa (I checked, over a 2 week period, about 90 of the 128 installed on my self-host). I also discovered some theme settings cause issues with some. And if you are targeting IOS 8 deployments (in both project and target), expect between 60 and 110 deprecations in the compiler, depending on the plugin. I had a thumb rule posted in my office at NASA for my programmers: "Programmers test to see if their code operates as they expect - our users NEVER do what you expect. Test for that." Doing the unexpected (1 or more plugin screens but without menus, choosing plugins first in backwards order, deployment for IOS 8, etc.) resulted in JSON that kept the plugin from operating as I expected. And Advert Splashscreen still doesn't work - never displays the advert page. (NO errors, just never appears. gets skipped) Joe C. https://www.buzztouch.com/forum/thread.php?tid=F5142EA87C26D704FD6BD33&fid=06DB0BCB08E2222&sortColumn=FT.id&sortUpDown=DESC&currentPage=1
 
mrDavid
BTMods.com
Profile
Posts: 3936
Reg: May 21, 2011
San Diego, CA
51,910
like
11/03/14 08:03 PM (9 years ago)
Joe, FYI, your control panel is probably not up-to-date (check that), make sure you're using a 3.0 project, I know it sounds like I'm asking you if you "plugged in your computer" but I just helped a client that had no idea that 2.0 was messing a bunch of things up when he had the 3.0 project. Also, another noobish suggestion, I'm sorry - but make sure the plugin is up-to-date, it's gone through a few recent changes, and no-one else seems to be experiencing this issue, which leads me to believe it's on your end. Hope this helps. Cheers, David Van Beveren http://btmods.com/chat ^ Chat with other BT members live! http://btmods.com/hire ^ Hire MrDavid for one of his services!
 
freesoftwarewiz
Code is Art
Profile
Posts: 75
Reg: Apr 12, 2012
orange city, fl
3,900
like
11/03/14 09:20 PM (9 years ago)
I checked - I even ran update on All plugins. (I acknowledge I did not actually setup the self-host, but assume all such functions in the control panel function as they should). I ran plugin updates TWICE. The paneI is 3.0, and yes, I always use the '3.0' version. And I do not see anyone using the plugin the way I am using it. I have TRIPLE verified that the JSON order DOES make the plugin fail, while reversing the order it DOES run as a splash - it's just the advert page does NOT load regardless of how you arrange the JSON, using the plugin as I am using it. It will fail for anyone who uses it the way I have. I have tested 47 plugins (alone) without the splash so far - they run fine, albiet with many warnings and deprecations, as I run them with to compile for all architectures, project and all targets/deployments set to 8.0, and using the 8.0 SDK and xcode 6.1, etc. Joe C.
 
Niraj
buzztouch Evangelist
Profile
Posts: 2943
Reg: Jul 11, 2012
Cerritos
37,930
like
11/04/14 08:56 AM (9 years ago)
Joe is a smart cookie and a good diligent tester. He found a flaw, that's all there it to that. Next step is to investigate and fix. Joe -- how comfy are you in looking at ObjC code? I know you can follow the bread crumb trails! :-) -- Niraj
 
mrDavid
BTMods.com
Profile
Posts: 3936
Reg: May 21, 2011
San Diego, CA
51,910
like
11/04/14 09:25 AM (9 years ago)
Hi Niraj, @Niraj I was simply asking what many folks make mistakes with, not meant to disrespect, but those questions are valid and I was not sure if he had done any. I myself have made mistakes that a veteran user should never make - just the other day I forgot to drag the plugins folder in - I hang my head in shame, LOL! .. and that is all there is to that ;-) David Van Beveren http://btmods.com/chat ^ Chat with other BT members live! http://btmods.com/hire ^ Hire MrDavid for one of his services!
 
freesoftwarewiz
Code is Art
Profile
Posts: 75
Reg: Apr 12, 2012
orange city, fl
3,900
like
11/04/14 12:46 PM (9 years ago)
Niraj, The biggest issue I have with ObjC is the differences from the UNIX C/C++ I cut my teeth on that drive me nuts (Kernigan and Ritchie - the inventors of the C language - were speakers at the first conference I organized for AT&T on UNIX). The past few years I have been using JAVA, Xojo and Delphi for development. Obviously, I will have to work through that f I am going to expand our Apple-focused projects, which is the plan. Not just for my own stuff, but I sit on the board of 2 tech companies that are also shifting to a 'fruit focus' :-)) I do tend to hire programmers more than coding myself, per se, but my policy is to remain as competent as the talent I work with, so it's an open question whether I will address fixes myself, or have someone else do it. Either way, I will publish any fixes I/they make. BTW: I plan to add your plug-in to my server. Looking forward to playing with it. :-) Thanks. Joe
 
mrDavid
BTMods.com
Profile
Posts: 3936
Reg: May 21, 2011
San Diego, CA
51,910
like
11/04/14 12:57 PM (9 years ago)
Good policy, I adhere to that and the KISS principle, otherwise, clients become like leeches. ("a person who clings to another for personal gain, esp. without giving anything in return; parasite." - tfd) Happy Tuesday. Cheers, David Van Beveren http://btmods.com/chat ^ Chat with other BT members live! http://btmods.com/hire ^ Hire MrDavid for one of his services!
 
Niraj
buzztouch Evangelist
Profile
Posts: 2943
Reg: Jul 11, 2012
Cerritos
37,930
like
11/04/14 11:42 PM (9 years ago)
Once you get past the syntax of ObjC -- then it will be like reading a book for you, Joe. My mentor for Mobile Development (ObjC and Android) is Mr. David Book. Watch a few of his videos from Sept and Oct of 2012. As an experienced developer, you will quickly understand my line of questioning to David during those Webinars. It's well worth the 4-hours of video watching at 720p resolution. Just spread it out over a week or two so that yer noggin has time to comprehend. David Book took this "I don't like this object nonsense, I am a subroutine programmer!" guy and made me see the light. Until then, neither Ada nor Java was able to convert me away from 1750A and i960 assembly, C and PHP. Have I praised David Book yet? :-) One more thing ... Now and then, David Book is quick to point out the similarities between iOS and Android. For example, UIButton and Button, UiView and View, etc ... His point is to not fret the syntax differences, they are actually similar enough. Joe, I have much to learn from you, the stories you tell are from the frontier days of modern software development. I hope to meetup with you on my next Florida trip! ( I sent you a Private Message by which we can exchange email addresses and you can send improvement requests for the Cubbyholes plugin ) -- Niraj
 
freesoftwarewiz
Code is Art
Profile
Posts: 75
Reg: Apr 12, 2012
orange city, fl
3,900
like
11/05/14 09:18 AM (9 years ago)
lol - yeh, I emphasize with David. I remember when I was working on my second degree, they had to take me to 'object nonsense' kicking and screaming. :-) oh, and I got a private email from you, BUT the return address was a buzztouch 'no reply' so you may have to try that again. :-) joe [email protected]
 
Niraj
buzztouch Evangelist
Profile
Posts: 2943
Reg: Jul 11, 2012
Cerritos
37,930
like
11/05/14 08:21 PM (9 years ago)
Ah, you reply within the built-messaging system in Buzztouch. Go to your profile and click in the Left menu on Messages. I will send a note to your gmail. -- Niraj
 

Login + Screen Name Required to Post

pointerLogin to participate so you can start earning points. Once you're logged in (and have a screen name entered in your profile), you can subscribe to topics, follow users, and start learning how to make apps like the pros.