Jun 17, 2010
We all know by now that Adobe is almost as evil as …, well let’s say they pioneered a couple of functionalities that where great for the longest time. One being the PDF format which is actually totally built into OSX everywhere. On OSX you’re able to print into a PDF without having to install extra software. Also iOS comes with PDF support and today we’ll look at how we can draw a PDF in a view.
How UIWebView sees it
The first idea you might have is to use UIWebView to display PDFs which is not difficult, just get the URL, make a NSURLRequest and pass this to a web view.
_webView = [[UIWebView alloc] initWithFrame:frame];
_webView.delegate = self;
_webView.autoresizingMask = UIViewAutoresizingFlexibleWidth |
// we don't want interaction, full size
_webView.scalesPageToFit = YES;
_webView.userInteractionEnabled = NO;
_webView.backgroundColor = [UIColor whiteColor];
//fileURL is an NSURL to a PDF file
[_webView loadRequest:[NSURLRequest requestWithURL:fileURL]];
But there is one drawback: you cannot really control how it will arrive on screen. For one thing, UIWebView draws a fat gray border and shadow which might somewhat mess up your UI design.
Wouldn’t it be great if you could draw the PDF somehow into a view? Yes, we can!
Jun 15, 2010
In Austria we have a saying “Big things throw their shadows way ahead of them”. While the rest of home-staying iPhone … pardon iOS developers has only seen the Stevenote, a couple of lucky attendees where able to get their hands on a pre-BETA version of Xcode. They are still under NDA when it comes to discussing it, but you know how it is with Twitter, it’s not really possible to keep those things under wraps if people are excited and connected.
And also, since these details are now on the internet and thus public domain, wannabe journalists can scrape the few available details together and summarize them for you, my dear reader.
Generally developers love that Xcode 4 appears to be a total refresh, lots of thought is apparently being put in, all the more reason to look forward to it. Attendees of the WWDC got a download link on the Apple Developer Forums, but us regular folk only gets an error message. Some People think it was changed too much (T, T) for comfort, but a revolution is never easy.
But for the most part you find only happy tweets (T) and comments. Here’s my rundown on the features we have heard about:
- Interface Builder becoming part of Xcode for a combined IDE. T T
- There is a new Counterparts View that is really convenient. T
- There is a Code Snippet feature, possibly similar to Dashcode. T T
- LLDB will replace the current GDB debugger. T
- New LLVM compiler. (2x compile speed improvement. up to 25% runtime speed improvement. On iphone up to 60% faster apps!) T
- There will be Tabs. T
- MDI (Multi Document Interface) where you see multiple source files within the same Xcode window. T
- Great GIT Support. Improved Subversion Support, too. T T
- You will be able to choose different skins for the IDE. T
- Revamped project and target settings for choosing build configurations, localizations, deployment target,etc.
Installation will takes about one hour (T). Because of the amount of things you can have on screen at the same time, you might want to get a monitor of at least 27″ in size (T).
Several people (T T) mentioned June 21st as possible avilability date of Xcode 4 as preview version. But I’m sure your buddies who made it to WWDC will let you take their Xcode 4 for a spin.
Jun 13, 2010
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.
Jun 07, 2010
What the Stevenote means for us developers.
Podcast: Download (15.9MB)
The Show Notes aka Script after the break
Jun 07, 2010
Like every good follower I shall be glued to my big iMac to listen read the latest news from Steve Jobs when he takes the stage at the WWDC 2010 keynote. Somebody called my a “FanBoi”. But I’d rather be a FanBoy than a Fan of a Boygroup.
Apple is always extremely protective of their resources. So they just won’t exert any efforts in streaming the event but rather post a stream a couple of hours later on apple.com and add it to the Apple Keynotes Podcast even a few hours after that. But that does not mean that you have to wait for the info. The web is your friend.
UPDATE: Send me your Skype name. We’ve established a skype chat channel and there’s already a lively conversation in progress.
Here are some sites that have a proven track record (for me) of relaying what’s going on. I will plaster my 27″ iMac and my 15″ MacBook Pro with these.
- Engadget live – Great Live Blog with Photos
- Gizmodo Live – Usually head to head with Engadget on the frequency of updates and photos
- TWIT Live – Leo Laporte is broadcasting live and if there’s any live video or audio then he’ll get it
- MacRumors.com Live – they formatted their live bloggingsite ideally for iPhone/iPad
Other Liveblogs (as recommended by Gizmodo) to take your pick from: gdgt, Ars Technica, Wired, Technologizer,NYT, Mac Life, and Apple Insider.
I won’t be making an effort to relay the info, because so many other people are doing that. But I’ll be making notes as to which things are of especial interest and importance to us iPhone developers.
Jun 07, 2010
Previously I explained how I am approaching iPhone development in a broad spectrum. The vehicle for my business is a company called Drobnik KG, or as I refer to it in IT context: drobnik.com.
We have a publishing contract with young Laurens whose apps are already making up a major portion of our daily sales. The agreement works like this: I’m taking care of the stresses with dealing with Apple, submitting the app and maintaining the SVN-server where the apps are being developed. For this convenience Laurens is sharing part of the profits with us.
And profits they are! Over the last half year this arrangement netted Laurens sufficient funds to buy a Mac. Thus invigorated he sat down and developed a distance measuring app: iOdometer. This, too, is selling far better than I might have guessed. So I refrain from making any future predictions concerning Laurens’ success. For some strange reason he seems to exactly hit the nerve of what people are willing to pay for.
Maybe that’s because of the high quality components from Dr. Touch’s Parts Store he implemented: DTLEDNumberView and DTMenuController. Being able to rely on their sturdiness and ease of implementation he was able to focus on the app’s main feature set and bring it to market in record time.
iOdometer is available on the app store. Version 1.1 has been submitted to Apple, it features better accuracy and a new icon. Other successful apps by Laurens are Frequency Annoyer and Full Screen Browser.
Jun 06, 2010
My previous article covering an iPhone-to-Universal migration inspired me so much that I spent two days on getting the HD-upgrade for SpeakerClock ready to ship.
- Universal app, runs on iPhone and on iPad in native resolution
- Portrait Mode, now all orientations are supported
- Now screen flashes in the appropriate color when threshold to yellow or red is passed
- In-App Purchase for 5 presets instead of one
- Lot’s of minor usability improvements
I didn’t know if Apple would approve an iPad-ready app if it did not support all orientations. So I implemented a mode for portrait orientations for iPad and retrofitted it for iPhone as well.
A big thank you goes to Erica Sadun who inspired me to take on these changes. When I met her on the Voices That Matter Conference in Seattle she played around with SpeakerClock as if it where the coolest of all toys, making me really proud of it. But I cringed seeing the iPhone-app on her iPad so I definitely had to make a HD-version. I dedicate this one to Erica.
I also added the information on how to start and stop the timer to the instructions. Some people did not understand that you can do so by simply tapping the screen.
Also this version marks the end of the “free trial” for SpeakerClock 1.0. As soon as it goes live I will raise the price. So if you want to get it for free, then better get it now. If you liked 1.0 then the new + button is your chance to show your appreciation, it will give you 5 instead of 1 preset. A preset saves the timer starting value, the yellow and the red threshold values.
Personally I use SpeakerClock whenever I’m recording YouTube videos. A couple of times I went over the maximum of 10 minutes and my handy timer prevents this for good. Here’s a demo of the old and new features.
SpeakerClock 1.1. has been submitted to Apple for approval.
UPDATE: … has been approved.
UPDATE 2: … has a nasty bug where it would crash on all iPhones with an OS Version less than 4.0. So I already submitted an 1.1.1 update.
UPDATE 3: The 1.1.1 hotfix is now available on the app store.
Jun 04, 2010
I started out with a simple project of mine, the demo I made for DTNotepadViewController. This is a navigation stack which has a UITableView. From there you can select an entry to get a detail view looking like note paper.
The goal is to convert this iPhone-only app into a hybrid app that uses a split view on iPad.
Jun 02, 2010
I wanted to use a UISwitch in iWoman to select between Celsius and Fahrenheit for the temperature scale. UISwitch being in my humble opinion the quickest method to switch between two values. Unfortunately Apple does not give us any kind of customization capability.
Homick tried to fill this need by making a custom view and providing a photoshop file that you could change. But that’s not how we do things in Dr. Touchistan. I totally revamped Homick’s code and brought it up to snuff to what I needed. Most importantly the color and labels needed to be fully customizable IN CODE.
DTCustomSwitch is almost entirely written from ground up as a UIControl where you can customize the text and looks of of both labels as you please. Even set the background color. That so far fulfills my needs for iWoman 2.0, but if you have any ideas on how to even more customize it, let me know.
Peter Steinberger informed me that you can also drag the knob for sort of a “slow switching”, something I had not thought about initially. But so I spent a couple of hours honing the animation behavior to get as close to the original as possible. Now DTCustomSwitch even does that.
DTCustomSwitch will available via the Dr. Touch’s Parts Store for 50 Euros.