Showing posts with label iOS. Show all posts
Showing posts with label iOS. Show all posts

Wednesday, December 4, 2013

From Dev to Release version

...without deleting the app from your device.

Back story:
I do a bunch of testing on all my devices AND I also use (play) live apps on my device(s). In the past I resorted to deleting my test build app and then installing my newly released version, thus loosing all my IAP's and other non-Game Center stats(2).

I've recently started using this method:
Once my new version has been released and is available on the store I take a copy of my current project and reset the version back to the previous one and build for the device. Now I install this version onto my devices. Then either with iTunes (after updating the app) or the App Store on each device, I download and install the updated (released) version. This allows me to install the new updated version without loosing any of my saved data.

Notes:
1: It's worth mentioning that if you install your live (released) version on your device and then you install your new test build with Xcode, your app will not show up in the list of Applications as (I'm spit-balling here) it replaces the production version of your app. The downside is you cannot get at the app bundle via Xcode.
2: All my game have a resync Game Center functionality (I guess just for me).

Wednesday, September 18, 2013

Prevent Older Apps From Installing

The wonderful black-hole that is iOS development, we (as in all Developers) were informed (not by Apple but by a tech blog) that users can install older versions of apps even AFTER you have released an update.

Yeah, me too... I was like WHAT???? Anyhow, just before I got kicked off the Apple Developer forums (seems I was a bit too vocal) several developers confirmed that yes Veronica there are Angels, er wait no.... When you select the checkbox entitled "Are you upgrading for a legal reason" (<- purposely using the OLD text, notice how they have magically updated the text so it is now only 30% unclear of what it means). This will prevent a user on an older, no longer supported version of iOS, say iOS 4.x from instaling on older version of your app.


Really this IS great news for users and crap-tastic for developers. One question immediately comes to mind, though:

1. If we DO NOT check that box (like I have NEVER, because I've never had to update FOR A LEGAL REASON!) but we DO REMOVE an older version in our Game Center compatibility, what does Apple do???


So there you have it, in all it's Apple-vagueness.

Friday, December 21, 2012

Lost and Found

Sorry for the complete lack of posting. It's certainly not because I forgot about the blog, work and life happened... Spent the summer back in SoCal and now we're settled back in sunny (and often rainy) Florida.

Cranked out 5 new apps for the end of this year and they all made in and approved before the December iTunes Connect shutdown.

Just submitted an update to Calorie Count Down (full and lite).

Now.... finally onto our next project and I'm super stoked.... check here: LINK

Monday, March 21, 2011

Too Much Detail - Refinement

So I was using a new app the other day and noticed the developer also used the same code (available to anyone) that we use in Battery Stat Pro albeit with one glaring exception.

This app doesn't set the color to the current value... which quite frankly I find very inconvenient from a user perspective. You launch the app, tap the color block and then touch anywhere and the color changes, always to a color you didn't want ;-).


Examples:

Launches with yellow selected regardless or current selection

(sorry for the odd colors)
Battery Stat Pro (& Battery Stat) launch with your selected color.. er, um... selected


However, maybe I'm the only one to notice or care... it took me less than an hour to code and verify my modifications... perhaps I should have spent that time doing something else...

...perhaps not. ;-)

Saturday, March 19, 2011

Beta Testing Requirements

First of all, thank you for considering to help us beta test our product. Beta testing is an important part of attaining a smooth, stable and polished app so we truly value your contribution. 

Here are some guidelines and expectations to help understand the process.

First some do's and don'ts
DO'S:
DO show the app to your family & friends
DO have fun using the app
DO record as much detail as possible

DON'TS:
DON'T post screenshots or photos
DON'T post any videos of usage

Installation:
You will receive a zip file from us that contains the application (<appname>.ipa) and a provisioning file. Drag both of these items into iTunes and then sync your device. you may have to select the app in the list if it does not automatically install.

General Testing:

Give feedback on the icon and the name of the app
Take note of the emotional response during the 1st usage of the app
Take some time to use the app first and note how quickly you understood it
Please use the app in variety of settings:
* Your natural environment
* Alone and focusing on the product
* In an idle moment (waiting for something)
* With friends
Take note of anything that takes too long (or has you waiting too long) for your taste.
Proceed to technical after using the app naturally a couple or more times.

Technical Testing:

Try to tap on every button, menu and submenu
If a crash occurs, please retrace the actions leading up to the crash
Check for performance issues
Check for sound related issues

General Information:

Usually the app will only run for 7 to 10 days. Three (3) days after your first launch it should ask you to review it. Please test that too. Note: it should open up the App Store to a review page (not the actual app if in pre-release beta).

Have fun with the app and use the in-app e-mail to report your findings, negative and (hopefully) positive feedback, recommendations and reactions. You can also forward the in-app e-mail to your computer to fill it out and then send it to meachwarebeta[at]gmail[dot]com. 

Once again, thank you and we ask for your continued support when we release the final app. Remember to send in your report so we can send out the promo code once the app has been approved.

Saturday, March 12, 2011

[Xcode 4] - Where is my build?

The second in a series of (hopefully) helpful Xcode 4 posts.

I knew right where my "Build" folder was in Xcode 3 and my "Release" or "AppStore" or "Debug" builds were right in there, plain and simple. Now with Xcode 4:


Where the frack are they in Xcode 4???

Fear not, Xcode 4 (default settings) uses a common build or derived data folder.
(1000 words)


I put a shortcut to this folder in my "DevWork" folder for quick and easy access.



That's for this post, by all means if you find something interesting about Xcode 4 or have something you'd like me to cover, just send me an email of the @gmail.com type to meachware or post a comment on one of the Xcode 4 posts.

Happy coding!

Wednesday, March 9, 2011

Get Ready for Xcode 4 and Get Git!

So I'm stepping up and into the 20th(???) century.. :-D yes, I'm finally using an SCM! W00T!

I can't show any Xcode 4 screenshots (yet) since it is still under NDA but I can say that it is flat out super easy to use Git within Xcode 4. I also won't embarrass myself and tell you how I had been managing my projects before Git.

Here's a very quick overview:

1. Download, install and configure Git.
2. Open up Terminal and type "cd " <- include space, now drag your project folder into the Terminal window and press the {Enter} key.
3. Type "git init" and press the {Enter} key.
4. Open your project with Xcode 4.
5. Choose File -> Source Control -> Commit (shortcut: press {Shift}+{CMD}+c) to open the Commit window.
6. Select all your files and be a good Git user and enter "Initial commit" in the comments.
7. Click the Commit button and wait for it to complete.

That's it... you just created your first Git managed project. As you make modifications to your project you'll see a handy "M" on all files that have been modified since your last commit.

Xcode 4 & Xcode 3 Work Fine Together

Edit: Very timely! didn't know Xcode 4 would be released today!

DO NOT INSTALL XCODE 4 in the default location!!!
If you do/did you will/have replaced your Xcode 3 installation.

Edit: sorry for shouting...

Wait, what? you already installed it and now you lost Xcode 3... ARG the humanity!!!! Okay all is not lost, take a quick look at this older post about selecting a different folder for Xcode to install into and run the Xcode installers a second time. I would remove the old folders first.

I am using the following folders:
Xcode 3 (including the new iOS 4.3 GM SDK) installed into -> /Xcode3 (was /Developer) (1)
Xcode 4 (includes the GM 2) installed into -> /Developer (was /Xcode4) (1)

(1) Update: I just switched today with the final releases of both Xcode 3.2.6 and Xcode 4. I want Xcode 4 to be the default so I'm installing it into /Developer. You can install whichever way you want, heck even in /Xcode4 and /Xcode3, that may be the easiest way to keep them separate. Just know that "/Developer" will always be set as the default folder, regardless of the Xcode version.

Install the Xcode's in whatever order you want. To set the "default" version (the one that opens when you double-click a project file), choose get info on a project file from Finder and then browse to and select the Xcode app you want to use and select the Always use this application" checkbox.


The /Xcode4 folder was leftover from the beta installs but there is no reason it won't run just fine in that folder. This allows you to, very quickly create say a nice shiny new cocos2d 0.99.5 or heck even a beta 1.0.0 app with Xcode 3 using the cocos2d templates (that still work in Xcode 3) and then open the project in Xcode 4.

Sweeeeet.... :-]

Monday, March 7, 2011

WWDC 2011 Phase I

Phase I: Hotel booked 
Phase II: WWDC ticket purchased 
Phase III: Flight booked 


WOW, I can't believe I made a hotel reservation for WWDC 11 based on some speculation!

Seems it was a good thing since several of the hotels I checked (including hotel Milano) are fully booked, or at least are not offering any rooms during June 5-9, 2011.

Stay tuned as I'll be posting all related WWDC 11 info I find on this blog.

If you are a first timer, check Jeff's blog post here... very valuable information.

Monday, January 24, 2011

Add Text Files to your Xcode Project

I just started using this technique a few months ago (I know, seasoned developers are probably laughing at me...) but I have since found it to be extremely helpful.

Being a very small Indie iOS developer, I usually have more than one project "in the works" and I will have an idea or I find some really cool sound effect or maybe some new code snipit that I want to use / include in one of my projects. How and where do you track that?

I keep any number of text files in my project that I can quickly reference right from inside Xcode. Here's a very quick "How To"

Step 1
Create your text files using TextEdit (or your favorite editor) and save them in your projects folder (you can even use a sub-folder). In TextEdit just hold {CMD} + {SHIFT} + {T} to switch from RTF to plain text.

Step 2
I create an Xcode group to keep my text files together, it's up to you.




Step 3
Add the file(s) but make to to DE-SELECT your app in the "Add to Targets" checkbox, otherwise you'll get errors about not knowing how to compile a txt file (or something).



Step 4
Revise and update directly inside Xcode.



You can use RTF files too, it's just not as easy to edit the type stuff.


And of course we have a sample project that you can download here.


PS This technique will also work for fonts that you used while making your assets. I learned this the hard way after I reformatted my old iMac and wasted several hours trying to track down a missing font that I used in a PSD file.

Happy Coding

Wednesday, January 19, 2011

Community Game Project

We are participating in a Community game project. We had a delayed start but the project has been underway for almost a week and so far it's very cool. Indeed a great experience, especially for someone that has never developed in a team environment.

You can find out more about the project here:
http://www.iPhoneGameKit.com/community/

Thursday, January 13, 2011

Standing Desk (trial)

Like many other iOS developers, I too find myself sitting way toooo long. My wife and I have matching (sit down) desks in our home office and they are not really conducive to using blocks or reams of paper, in addition, my iMac is nestled nicely under a hutch style bookcase so lifting it up is out of the question.

Dora the Explorer to the rescue! Yes indeed that is my grand daughters Dora tray table complete with side pockets AND... wait for it.... a CUP HOLDER! You betcha!

I'm on day three and its actually going okay, well using my laptop is nice, I'm clearly out of shape since my feet and back are pretty sore.

To confirm pretty much everyone else's findings... I too have found I have more energy...

It's just not complete without a couple of photos, ;-]



In "free-swivel" mode, nice....

PS I do not use salt or pepper in any of my iOS development!

Saturday, December 18, 2010

iOS Icon set Creator

UPDATED HERE: View Post

I was updating the icon for Easy Lander and was annoyed every time I wanted to see the update in the Simulator or on my device because I had to take my new 512x512 icon and resize it, a few times.

<fanboy alert!>
This is why I love using a Mac! - AUTOMATOR to the rescue!
</fanboy alert!>

So here's what the Automator workflow does:
Asks for your 512x512 icon image then duplicates it, scales it and renames it, rinse and repeat until all five (5) icons are created.

Icon@2x.png = 114x114
Icon-72.png = 72x72
Icon-Small@2x.png = 58x58
Icon.png = 57x57
IconSmall-50.png = 50x50
Icon-Small.png = 29x29

The workflow WILL NOT overwrite any existing files so make sure to put your 512 image in its own folder.

1000 words.....

Test folder with 512 icon (can be named whatever you want)

Launch Automator app and click the Run button...
Browse to and select your 512 icon file
This is where the "magic" happens (lol!)

Completed folder with shiny new icons, yeah!


In the zip file is a second Automator "application" named "Create iOS Iconset Droplet". You don't run this application you simply drop your 512 icon onto it and the magic happens... sweet right? I know... :-]

Download link CLICK ME

Monday, October 11, 2010

Thoughts on Older Devices

So, lets put some "truthiness" (full credit to Stephen Colbert) down on paper about decisions, or better yet a "strategy" an indie developer has to make. The strategy I'm referring to is of course around supporting older devices. Well what does that mean? Thanks for asking Virginia, let me share my (recent) thoughts.

Most if not all indie developers need to make money. If you are an indie and this does not apply to you then stop reading now. Okay we got that out of the way, so we can openly admit to any and all that:
  1. We need to make money
Now we need to find out, given our target audience, how much users with a 2 or 3 year old iPod Touch or iPhone actually spend on apps in the App Store. Because that's how much the impact will be if we choose to NOT support older devices. But hang-on, if we can admit all this and move forward, guess what... we can actually develop BETTER apps! Yup, there you go, more "truthiness" for you! :-]

Yes, if we don't have to worry about how our app runs on a 2nd Generation iPod Touch running iOS 4.x or even iOS 3.x then our development environment just got a whole lot smaller and more defined. If we draw the line at multitasking devices only then we double the amount of memory (and openGL texture size) for our apps. This is huge. In addition we can also target openGL ES2 instead of 1.1 and we can streamline our code (e.g. just use blocks instead to having to runtime check for support). Yeah, I see your eyes widening... its okay. You should at least consider it and NOT once you're half-way into your project, I mean right from the start.

So this is what my new strategy might look like:
We will fully support iOS 4.x users with devices that support multitasking, including 3rd generation iPod Touch and newer along with iPhone 3GS and newer devices.
Wow, that felt great... now the decent thing to do is to post this new strategy on your web site.

Friday, October 1, 2010

It's Official!

Supporting multiple iOS versions is a real pain!

The last update for Hyper WARP (iPhone v2.7) has a problem only on iOS 3.x - ARG!! I tested the update several times but failed to test the final build (<- yup I know, what a dummy!). Even after I posted THIS PAGE on our site... double ARG!

Makes me reconsider supporting pre-iOS 4 at all... When we started both iOS 2.x and iOS 3.x were available but almost all of our apps only supported iOS 3.x. Man that kept things very nice for testing, no need for a 2.x test device. Now with a bunch of devices still running iOS 3.x, I've really got to give this some thought.

:-/

Friday, September 17, 2010

Batch Transform (transparent) Images

I used the following to remove the backgrounds from around 32,000 sprites in about 4 hours. My sprites are also now all in English with no spaces (only way I could get the Automator shell script to work).

Requires ImageMagick, an open source command line image processing utility. The easiest way to install it is by using MacPorts.

Phase One (prep all folders)
Pre-process Automator workflow to rename all sub folders from " " to "-" (eg "skel with sword" to "skel-with-sword"). This is required for the entire path all the way to (and including) the .png file, so to make it easy I moved my artwork folder to my desktop. This same workflow is also used to rename all the image files. Now that all the spaces have been removed the shell script inside the final Automator workflow will run without errors (yeah spent about 4 hours on that problem and if someone can get it to work with spaces in the path / file name, please let me know).

Phase Two (prep all sprites)
Using another Automator workflow, renamed all sprites to use English (e.g. Lauft = Running) words. I also used this script to update the base names (e.g. SkelSword, SkelStaff, SkelBow, etc). Note: this is not required at all but I figured while I was at it, might as well make the files easier for me to use.

Phase Three (individual sprite folders)
1: Copy one of the sprite images to the desktop, rename it "background.png" and then open in Pixen and make it a solid color using the existing background. This file is then used by the shell script with ImageMagick to remove itself, i.e. make transparent, against the other image(s).
2: To process we run a third Automator workflow and select all the images to be made transparent (that match background.png). Repeat steps 1 & 2 above for each folder of sprites.
Note: if you skip step 1 because the background looks really close to the previous one, you may end up with 3/4 sprites (I know I did!) and it wasn't worth the few seconds it takes to create the new background.png file.
Speed: On my 2.4GHz iMac it would take less than 2 minutes to process ~600 images. At this point if you have the folder displayed in Finder with preview on, you'll see the new transparent images as they are processed.

Okay now that I'm typing all this out I'm thinking, WTF is wrong with me? But it actually worked very well and fast! Now it is very easy for me to repeat this process and I have re-used these Automator workflows many times.

It was actually very good that I recorded the process while it was still somewhat fresh, in case I ever have the need to repeat the process.

Note: I have included a link to my Automator workflows for anyone that wants to use them. If you do happen to get it to work with files / path names with spaces in them, please let me know. Thanks

Testing Your Game Center Apps

Update: October 6th, 2010 - looks like there are some new Sandbox screens. I'll try and update the images.


So now that you can access Game Center on your (compatible) iOS device running 4.1 (or higher). Testing your own GC apps is now a bit of a snafu.

Here's what I have found: First, you'll need to get your app setup in iTunes Connect (see Apple Docs). You'll need to test a debug or ad-hoc build, I have found both of these builds will work (in case you see it posted elsewhere that you must use a debug only build). 

Once you install your test app on your device;
1. Launch Game Center and tap your email, select "Sign Out" and now close Game Center.
2. Open Settings, tap Store and tap logout (this helped me once and I still do it, not sure if it's required but it certainly won't hurt). 
3. Now launch your test app and sign-in with a sandbox test account OR (better still) create a new account. 
Note: I use a bogus email account since I don't have email addresses hanging around for testing purposes. I will try to grab and post a screen-shot because once you launch the sandbox version of GC you'll notice the new account setup screen is noticeably different.


First Clue: Login to sandbox:




Sandbox Signup:


Production Signup: