BuySellAds.com

My book Barcodes with iOS 7 is nearing completion. Buy it now to get early access!
Our DNA is written in Objective-C
Jump

Category Archive for ‘Updates’ rss

GeoCorder 1.3

GeoCorder started out as a pure track recorder but since version 1.2 it also became a great position tracker, provided that you had your own server to receive the position updates.

In this new version 1.3 you have a choice of two additional services: Google Latitude and Crossingways.

Changes

  • FIXED: Tracker would stop sending updates
  • ADDED: Google Latitude as tracking service
  • ADDED: Crossingways as tracking and upload service

Update Jan 7th: The update is now available for download from the app store.
Read more

iWoman 2.0.1

Right on the heels of the iWoman 2.0 major update this minor update addresses a couple of pressing issues:
  • Fixed: when updating from 1.x the bleeding values where incorrectly migrated. The values will be corrected from the periods.dat.bak file.
  • Fixed: crash on significant time change while app in background
  • Fixed: incorrect analysis text on Basal Temperature Tracker
  • Improved: Passcode Lock animations

Update Dec 31st, 2010: Update has been submitted to Apple. We hope for a swift approval.

Update Jan 5th: I was made aware that I had the deployment target on 4.2 effectively making the update unavailable for half of my user base. Because of this I pulled the 2.0.1 and submitted it again with a correction for this. This will delay the availability of this update once again.

Update Jan 6th: Update has been approved and will be downloadable shortly via the app store. Also because of the fierce competition we saw ourselves forced to drop the price permanently to $1.

Read more

iWoman 2.0

It’s been a long long time since I last updated iWoman, more than a year to be precise. I have to admit the success of iWoman made me lazy. Why would you want to change something that is selling so well? In fact iWoman topped the Healthcare charts in several countries for a long time. Other projects seemed be be more important.

I have to credit my wife who kept bugging me about how I obviously did not care about we women on Earth. She is using iWoman for about years now and I kept updating her iPhone with the latest builds. For a long time iWoman was stuck right between versions, but suddenly – about a month ago – motivation returned. I wanted to polish iWoman into the jewel that is was so long ago and add all these features that customers kept requesting.

iWoman 2.0 is now (finally!) available on the app store.

Read more

GeoCorder 1.2.1

The last major update/polish of GeoCorder just got approved only for me to find that I had forgotten to update the iTunes icon as well. Unfortunately you cannot do so any more once the app is published.

Oh well, I also still had my old twitter name dr_touch in the about dialog. So I submitted a quick update to fix these two things. Just maybe users will notice that I update my apps as often as I can and download more copies.

GeoCorder and GeoCorder [FREE] are available on the app store.

GeoCorder 1.2.0

On my recent trip to the USA I put the finishing touches on the next big update to GeoCorder. And today (while recuperating from a bit of a cold) I finished up with some 3.x compatibility issues and integration with the latest versions of DTShop and DTBannerManager.

This version became necessary because I wanted to fix a slight problem one special customer was having with the new tracking function. The tracker would disable if you didn’t have internet connectivity, say during a phone call. Another user who is into ballooning asked for a method to better filter the path to prevent the jumping around that occurs when CoreLocation switches to cell-tower locating due to signal degradation.

Updates

  • NEW: Fully redesigned artwork for Retina display
  • NEW: Map View now displays path of currently recording track
  • NEW: KML supported for exporting
  • NEW: new filter option to eliminiate implausible track points
  • NEW in free version: Option to remove ads via In-App purchase
  • FIXED: Default Recording Settings not showing on Settings View
  • FIXED: speed would not be inserted in called tracking URL
  • FIXED: tracking ping would be disabled if Internet connection was lost

While at it, I needed a testbed for the new option of DTBannerManager to allow the user to purchase removal of the Ads, which can now come from iAd, MobFox or AdMob.

Finally, I added KML as export option because this can be readily used by FTLocationSimulator to simulate movement in iPhone simulator.

KML uses so-called line strings which contain way less information than GPX tracks. They only have coordinates and altitude, no timestamps. KML was designed to represent a recorded movement through space but rather static three-dimensional lines in Google Earth.

There IS a way to represent movement through time in KML as well, but it is extremely verbose as you can see from the¬†whale example in Google’s KML documentation. It works by creating a place mark for each track point which is very ugly. I’m only going to implement that if it turns out to be “absolutely necessary” for a specific use case.

Therefore this version of GeoCorder has one “known issue”: KML cannot be used for GeoTagging because of the missing time information. For geotagging you have to stick with the GPX format.

The update is now with Apple and should be approved in a week or so.

MyAppSales 1.0.17

With Apple totally revamping the “Sales & Trends” and “Financial Reports” they gave a shiny and wonderful AJAX Interface. But at the same time, because of the lack of a public API, this meant that we tool vendors had to burn some midnight oil to get our downloaders fixed up again.

This version of MyAppSales is a maintenance release with these goals:

  • navigate the AJAX pages to retrieve Daily, Weekly and Financial reports
  • adapt to the changes in the financial reports format (reports would be empty)
  • Minor tweaks, like use the smaller financial report description when displaying report sums

I am still working on migrating the database into CoreData to be able to make it 4.x compatible. Currently there are lots of caching mechanism that cannot handle when the app is being killed, like when you remove it from the recent apps list. Another problem is that settings will not be saved. So until further notice you have to keep building it against SDK 3.2, it will still run fine on your iPhone with iOS 4.x.

The update is in the trunk of the subversion repository.

MyAppSales for Partners

A user of MyAppSales approached me and asked for the possibility to pre-configure the app such that he could give it to a partner of his. The goal was twofold:

  1. Pre-configure the account for iTunes Connect such that you don’t have to give your credentials to your partner
  2. Filter sales reports such that only the apps come through that the partner is receiving a share of sales for

… and all of this without impacting the other features like review downloading.

Since I have such a partner myself for which I’m now publishing 3 apps, I sat down and – after fighting with Xcode over a second target – added a couple of lines to the MyAppSales trunk to enable the “Partner Version”.

In the PCH file you enable and configure this special version by removing the // in front of the first define. Then you need to specifying your ITC credentials and an NSSet of Apple App Identifiers.

// to enable the partner version, re-enable the following define and fill in the three values below
//#define PARTNERVERSION
 
#define PARTNERVERSION_ITC_LOGIN @"account@server.com"
#define PARTNERVERSION_ITC_PASSWORD @"SECRETPASSWORD"
#define PARTNERVERSION_FILTER_APPS_SET [NSSet setWithObjects:@"335519920", @"329678407", @"374457741", nil]

I’ve added a filter for the specified PARTNERVERSION_FILTER_APPS_SET in two places to ignore all lines on sales report where neither the Apple Identifier nor the Parent ID is in this list. Since the app never sees any apps outside of this filter those also won’t pop up on the apps page.

For the preconfigured account, the app adds this ITC account if there are no accounts defined. So if your partner were to remove this account accidentally it would be configured once more on next app start.

All you need to do after configuring and building a release version is to zip and ship the app and provisioning profile to your partner. Easy enough?

GeoCorder 1.1.0

Some time ago I got approached by a corporate customer who was looking for a solution to have his vehicles report their location to his server. Previously he had been using Nokia phones and now he was looking to switch to iPhones. So I built a quick app for him, but due to lack of multitasking in iOS 3 it had limited use. But then Apple surprised us with backgrounding for location apps and suddenly make apps like GeoCorder all the more useful.

But I did not think that this mini tracking app by itself would make a good addition to the app store, so I insisted of merging this functionality into GeoCorder. So now GeoCorder can record GPX tracks for photo tagging or viewing in Google Earth and can also ping your server with a customizable HTTP GET.

  • Background Recording on iOS 4
  • UI improvements
  • Completely rewritten backend with CoreData engine
  • FREE Version: iAds on iOS 4 Devices with AdMob fallback
  • User Guide and Support
  • Map View centering on current Location
  • Tracker Mode to ping corporate server with location updates

For the UI you might notice that I moved the recording controls into the navigation bar. Also this is now using a tab bar controller to switch between multiple views with differing functionality. I switched the tracks view and the recording view because for a recording app the recording screen obviously is the more important view.

Once I started to think about the functionality of this app I suddenly had my head fill will lots of additional things, most of which did not make the cut for what is supposed to be a minor upgrade that turned into a 4 day project. For example I had considered adding Google Latitude updating as a Tracking choice. But 1.1.0 is meant to give my customer (and other people with similar logistics use cases) a tool which he can easily install through the app store.

The problem with those many ideas is that nobody is paying for their implementation. On both the full and the free version (ads) I’m making like 10 Dollars a week. Only if I see a dramatic uptake in downloads I will be able to afford implementing more features. But I’m still interested to hear your thoughts should you be amongst those few people who have a use for this uncomplicated app.

Maybe it helps a bit that I am also targeting iOS 3.x which still is the OS of choice for iPhone 3G. Where I previously had only AdMob ads, I have now also iAds on iOS 4 devices with AdMob being the fallback. I’ll report on how that goes.

I just submitted the app to Apple for approval. I tested orders of magnitude more than before and eliminated all bugs that I could find to make this a really high quality release.

Update Aug 6th: The update has been approved. What’s a first is that the review team approved the update first and later wrote a mail to me asking to add a battery disclaimer to the iTunes description. Apparently all apps using background GPS are required to have this in the description:

“Continued use of GPS running in the background can dramatically decrease battery life.”

So I added it. Much obliged!

Update: I found two bugs in the free version for which I just submitted update 1.1.1: Ads could not be tapped on and I had forgotten to include background location support.

MyAppSales 1.0.16

Apple changed two column headings on the financial reports because apparently the June reports are the first ones which will also show eBook publishers their revenues.

  • “Artist/Show/Developer”¬†became “Artist/Show/Developer/Author”
  • “Label/Studio/Network/Developer” became “Label/Studio/Network/Developer/Publisher”

There where quite a few hot fixes that I had to put into MyAppSales and also if you look at the code you’ll see that it’s in the middle of being migrated to CoreData. The latter is necessary because the current method of caching everything is really ugly code whereas CoreData will permit me to make the app perform way better and it only fetches data I truly need.

Unfortunately (or fortunately depending on how you look at it) I’m very busy with a major project for the last few months, so I cannot really muster the time right now to carry through this migration. But because this is a point of stability in MyAppSale’s live that I can publish it as a new version. Lots of people where continuing to use the previous “released” version because for some reason they feared that the “2.0 BETA” in the Subversion trunk might be unstable. When in reality it aways was the code I’ve been using on my iPhone.

Speaking of iPhone 4, you still need to build it with SDK 3.2 until further notice for exactly the reason I mentioned above: ugly caching. It works fine on my iPhone 4.

Here are some goodies that I also hacked into 1.0.16:

  • Ability to remove individual reports. For example if something goes wrong during download.
  • You can opt to show a report sum on the overview pages. This is slower because for it the app needs to fetch the sales data, so it will impact scrolling. But if you don’t scroll much then its a useful number to see at a glance.
  • I’m now using the standard currency formatter for all amounts

Please update your copy from the repository as usual.

How to make your Hybrid-App crash for sure

I was quite happy finally getting the new polished 1.1 version of SpeakerClock approved. But there was one problem: people who tried to run it on iPhones with iOS 3.1.3 started tweeting me that it crashes. I was astonished, I was not aware of using anything from 4.0, I just had to set the base SDK to 3.2 to support hybrid mode.

Then I tried out the update on my wife’s iPhone which I kept at the latest released iOS version, 3.1.3. And it crashed. So I hooked it up and had a look at the crash report. There’s something about “doesNotRecognizeSelector”. This means I am calling a method that the receiving object does not recognize. Uh Oh.

Read more