Waitin on Apple

March 18th, 2009

Well, here we are – over a week in the review process (8+ days) and so far I finally have the approval emails for gCalWall and gCalWall Lite version 1.2 but they haven’t shown up on the store. Heck gCalWall still shows “in review” even though it’s been approved.

This is bugging me.

brandon iPhone ,

Building an iPhone App Without Interface Builder

February 25th, 2009


Building iPhone Applications without Interface Builder from Troy Mcilvena on Vimeo

Adding this one for my own future reference. The important things to note was really how to remove the references to the NIB files when first building the project.

In the Resouces like locate the info.plist file and right click then go to source view and delete:

key - NSMainNibFile
string - MainWindow

While you’re in he resources list also delete the mainWindow.xib file. Finally open “Other Sources” main.m and you’re going to edit this line:

int retVal = UIApplicationMain(argc, argv, nil, nil);

and make it look like this:

    int retVal = UIApplicationMain(argc, argv, nil, @"Your_App_Delegate_Class");

That pretty well sums up the key points. There’s some good information about UIWindow and UIView in the video as well if you’re not familiar with building your base view without IB. gCalWall was built largely without using Interface Builder at all so I was pretty familiar with most of it.

brandon Coding

Excellent iPhone Email App Tutorial

February 25th, 2009


iphone programming from Joe on Vimeo

Definitely worth the time to watch. Make sure you click on through and say thanks to Joe!

brandon Coding ,

My First iPhone App – gCalWall – just got approved!

February 22nd, 2009

gCalWall

My first iPhone app just got approved for sale in the AppStore! I’m frickin excited! Talk about a long process though. Longer for me than many others I’m sure because it took a lot of reading and a lot of learning, but I got it done so the goal has been achieved.

More important than just the app, I guess this validates for me that you can teach an old dog new tricks… a couple months ago the closest I’d come to programming in many, many years was some simple VBScript stuff, and the minor bit of PHP/HTML I have to maintain at JAMM. So, naturally I need to send a HUGE thanks out to all the folks who have taken the time to write tutorials for beginners, the folks who’ve written the books (specifically Erica Sadun, Dave Mark/Jeff LaMarche), and everyone whose taken time to reply to noob questions on forums. There’s a serious wealth of information out there for a beginning programmer and its all come to life in a matter of months – so THANKS!

Alright, almost done with my shameless plug. I’m really looking forward to sharing this experience with everybody as its been very exciting, from the learning a whole new language, thinking through how things should work, writing the code, troubleshooting and beta testing… There’s a ton of stuff to cover so keep an eye on the site as I’ll be covering a lot of that stuff very soon.

gCalWall goes on sale on Wednesday the 25th (I’ll post a link when it goes up) … but for now here’s some more information on the app! I’ll be posting a video demo of the app on Wednesday (on that page) as well so you can see how it works. Alright … I’m off to go do a happy dance!

onAppStore.png

brandon iPhone ,

QuickLook Video – HP Mini Mi and TouchPad Elite

February 19th, 2009

I’m going to let this video speak for itself for the most part. I plan on going over the interface you see for the HP Mini Mi in a video sometime over the next few days, so keep an eye out for that, but for now here’s a couple links:

  • HP Mini Mi – Link to HP
  • Touchpad Elite – iTunes Link
  • brandon General , ,

    Making my 4th call to AT&T

    January 24th, 2009

    image1005176317.jpgSo last night my daughter goes to make a phonecall. Note she’s standing right on front of me when she does this – and she opens the phone just like anyone else would with a Razr (the little thumb flick open thing they do) and the phone litterally snaps off at the hinge.

    So now I’m calling AT&T for the 4th time.

    1st time I got hung up on. Why? Because I told the lady I did not want to be transferred to insurance as the phone was not dropped and this was not an insurance issue.

    2nd call dropped. Shocker.

    3rd call – 20 minutes long and the final person said their systems were updating and they would call me back in 30 minutes. It’s been an hour.

    4th call coming up.

    Business Customer Service is not fairing well today.

    4Th Outcome:

    On the 4th call to AT&Tfor warranty support – 3rd transfer during this call
    Correction – Now my 4th transfer to try and get a warranty replacement. Phone is basically new http://is.gd/h4H0
    Another transfer … this time to Motorola because AT&T is saying its not covered under warranty because its physically broken.
    Motorola says they won’t do anything but have me send the phone to them to determine if they will fix it under warranty. $75 if they won’t.
    No joy. Phone is broken due to MFG. defect. Nobody (AT&Tor Motorola) is willing to send a replacement. AT&T says send it to Moto. and hope.

    brandon General

    NSCFArray append string errors, distinct Objective-C types

    January 22nd, 2009

    Picture 1.png

    Ran into some weirdness earlier which was absolutely killing me. I’m building a project using SQLite Persistent Objects, and this:

    NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
    	dict = [Commands sortedFieldValuesWithKeysForProperty:@"commandname"];
    	self.keyLookup = [dict mutableDeepCopy];
    
    	NSMutableArray *array = [[NSMutableArray alloc] init];
    	array = [[[self.keyLookup allValues] sortedArrayUsingSelector:@selector(compare:)] retain];

    was throwing an error about assigning the values from a distinct Objective-C type. I was able to fake my way around it in another viewController I had a similar issue with, but this time it was a show stopper because when I tried to work with the resulting array later (by adding/removing some stuff from it) I would get another error:

    exception: *** -[NSCFArray addObject:]: mutating method sent to immutable object

    Well, I was pretty dammed sure I hadn’t asked for my array to be immutable, but I’m guessing somewhere in the code for the persistent object (which I’ll be checking into) there’s a copy happening (or something similar) and its turning the returned data into an NSCFArray. To fix it… I needed to make it a mutable array again:

    if (self.commandArray != array){
    		[self.commandArray release];
    		self.commandArray = [array mutableCopy];

    Of course this may be simple if you’re the programming type… but it drove me nuts for a while!

    brandon Coding

    UISearchBar to be the top item in the view

    January 22nd, 2009

    Picture 1.png

    So what to do if you’re building a view and you have a navigationBar at the top of the view but you want a searchbar at the top instead?

    Try this in your viewDidLoad:

     self.navigationController.navigationBar.topItem.titleView = searchBar;

    Of course you’ll need to define searchBar in the header file too…

    IBOutlet UISearchBar *searchbar;

    Along with doing all the NIB file stuff, property declarations, blah blah blah… but you get the idea.

    brandon Coding

    Link for me to watch the inauguration

    January 19th, 2009

    Had to write a VBScript today

    January 13th, 2009

    003_p5_det_c
    Creative Commons License photo credit: wisof

    Had to write a VBScript today to do some funky stuff. Basically we needed to copy in a string of text and then output that text so it would be formatted to go into an email.

    Input text looked something like:

    x.x.x.0/x Company  How Assigned    Location

    The big issue I had with all of this is that there’s spaces in the company names, spaces in the location, spaces in how assigned… so I couldn’t use a space as the delimter. Well, the code is UGLY… but the general concept is I knew I had certain points where I would have more than one space in a row. After the company name I had 2 spaces. After the How assigned I had 4 spaces. So I could create a couple arrays and delimit using those known values. The only other problem I had was how to get rid of the IP address before the company name… well I solved that by getting rid of all the numbers from the section of the array where the company should be. Again this isn’t pretty – but it got the job done.

    window.resizeTo 450,500
    
    dim arrHeaders(3), strIP, strCompany, strStatus, strNewContent
    arrHeaders(0) = "IP Block:"
    arrHeaders(1) = "Customer:"
    arrHeaders(2) = "Status:"
    arrHeaders(3) = "IDC:"
    
    Sub SetCopyPaste
    
    strPortal = "From the site:"
    
    strline = CopyPaste.value
    arrFields = Split(strLine)
    arrFields2 = Split(strline, "  ")
    cutString = arrFields2(0)
    arrFields3 = Split(strline, "    ")
    
    strAlphaNumeric = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
    For i = 1 to len(cutString)
    strChar = mid(cutString,i,1)
    If instr(strAlphaNumeric,strChar) Then
    CleanedString = CleanedString & strChar
    End If
    next
    
    strIP = arrFields(0)
    strCompany = CleanedString
    strStatus = arrFields2(1)
    strIDC = arrFields3(1)
    strNewContent = strPortal & vbCrLf & vbCrLf & arrheaders(0) & " " & strIP & " - " & strStatus & vbCrLf _
    & arrHeaders(1) & " " & strCompany & vbCrLf & arrheaders(3) & " " & strIDC
    
    CombinedText.Value = strNewContent
    
    End Sub
    

    Obviously there’s VBSCRIPT tags at the top and the bottom… and some HTML to format the page.

    The attached file you can grab and see the whole thing with the code and whatnot.

    Output text looked like this:
    From the site:

    IP Block: x.x.x.0/x – How Assigned
    Customer: Company
    IDC: Location

    spam-email

    brandon Coding

    Twitter links powered by Tweet This v1.6.1, a WordPress plugin for Twitter.