Saturday, December 24, 2011

Year End

I'll close out 2011 with this post. Sorry my posting dropped off the latter half of the year, WARP gce was and continues to be a big project but the end is in sight.

I'm very excited to take my concepts and ideas for Legends of Hylore and put them into binary form :-)

If I have some free time I might post some code snipits from WARP gce since from a developer stand point it is packed with features (many unseen by the player), including my most recent, a blacklist function.

Happy Holidays!

Sunday, November 27, 2011

iTunes Reviewers

[WARNING: RANT] <- totally non-helpful post

This is a general rant and not targeted at any one specific iTunes reviewer; HOWEVER, the old saying "if the shoe fits" does apply.

I'm getting pretty tired of reading all the whining and bitching from reviewers and not just on my apps; they are everywhere. In addition, nearly ALL the bitching (at least with my apps) is about a feature that the description CLEARLY STATES: DOES NOT EXIST, but hey who the heck reads those things, anyways...

First and foremost: if we just gave everything away for free, how the #%$#%$^$% would we support ourselves; I mean come on. YOU drove us to this "freemium" app model; suck it up and deal with it or start BUYING apps for more than a frakin' buck! (1)

Oh and while I'm at it; hey Dark Nova devs/fanboys; let's take the high road and quit leaving whiny bitching, waa-waa reviews on my Hyper WARP apps. Remember none of the Hyper WARP apps would exist if your app didn't suck soooo bad, okay? AND Dark Nova would STILL suck but they have updated and now use my Hyper WARP code... so it sucks less (of course it's still not the same caliber as any of the Hyper WARP's). Thanks :-)

(1) To clarify: Hyper WARP and Hyper WARP HD, will NEVER be reduced to $0.99, or $1.99 for that matter and are usually priced at either $3.99 or $2.99. They both have a Lite version for free, try it out and if you like it, buy it, if not thanks for trying it. :-)

Sunday, November 13, 2011

iOS 5 - Settings Quick Launch

Notice: Seems iOS 5.1b1 has disabled the "prefs" URL
Preference Shortcuts
(Live links for your iOS device)
Aboutprefs:root=General&path=About
Accessibilityprefs:root=General&path=ACCESSIBILITY
Airplane Mode Onprefs:root=AIRPLANE_MODE
Auto-Lockprefs:root=General&path=AUTOLOCK
Brightnessprefs:root=Brightness
Bluetoothprefs:root=General&path=Bluetooth
Date & Timeprefs:root=General&path=DATE_AND_TIME
FaceTimeprefs:root=FACETIME
Generalprefs:root=General
Keyboardprefs:root=General&path=Keyboard
iCloudprefs:root=CASTLE
iCloud Storage & Backupprefs:root=CASTLE&path=STORAGE_AND_BACKUP
Internationalprefs:root=General&path=INTERNATIONAL
Location Servicesprefs:root=LOCATION_SERVICES
Musicprefs:root=MUSIC
Music  Equalizerprefs:root=MUSIC&path=EQ
Music Volume Limitprefs:root=MUSIC&path=VolumeLimit
Networkprefs:root=General&path=Network
Nike + iPodprefs:root=NIKE_PLUS_IPOD
Notesprefs:root=NOTES
Notificationprefs:root=NOTIFICATIONS_ID
Phoneprefs:root=Phone
Photosprefs:root=Photos
Profileprefs:root=General&path=ManagedConfigurationList
Resetprefs:root=General&path=Reset
Safariprefs:root=Safari
Siriprefs:root=General&path=Assistant
Soundsprefs:root=Sounds
Software Updateprefs:root=General&path=SOFTWARE_UPDATE_LINK
Storeprefs:root=STORE
Twitterprefs:root=TWITTER
Usageprefs:root=General&path=USAGE
VPNprefs:root=General&path=Network/VPN
Wallpaperprefs:root=Wallpaper
Wi-Fiprefs:root=WIFI

Wednesday, November 2, 2011

[Epic Fail] Search for Open Source RPG

So, search google.code or git or wherever and you will find:
lots and lots of good intentions and well wishing but I've yet to find one that is viable or even modifiable for iOS development (except the Arianne engine)

So with that said... I'm going to develop a Cocos2d based RPG engine(1), it will NOT be open source. You will however be able to purchase a license to develop your own RPG games.

More information and I'll be updating the LoH (Legends of Hylore) web site.

(1)Engine: will have the ability to read plists and provide actions based on configuration data.

Thursday, October 6, 2011

[10.7] Lion - Enable dragging

So I'm about to switch over to a new (okay, used) 17" MacBook Pro and after I upgraded to Lion on my iMac I had to hack-enable "dragging" on my Magic-Pad. But my hack didn't work on the MacBook Pro. :-/

Define Dragging: on a trackpad, tap and then move your finger to "drag" the item you tapped on (so tap and hold, slide).

After several searches, thinking my google-fu must be slipping I found it!

It's as simple as opening System Preferences, go to Universal Access » Mouse & Trackpad » Trackpad Options and enable 'Dragging (with/without) Drag Lock' (the second checkbox) to restore the old behavior. 




I am sooo happy to have found this because the few days it wasn't working on my iMac enflamed my carpal tunnel, a lot.

No back to mourning the loss of Steve Jobs... :-(

Tuesday, September 20, 2011

[iOS5] GM build Friday September 23

Just my prediction... since the iCloud reset is on Thursday... but I'm actually hoping for beta 8! Need to iron out some turn-based wrinkles.

Edit: pretty much an epic fail!
:-)

Wednesday, August 31, 2011

Nothing new...

Sorry for the lack of information; pretty much been waist deep in Turn-based gaming (iOS 5). I wish I could write more but since its still under NDA... and I care about my developer status ;-)

Tuesday, July 26, 2011

Install Xcode 3 on Lion

I'm not going to post anything but this link:

http://anatomicwax.tumblr.com/post/8064949186/installing-xcode-3-2-6-on-lion-redux

:-)

I needed this because I still use Property List Editor to edit and save binary plist and strings files. If anyone knows how to do this with Xcode 4, please let me know.

NOTICE: I tried to open my .strings file AFTER I opened and saved it in Xcode 4 and it was corrupt! YIKES!, fortunately I made a copy before and was able to open that file. So initially there is a problem with binary plists (a strings file is just a plist) inside Xcode 4.1 on Lion. The Xcode 3 Property List Editor can read / write plain (text) plists and binary format.

Thanks

Monday, July 25, 2011

10.7 and iOS Production Environment

Well over the weekend I made the switch to 10.7 Lion. I performed a clean install, mostly because my 10.6 had more crap installed than I care to admit. About the only thing I may miss is MacPorts / ImageMagik.

I checked several blogs and noticed the trend was posting how to make Lion like 10.6 SL.... ????

Yeah, guess we're a bit afraid of change, aren't we.. ?

So far I'm all set after just a couple of days; YES I can scroll backwards, er I mean natural scrolling ;-)

Just one thing that is going to give me Carpal Tunnel and that is with my MagicPad I used to be able to tap-tap and drag to select text or drag an item in Finder. Yeah, that's gone, so now about all I can do as a replacement is to enable three-finger drag... um yeah I'm not sure how long before that feels natural... I look like someone with, oops sorry, need to be politcally correct. We'll leave it at it sure feels awkward.

My iMac is now one revision old, a 3.06GHz 21.5" model and it wails with 10.7 installed but I'm a firm believer in clean installs. :-)

So I've been mostly working today and I'm nearly used to the new scrolling method and am in the process of build and testing with Xcode v4.1 (love the new analyzer!). I hope to submit YAU (yet another update) after v1.2.2 gets approved (WARP gce) so I'll post any problems. Just remember to deselect the System Tools on your Beta Xcode installs and you should be golden. Oh yeah... made a trip to Terminal to "mkdir /Beta" since the Xcode installer wouldn't let me create a new root folder, eh?

Friday, July 22, 2011

Know Success Even When it Slaps You in the Face!

AKA: Hyper WARP gce Development Report

Hyper WARP gce was developed because:
1: I love Space Trading games
2: I needed to get a handle on a full Game Center integration
3. I needed to get a handle on adding consumable IAP's in an app

While I did not write this down, (which I think all your goals should be written down) I loosely defined success for the project as 500 Game Center players within 30-days. Yeah I realize Tiny Tower has, what, 1.2 million! I like to keep my goals attainable and realistic! ;-) I also looked at a bunch of other indie Game Center games and was surprised by the low number of players.

Sorry, I digress. I kept track each day the number of Game Center players and we broke the 500 mark 20 days in and after 31 days we had 701 players. Now these weren't all active players, but they did play and report scores. For completeness it is day 34 and we have 742 total Game Center players (4200+ total downloads).

Just think if I had spent more than $0.00 on marketing... ;-)

 - SUCCESS! -

In addition, we now have a "tiny", in relative App Store numbers, group of core players, that even while the current version of the app crashes, in multiple areas (yeah, epic failure on my part!), they LOVE PLAYING IT. They have also provided GREAT FEEDBACK (thanks guys and girls!)

Note: Some of the crashes only come after playing the game for like 90 minutes (to clarify that's 90 minutes without a pause!) <- pretty sure that's another type of success!

Take Aways:
1. Game Center support is an absolute MUST HAVE for your game
2. If YOU don't LOVE playing your game, why would anyone else?
3. Leverage the work done and shared by others (don't reinvent the button!)
4. If you give something away if you app crashes, plan on it crashing ;-)
5. Quick turn around (start then finish in a few turns) games are very popular. It was 5-days before submission before we added the 3 Jump Challenge (most popular, of course it's first game mode), prior the shortest game play was 5 Jumps.
6. You can have a successful app while NOT supporting older devices (um yeah, if your device doesn't multi-task, sorry, no WARP gce for you).

In the Credits we list all the shared code used but I'd be remiss in not thanking TWO projects that were critical in the development of WARP gce.
1. ASTStoreKit : by Anystone Technologies
2. GameKitHelper: by Steffen Itterheim

Don't be afraid to push the envelope; Hyper WARP gce has what I believe are some app store "firsts":
* In App Consumables can be transferred to any other iOS device (buy a 10-pack then send 5 to another device)
* An Achievements leaderboard. With 40 achievements we wanted to hook as many "types" of players and this way you can compete at the achievement level and see how well other players are doing.
* First "good" Space trader game in Game Center ;-)

WAIT - you don't know what Hyper WARP gce is? So you haven't played it yet? Come on, it's FREE, give it a try. App Store Link.

Monday, July 11, 2011

CrashCatcher

Available on GitHub:
http://github.com/meachware/CrashCatcher

Ever wish you could apologize to your user after your app crashed? Me too.

Please note this is designed for MULTI-TASKING DEVICES ONLY!

Enter CrashCatcher, no it does nothing to prevent or "catch" crashes or errors in your app; I'll leave that up to you. What it does is simply logs that the app started up and logs that the app did resign properly.

When it doesn't resign properly, well that's a crash.

Check it out on GitHub, includes working demo.

Sunday, July 10, 2011

Come on guys!

[Rant]
For the love of god! Fellow developers:
1: if you support rotation in you app, for christs sake, rotate it and test it!
2: if you use networks services, test your app on cellular AND an EDGE connection! <- especially if you are trying to show me your wares!
3: if you offer a universal app, make sure it functions properly on a real iPad!
[End of rant]

Okay, I know I feel better, how about you?
:-/

Saturday, July 9, 2011

Show Developer Notices

So while we are deep in the forest, putting out fires, inspecting the underbrush... sometimes... I know just every so often, um, we forget to "undo" our developer hacks / changes.

I now call this method from applicationDidBecomeActive ... to help :-)

In a common header file I have:

#define kAllowCheats                    1   // 1 on, 0 off

In my game manager I have this:
-(void)checkDevSettings
{
    // Developer notices
    if (getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled")) {
        NSLog(@"NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!");
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Developer Notice"
                                                        message:@"NSZombieEnabled is ON!\n* * *\nDisable BEFORE submitting!"
                                                       delegate:nil 
                                              cancelButtonTitle:@"Okay" 
                                              otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
    if (kAllowCheats) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Developer Notice"
                                                        message:@"kAllowCheats is ON!\n* * *\nDisable BEFORE submitting!"
                                                       delegate:nil 
                                              cancelButtonTitle:@"Okay" 
                                              otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
}


This first one I almost submitted an app, the second one; yup went live with my developer / cheat codes active. That wasn't a game center game so it wasn't a real problem but with all the hacking in Game Center games I suppose it could cause you extra work.

Tuesday, July 5, 2011

[iOS5] WiFi Sync Notice

Quick troubleshooting tip

Scenario: You have the iTunes beta install and are testing iOS 5, so you think "Hey let's try this WiFi sync out". Seems to work okay, cool. Except now your Xcode 4.0.2 goes bullsh!t and freezes up every three minutes!

Solution: Disable WiFi sync on ALL iOS 5 devices. :-(

Detail: With Xcode 4.0.2 all of a sudden my iOS 5 iPhone 4 would show up in organizer. Erm, yeah that's never good, it doesn't know what to do with a WiFi connection!

"Goodbye beach ball"
:-)

Sunday, July 3, 2011

[iOS5] Saved Files Alert!

Game, utility or whatever app you are developing. Know this... as of iOS 5; the USER will have full visibility into your apps Document folder. <- as of beta 2

I have already started saving my apps data to the /Library folder but in my recent game WARP gce, the "save" files are still in /Documents.

So on your iOS 5 test device go to Settings -> General -> Usage and select an app
We're are still under NDA so these images may go away.
Here's a couple of screenshots


Now let's swipe to delete - YIKES!

Now even in Hyper WARP I have a method to check that the file "is there" before it tries to load it but if you don't, well only YOU know what will happen ;-)

Oh and in the new multi-tasking order of things... you guessed it... you can of course DELETE these files WHILE your app is in the background, which again; only YOU know what problems that will cause.

What can we do / what should we do?
I think giving the user control over the device is certainly the right move and we as developers have always been able to choose which folder to save our files to. From all that I have seen and read the "/Library" folder is "our" folder and the normal user, even with iOS 5 will never "see" in there. So that is where all my "app" files are stored and starting with version 2.0 of WARP gce; so will the saved game files.

Finally time for another code snippet!

Here is my "move" method I'm using in WARP gce
Notations:
playerDefaults is a pointer to [NSUserDefaults standardDefaults]
kDidMoveSavedFiles is a #define macro

-(void) moveSavedFilesToLibrary 
{
    // only run once kDidMoveSavedFiles
    if ([playerDefaults integerForKey:kDidMoveSavedFiles] < 1) {
        
        // documents folder
        NSArray *docFilePath = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); 
        NSString *documentsDirectory = [docFilePath objectAtIndex: 0];
        
        // library folder
        NSArray *libFilePath = NSSearchPathForDirectoriesInDomains (NSLibraryDirectory, NSUserDomainMask, YES); 
        NSString *libraryDirectory = [libFilePath objectAtIndex: 0];
        
        // file manager
        NSError *error;
        NSFileManager *fileManager = [NSFileManager defaultManager];
        NSDirectoryEnumerator *direnum = [fileManager enumeratorAtPath:documentsDirectory];
        
        // while variables
        NSString *pname;
        int fileNum = 1;         // my saved game files start with 1.save, next would be 2.save
        int scoreNum = 0;        // my saved high-score files start with 0.scores for type 0 games, 1.scores for type 1 games, etc
        
        while ((pname = [direnum nextObject])) {
            // remove any .txt file <- you perhaps don't want to do this, I did :-)
            if ([[pname pathExtension] isEqualToString:@"txt"]) {
                [fileManager removeItemAtPath:[NSString stringWithFormat:@"%@/%@",documentsDirectory,pname] error:&error];
            }
            if ([[pname pathExtension] isEqualToString:@"scores"]) {
                NSString *orgFileName = [NSString stringWithFormat:@"%@/%i.scores", documentsDirectory, scoreNum];
                NSString *newFileName = [NSString stringWithFormat:@"%@/%i.scores", libraryDirectory, scoreNum];
                // move file from Documents to Library
                [fileManager moveItemAtPath:orgFileName toPath:newFileName error:&error];
                
                ++scoreNum;
            }
            if ([[pname pathExtension] isEqualToString:@"save"]) {
                NSString *orgFileName = [NSString stringWithFormat:@"%@/%i.save", documentsDirectory, fileNum];
                NSString *newFileName = [NSString stringWithFormat:@"%@/%i.save", libraryDirectory, fileNum];
                // move file from Documents to Library
                [fileManager moveItemAtPath:orgFileName toPath:newFileName error:&error];
                // check for matching log file
                NSString *orgLogName = [NSString stringWithFormat:@"%@/log%i.log", documentsDirectory, fileNum];
                if ([fileManager fileExistsAtPath:orgLogName]) {
                    NSString *newLogName = [NSString stringWithFormat:@"%@/log%i.log", libraryDirectory, fileNum];
                    [fileManager moveItemAtPath:orgLogName toPath:newLogName error:&error];
                }
                
                ++fileNum;
            }
        }
        // now update NSUserDefaults so this will never run again!
        [playerDefaults setInteger:2 forKey:kDidMoveSavedFiles];
    }    
}

Update: I'm working on adding analytics and guess what shows up...


Which of course is NOT a problem because those of you that are already using Google Analytics of course complied with the terms and notified your users... right?

Sunday, June 12, 2011

[iOS5] Caution!

I had Xcode 4.0.2 installed in /Developer and Xcode 4.2 (beta) installed in /Beta. I could work and run both just fine.

I had to submit an update to an existing app (WARP gce was approved!). When I built to test the app on my device Xcode 4.0.2 gave me a signing error, something about the code_wrapper. So I tried just re-installing Xcode 4.0.2 and the error was fixed (most likely because Xcode 4.0.2 wrote-over whatever tools the beta installed). I did not try and run the beta, as I was still focused on getting the update submitted. So, archived and then submitted to the store and Xcode reported a confirmation but a few minutes later the App Store rejected the binary. Here is the verbiage:
Invalid Signature - Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target.

In addition if you thought you'd like to try and check out iCloud and updated your profiles, you cannot submit to the store. Remove the enable for iCloud setting and update your profiles to fix. Here is the error I got back for that error:
Invalid Code Signing Entitlements - Your application bundle's signature contains ubiquity code signing entitlements that are not supported.
Specifically, value "( xxxxxxxxxx.* )" for key "com.apple.developer.ubiquity-container-identifiers" in is not supported.

So in summary: you can run both copies of Xcode on your Mac but if you need to submit to the store you may need to remove the beta and reinstall 4.0.2.

If I find anything more about this I will update this post. There are a few discussions on the Dev forums I'm watching and participating in.
:-)

Monday, June 6, 2011

iOS 5.0 Pre-Keynote

Well we should get the beta for iOS 5.0 today. Here's what I think:

iOS 5.0 will install on an iPod 4th gen or iPhone or iPad. So yeah it will exclude the 3rd gen iPod and iPhone 3GS.

This will cause the usual "I'm not going to developer for iOS anymore" blog posts and developers will take their ball and go (home) to Android.

However, iOS 5.0 will have such a compelling feature set that most developers (me included) will embrace it full on.

Can't wait for 10:30 or 11:00 AM to roll around.

PS DO NOT INSTALL iOS 5.0 beta on your main device unless you can deal with poor battery life and flaky performance! Let the "How do I remove iOS 5" posts begin.

Post-Keynote update: Nearly an epic fail since iOS 5.0 will install on ALL iOS 4.3 devices.

Friday, June 3, 2011

Speed up Xcode 4

Love it or hate it... Xcode 4 is here to stay...

Browsing the Apple forums I happened upon a post with the most excellent comment from crisB regarding speeding up Xcode 4.

My Xcode 4 was PAINFULLY slow...

Basically you need to remove the workspace file from the contents of your project.

Here's a before and after shot. My project's file was 50MB's and my Xcode 4 was running EXTREMELY slooooooow; I would have the spinning beach ball for several MINUTES!!





So this Automator workflow / droplet basically deletes the "project.xcworkspace" from the file you select or drop.

DOWNLOAD HERE

Enjoy...

PS What the heck happened to May!!!

Saturday, April 23, 2011

MeachWare Intern Positions

We have two intern positions available. Please see this post and stay tuned for the job posting ads.

Update: Added both job descriptions.


Links to PDF's here:

Thanks
Greg

Friday, April 15, 2011

iOS 4.3.2 Download links

[Direct Links] Download iOS 4.3.2 for iPhone, iPad and iPod Touch


Oh and of course we have another 4.6GB download for Xcode... wow! you'd think Apple could implement a "sparkle" type incremental update but since we can't do it with iOS apps guess they want to punish all of us! <shakes head and is thankful Cox Internet has very good 1.2+ MB/Sec download rate>

Monday, March 28, 2011

WWDC 2011 June 6-10


It's official, WWDC 2011 will be held on June 6th through the 10th.... and it's SOLD OUT!




but now I don't think I'm going... :-(


WWDC09: Sold out in 28+ Days
WWDC10: Sold out in 8 Days
WWDC11: Sold out in < 1 Day
WWDC12: 42 minutes???


Jeff's got his blog updated, if you are going make sure you check this out... do it NOW!!!

Friday, March 25, 2011

iOS 4.3.1 Download links


[Direct Links] Download iOS 4.3.1 for iPhone, iPad and iPod Touch

Looking for the Verizon iOS 4.3.1 update? me too!

Oh and of course we have another 4.3GB download for Xcode... wow! you'd think Apple could implement a "sparkle" type incremental update but since we can't do it with iOS apps guess they want to punish all of us! <shakes head and is thankful Cox Internet has very good 1.2+ MB/Sec download rate>

Wednesday, March 23, 2011

Back to life

I missed this somewhere... sorry but Mobile Orchard is back on-line. Last I knew Dan was "taking his ball and going home".... guess he had a change of heart (or pocketbook). Note: I can't locate Dan's blog post as it has disappeared, I guess you can take back what you say on the interweb ;-)

Miss Mobile Orchard? We’re back!

Regardless, it was a great resource and should continue to be, if you've not checked them out by all means do:

http://mobileorchard.com/

Tuesday, March 22, 2011

App Store Top 100

WOW, this pretty much sums up how I feel about the "mechanics" of the App Store ranking... why oh why did this app make it to #1???



Nuff said...

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.

Wednesday, March 2, 2011

Honesty - generally the best policy!

I recently updated Qwik Text and thought I would try and add a user requested feature. Okay, I know this doesn't sound very impressive... except that the feature was a "quit" function and we know Apple generally doesn't like that.



Anyhow I updated Qwik Text, added the new quick launch option to quit app, tested it and then submitted it to the store. Well, 6 days later and it has been approved.

Here is the comment that I included with the update:
Hi - I am not trying to sneak anything past your guys (gals). Many users have emailed me asking for the "Quit App" function to be added as an option. I know that this is not what a "regular" app should do but I'm hoping that you'll see the added benefit to this app since it is a productivity app and this will save the user time. 

Please contact me if you have any questions. 
Thanks 
Greg
So... honesty does indeed pay... and I MUST give a shout-out to the App Review Team, THANKS!!!

:-]