Archive for January, 2012

No! under review. My daughter is back to excited again.

Tuesday, January 31st, 2012

After a rejection from Apple for “being a useless app”, we decided to add a little more to it.  Having it record your question as you press the button and when you release, it will randomly give you a no response.

Will it be enough?  Let’s hope so!

No! icon

No! App thought up by my 9 yr old daughter.

Technorati Tags: apple, appstore, ios, iphone

No! back up for review… Minimally improved.

Friday, January 27th, 2012

So Apple didn’t like my 9 yr old’s idea.  So they asked us to make it “more useful”.  So we decided, to have it record your question, and it will simply reply your question back to you and follow it up with a no statement.

Let’s see how incremental we can go.

Technorati Tags: appstore, development, iphone, iPhone Apps, iPhone source objective-c, No! for iPhone

Delegates are mah mah mah (adult Peanut character sound)

Sunday, January 22nd, 2012

When I started objective-c, coming from VB.net and C#, I couldn’t wrap my pea brain around delegates based on the information I found.

Wikipedia says:

In software engineering, the delegation pattern is a design pattern in object-oriented programming where an object, instead of performing one of its stated tasks, delegates that task to an associated helper object. There is an Inversion of Responsibility in which a helper object, known as a delegate, is given the responsibility to execute a task for the delegator. The delegation pattern is one of the fundamental abstraction patterns that underlie other software patterns such as composition (also referred to as aggregation), mixins and aspects.

YAWN. Could they make that description more verbose and boring?? Geez. No wonder people run screaming from development. It’s like a secret society of making things SO utterly boring and overly complex they chase away otherwise capable people.

Here is my own definition.

Erick says:

A delegate is when you give one class another class’ events.

Makes more sense to me.

So as an example; in iOS development, you want to have a UIViewController and you give it a UIActionSheetDelegate to it. You are just saying: “Hey, even though this guy is just a view, I want it to also have respond to UIAlert stuff.”

In your .h file, you tell it “I want this guy to respond to UIAction stuff…”

@interface MyHotViewController : UIViewController {
}

And in the .m file, you can put in the UIActionsheets event without XCode having an absolute conniption…
m.
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex==0){
//do your sweet action here
}
}

At least that’s how I understand it. Educate me if I’ve made this too simple.

My In-App Purchasing War Story

Wednesday, January 18th, 2012

Note: I haven’t actually had any of my apps approved in the AppStore that has In-App purchasing built in but I do have a couple in development. I do have 60+ apps in the appstore though.

Firstly, I’m the type of person in the development world who likes to jump into the water before dipping my toe in. It’s a crude method of self training but it’s served me well. I freely admit I don’t have formal training in the theories of memory management or agile development. I just like to code and see my work out there. If I get trashed for it, then by all means, call me out and educate me… I may learn something new which is my goal.

In-App purchasing sucks to develop for. I thought Push notifications was crappy but then I wanted to throw this feature into an app and boy oh boy does Apple suck at getting logical tutorials out there for the layperson (lay-developer?) like myself.

First, ground rules to getting In-App purchasing to work, at least in a test world.

-No jailbreak on your test device.
I know, I know…I hate that too but it’s 100% necessary.  I like to have sbSettings and tether working for me too but if you want to have a working test device for in-app purchasing, suck it up, buttercup.

-Full bundle id for your app.
None of that mamby-pamby wildcard bundles like com.company.*  Needs to be com.company.super-hella-sweet-app-yo

-Your product IDs in iTunes Connect In-App area can be the full bundle id or not.
I see a bunch of tutorials saying “you HAVE to have the full bundle id, com.company.super-hella-sweet-app-yo.product1″  but i have found that it’s up to you.  It can be anything. Short, long, medium.  It’s hooked to your app’s bundle Id anyways so it doesn’t matter (at least in my testing).

-Log out of your iTunes on your phone.
Settings > Store > scroll to the bottom > Touch your UserID and then hit “Sign Out”

-Find a good wrapper for StoreKit.
I found MKStoreKit.

-Think ahead.
When you are writing something that will use In-App purchasing, you REALLY need to have a good plan on how you want to implement.  How to restore purchases if they have already bought something but reinstalled the app.  How to disable something if they haven’t purchased, NSDefaults for example.

Now the first thing I wanted to do was to create a view that would show purchasable items.  Doing this does two things.  First, shows a list of items a person can buy and two, validate a purchase is available from the technical side.  If you show a view of products you get from the store and it’s blank, hard coding the buy won’t work either so there’s really no sense in trying it.

Plus, it allows for you to administrate the available products from iTunes connect rather than doing a version update with different hard coded products.  And its REALLY hacky… coming from me, that’s saying a lot.

To follow a nice tutorial based on MKStorekit, go here.  He gives you all the basics walk-throughs that I’m too lazy to give you.

What hacks hate to see

Sunday, January 15th, 2012

Nobody likes to wake up to this.

Worst thing to see

Technorati Tags: apple, appstore, development, iphone

Free source code!

Saturday, January 14th, 2012

Everyone loves free stuff. So here’s my contribution…


- (void)viewDidLoad
{
[super viewDidLoad];
}

I don’t have this on github yet but you can use it free of charge. Just put my credit in your code.

Enjoy!

Technorati Tags: iPhone source objective-c

Advanced iOS Networking

Saturday, January 14th, 2012

I’m sort of a hack in terms of iOS development (ok…any development) but I am dangerous enough.  In fact, im dangerous enough to make a very poorly written app using terrible libraries or my own leaky memory management.

Well, Magunth Kumar has made a very nice networking library that handles a whole bunch of nifty helpers and features that will increase speed of your application and your development.

Notable features:
Caching – Will automagically cache your requests.  All behind the scenes.
Authentication – Basic, digest or some custom method is there.  Really easy to use too.
Freezable – You can mark something “freezable” which will put your operations on ice until you have a network connection again.

Check it out

Pretty cool stuff.  Might put it in iSoccer Live to speed up things and remove that UGLY caching code I’m currently using.

Technorati Tags: iphone, network, objective-c

No! rejected by Apple. 9 yr old girl crushed and her dreams of future apple development destroyed.

Saturday, January 14th, 2012

So apple took the candy from my baby. My 9 yr old came up with a cute little idea she got from walking through a toy store. It is a simple little toy app that has a big red NO button and when you press it, says “No” in random ways. Actually, MORE useful than that toy as it had only one way to say no.

Anyways, after we worked together on design and implementation, we released for Apple’s review. Her anticipation was building each day as she kept asking if Apple has approved it.

Her excitement was due to her mother and I’s little lesson on revenue streams and percentages. Showing her Apple takes 30%, I get the 70% and then after than, she would see a percentage based on sales. She dreamed of caviar and hedgehogs (she loves hedgehogs).

Well, Apple dropped a turd in the punch bowl on the 3rd day in review (speedy for Apple standards) and I had to read my little girl that rejection letter by email. Telling her that her app was pointless and didn’t live up to the “standards” of the Apple AsppStore. Such glorious Apple approved apps like “Fart Sounds” or anything on this list.

Good Job Apple! You crushed my daughter.

Technorati Tags: featured

No! for iPhone up for review.

Monday, January 9th, 2012

Ok, this is a special app.  Lauren, my daughter wanted to make some side cash so I agreed to help her in making an app for the iPhone.  I told her to think of an idea and we would work together to make it.

She came up with No!

This is a simple app that will randomly say no in different ways. Lauren will get a certain portion of the proceeds.  This will teach her a little about being a business person.  Help her out when this get approved by Apple!

No! Screenshot

Technorati Tags: iPhone Apps, No! for iPhone

Page optimized by WP Minify WordPress Plugin