• App Identifiers, Provisioning Profiles, & other stuff to watch out for before submitting your App

    App Identifiers, Provisioning Profiles

    App Identifiers

    When you become an Apple developer, Apple assigns you with a default App ID, which is universal, it is in the form of a series of numbers, a period then an asterix, obviously you can use this ID for all your Apps, simply by changing the * after the period, to the name of your app.

    However if you do this, you will not be able to use Push notifications, In-App purchasing, or any of the other cool add-ons Apple make available, for use in your app. This is because your bundle identifier will not be unique enough, and once your app has been submitted this cannot be changed, so to make your life a bit easier, make sure you set up your App ID correctly, by using com.NameOfYourDomain.AppName and not the default one that Apple assigns you.

    Justin from CartoonSmart has an excellent video on how to setup your App ID’s and provisioning profiles properly.

    Changing App Name

    Apparently your app name can be changed when you submit a new binary, sweet, I will definitely be renaming ScaleViz on my next update, and looking at the app Store lately, it looks like my app has inspired at least two other apps, and with the slog of actually getting my app on the store in the first place and now having some clones, I’d say that’s definitely something to be proud of, just remember, when you do rename your app be aware that it is only the version of your apps name that appears on the Store, that is changed, your original Bundle identifier name will remain the same under your app on the actual device.

    App Description

    Your app description can be changed any time by logging into iTunes Connect, you can also edit your App description while waiting for review, and as far as I’m aware the only time you can’t change your App description is when your App is in review.

    Make sure your App description gives a good representation of what your app does, and don’t forget to mention what makes your app unique, it’s also helpful to potential purchasers if you summarize your app in a paragraph at the top of your description, as in iTunes or on the Web App Store the top few lines of your description are all you can see, until the …more link is clicked.

    Also, as with keywords (100 bytes) you only get a limited amount of space, this time you are allocated 4000 bytes, and if that’s not enough for you, just add “for more info go here” with a URL to your web site or blog, at the bottom of your description, Apple do give you space for a link to your App site & Support URL, but these appear at the bottom of the page.

    Screen Shots

    From around the beginning of Feb 2012 Apple now require Hi-res screen shots when you create or update your apps in iTunes Connect, so it’s best to create all your images in a vector based program, like Illustrator or Flash, this way you can resize your images to whatever size you need at any time without affecting the quality.

    The requirements for high-resolution images are now 960 x 640, 960 x 600, 640 x 960, or 640 x 920 pixels. Images must be at least 72 dpi, in the RGB color space, and the file must be .jpeg, .jpg, .tif, .tiff, or .png.

    I hope this saves some headaches, there’s enough to concentrate on when submitting your first App.

    Copyright © Shane Hogan
    Do not copy this article.

  • App Development, Stress, Pressure and Motivation

    I have been asked several times, how I motivated myself during development of ScaleViz, after all there’s just little old me and like many developers out there who are going it alone, and like to do everything themselves to achieve their goal, including studying new programming languages, concepts, semantics, structure and form, all while designing their app interface, user experience, graphic’s and all the other stuff app development involves, which are all very time consuming but necessary tasks which at times can seem quite daunting. So, how did I motivate myself?

    The answer is simple I created a web presence for ScaleViz when it was little more than a concept, first the webpage went up, then Facebook and Twitter, all before I had even considered how I was going develop the app, this way I created my own pressure, which in turn motivated me to learn the stuff I needed to learn to get the job done.

    Some would say that’s pretty hard on yourself and I definitely wouldn’t recommend taking this approach unless you are prepared to work under a great deal of self created stress and are ready to work long hours to complete your project in time for the release date that you have set yourself.

    Just remember though, you set the date, and it is good to have goals, but if you are a few days or weeks away from the goal date you set, don’t beat yourself up, you know that you have worked as hard and as fast as humanly possible and you are still in sight of your goal.

    Even big companies advertise release dates for their Apps/Games then at the last minute turn around and say, apologies but we have had to put the release date back as we don’t want to sacrifice any of our Games/Apps potential by releasing too early, or many other excuses. So, be proud of the work you have done and what you have achieved, use your goal date as a self motivator and only publisize the dates when you are good and ready.

    So what am I up to know? well, obviously there’s ScaleViz, for which I have so many ideas, and would love to eventually make into a universal app, plus I’ve got many more updates planned. I also have lots and lots of app ideas, but this time there will be no website, Facebook or Twitter until I’m ready, just more coding, studying and a well deserved holiday to Tavira, Portugal in just over two weeks 😉

    Stress is a great motivator but too much is not good and I can’t wait to jump in there, sharks or no sharks, I’m in!

    Tavira, Portugal

    Buy ScaleViz To help you Master the Modes, Nail the CAGED system, learn all Major, Minor and Dominant, Chords, Arpeggios, Pentatonics and Modal Shapes in all positions, go from From Cowboy Chords to Soloing and become a Fretboard Master with ScaleViz today!

  • Compiling your Web App with Dreamweaver & PhoneGap – Fixing the Camera.h error

    Once you’re happy with your Web App you’ll want to deploy it to your device, Dreamweaver CS 5.5 integrates this feature nicely; however, there is an issue with one of the classes that will prevent your app from compiling, here’s how to fix it.

    Dreamweaver CS 5.5 will happily create a skeleton jQuery web app for you, I’m using the four page sample app created by Dreamweaver to show the exact error, where to find it, and how to fix it, see this post for more info on creating a web app with Dreamweaver.

    Once you have your site ready to deploy, you need to set up your development environment, go to Site – Mobile Applications – Configure Application Framework.

    Set the “iOS Developer Tools Path” to where you installed xCode
    The default is /Developer, then click save.

    Now you need to configure your Application settings, go to Site – Mobile Applications – Application Settings.

    Fill in your Bundle ID, App Name, Author Name, Version Number & Target Path (You should not set your Target Path the same location as your site root, it’s fine to leave it set to desktop as Dreamweaver will create a folder for you).
    Icon and splash screen are optional, for this tutorial I have left them out, for more info on Web App icons and Splash screens see this post.

    Once you have finished filling in you settings click Save, then go to Site – Mobile Applications – Build and Emulate – iPhone.

    This is when the error appears, Oh Dear!

    Not to fear Dreamweaver is telling us to go look in the buildlog.log, you can find this file under the folder Dreamweaver created when it tried to compile your app, which will be on your desktop (or wherever you set your Target Path).

    Browse to the Buildlog.log file location Dreamweaver just informed us about and double click on it, the log file will open in Console, and if you check the log file you can see the error, what the error is and the file that’s causing the problem, as you can see from the log, Dreamweaver even points out the error with a ^, and also tells us the path to the offending file.

    Browse to the Camera.h file specified in the log, which you will find in your Documents folder, again as you can see from the log, it’s in a Folder called DW_NAF, the default path is:
    Documents, DW_NAF/PhoneGapLib/Classes/Camera.h

    Double click the Camera.h file to open it with xCode or use a text editor, make the following changes and save the file.

    Change the line that reads “enum DestinationType returnType”, and correct it so it reads as follows, don’t forget the semi-colon;

    Now we can go back to build and emulate and your app will compile successfully.

    If you run into any problems then make sure you have the latest version of Dreamweaver installed, and double check your Camera.h file.

    Copyright © Shane Hogan
    Do not copy this article.

  • App Development – Latest News & Rumours

    All developers will have seen the following email from Apple’s iTunes Connect, which was delivered to our in-boxes yesterday.

    =======================================================
    Required iPhone & iPod touch Screenshot Upgrade for Retina Display

    When you create or update your apps in iTunes Connect, you must upload screenshots that are high-resolution. We require your screenshots as high-resolution images so that your app is optimized for the Retina display.

    The requirements for high-resolution images are 960 x 640, 960 x 600, 640 x 960, or 640 x 920 pixels. Images must be at least 72 dpi, in the RGB color space, and the file must be .jpeg, .jpg, .tif, .tiff, or .png. You can update your screenshot files at any time in iTunes Connect.
    =======================================================

    So what could this mean?

    Well, this is only speculation at the moment but whispers are now circulating that this may be because the new iPad will have it’s own Retina screen, just like the iPhone 4 which doubles the standard res of previous models from 480 x 320 to 960 x 640, so, if the rumours are true, the new iPad will have it’s current resolution of 1024 x 768 doubled to 2048 x 1536.

    Wow, while thats pretty amazing (if true), imagine what an app designed at 480 x 320 will look like, especially at X2, sounds like it’s time to jump back into Photoshop everyone, as this change will definitely force developers to update their app graphics and also have a serious think about which development tool and programming language they use.

    So, if these rumours are true, when will the change take place? again this is just hearsay but, it could be as soon as the iPhone 3G is phased out, which is likely to happen when the iPhone 5 is released, so be prepared to update your app graphics, or at least for now your app screenshots.

    Also in the same email, was the following information, which most of us developers that have actually read the Dev guidelines will already know.

    =======================================================
    New Notification for Binaries Exceeding Cellular Network Download Size Limit

    Admin and Technical users will now be notified if your resulting binary size for the App Store exceeds the cellular network download size limit of 20MB. Exceeding the limit requires your app to be downloaded over Wi-Fi. This information can help you determine if you want to resubmit your binary in order to reduce the size of your app.
    =======================================================

    It looks to me like this is a subliminal message to prepare you for adding upgraded images to your app, as inclusion of HD graphics for the iPhone retina screen may well take your app over the 20MB cellular network limit, in turn reducing the amount of customers you can reach.

    Time to fire up Illustrator, Photoshop, Flash or your preferred weapon of choice and start optimizing your app images.

  • Web App Splash Screen created with Adobe Edge

    The latest update for my app ScaleViz has been approved and I’ve finally had a chance to play with Adobe’s new HTML5 motion and interaction tool called “Edge“, and after playing with it for a little while yesterday I can see why they call it Edge.

    I’ve only really just touched the surface and have already created this cool splash screen and added it to the front page of our test mobile web app, you can find it here if you want to check it out: Test Mobile Web App with Adobe Edge Splash Screen added to first page.

    (Don’t press the animations background (the stage) as I’ve linked it to ScaleViz.com and you will be swift-ed away, you can however drag the animation up and down without activating the link).

    Edge is a seriously awesome development tool, especially if you’re used to timeline animation using similar development tools like, Flash.

    When I get a bit of time I will definitely be doing a screen cast tutorial on how to animate stuff using Adobe Edge, however in the mean time here’s an Edge tutorial from Adobe.

    I can see complete apps being developed with Edge and packaged up for the Apple Store or Android Market place using Dreamweaver and Phone Gap.

    As mentioned I’ve only just scratched the surface and I’m also not one for reading instructions, but if you check out the Edge animation in my test web app, you can see that the animation reverses itself when it gets to the end then plays again, this functionality was added with a few clicks, also if you click the background, it links to my App site ScaleViz.com, again this was added with two clicks and a URL change.

    Edge makes motion graphics available to everybody and because Edge is based on HTML5 and JavaScript your animations can be embedded into your web page and you can now target browsers like Safari with Flash type animation, how cool is that.

    Edge is now called Edge Animate, go check it out here:

  • xCode 4.2.1 targeting an older armv6 device

     The new Mac mini

    Now includes fourth-generation Intel Core processors, With Intel Iris Graphics or Intel HD Graphics 5000.
    High-speed Thunderbolt 2 . It’s mini in size only.

    Now Features OS X Yosemite.

    Being a long time Windows user I’ve been pondering on the idea of getting a Mac for a while now, and considering I’ve been a registered Apple Developer for nearly a year now, I thought it was about time to take the plunge, and I’m so glad I did, after playing around with Mission Control and finding out all the keyboard shortcuts, I thought to myself, I should have got one of these a long time ago, being able to have multiple desktops is an awesome feature and is probably my favourite so far.

    I was also very pleased when I logged into the Mac App Store, which comes pre installed with OS X Lion as I found Garage Band, iPhoto & iMovie, the three Apps from Apple that make up the iLife suite, sitting there waiting for me to accept as a freebie, sweet, thanks Apple.

    xCode4.2.1 is installed along with Cocos2d and I’m looking forward to adding Objective C to my collection of programming languages and getting stuck in to some coding.

    xCode 4.2.1 targeting an older armv6 device

    One problem I came across is that the new xCode (4.2.1), does not support older devices (armv6) out of the box, I have a second Gen 8GB iPod Touch, and when I tried to build directly to my device, xCode would say finished running app on target device but nothing would happen.

    The solution is to add the armv6 architecture to your build settings, by double clicking on standard armv7, clicking the +, then typing in armv6, once you have done this make sure you delete armv7 from the ‘Required device capabilities’.

    I’ve take some screen shots (Cmd-Shft+4 to get a selection, cmd-shft+3 for a full screen screenshot), to show you exactly what to change and where to change it.

    Your app should now compile and run fine on an older arm6 device, if not check your projects deployment target and drop it down to 4.2, and you should be good to go.

    Copyright © Shane Hogan
    Do not copy this article.