Tag

iOS 7.1

3rd Party Technologies Every iOS Developer Should Use – Part 1- Appledoc

By | iOS, Mobile | 2 Comments

As part of a new series, we’re going to be looking at various tools that our App Experts have encountered during our mobile app experience that we feel no iOS developer should be without. To get the ball rolling, we have the solution to every developers most dreaded task, documentation. So what is this remarkable tool? The answer is Appledoc.

What is it?

Appledoc is a tool for building and maintaining documentation for your apps/libraries. After a quick setup, it compiles together your code-comments into a fully Apple-styled docset that can be kept up-to-date with a simple press of a button. For hassle free documentation on the fly, it’s the best option around for iOS developers.

Setup

Appledoc has a quick and easy installation process. First things first, you’ll need to download it:

You can download it manually from the developers’ github or just run this simple command in the terminal:

git clone git://github.com/tomaz/appledoc.git

Next up, install. To install appledoc use the following command:

sudo sh install-appledoc.sh

Add the build script to your project:

Once Appledoc is installed, you’ll need to add it into your project (note: you’ll need to repeat this step for every new project you start if you want to use Appledoc with it).

Select your project in the Project Navigator and select the plus icon at the bottom left of the view window to add a new target. We’re going to add our script as an ‘Aggregate’ target, which can be found in the ‘Other’ tab. For this new target, go to the ‘Build Phases’ tab and add a new ‘Run Script Build Phase’ by selecting the plus sign in the top left of the view window. Paste the following script into this new phase’s script window:

#appledoc Xcode script
 # Start constants
 company="YOURCOMPANYHERE";
 companyID="com.YOURCOMPANYHERE";
 companyURL="http://YOURCOMPANYHERE.com";
 target="iphoneos";
 outputPath="~/help";
 # End constants
 /usr/local/bin/appledoc \
 --project-name "${PROJECT_NAME}" \
 --project-company "${company}" \
 --company-id "${companyID}" \
 --docset-atom-filename "${company}.atom" \
 --docset-feed-url "${companyURL}/${company}/%DOCSETATOMFILENAME" \
 --docset-package-url "${companyURL}/${company}/%DOCSETPACKAGEFILENAME" \
 --docset-fallback-url "${companyURL}/${company}" \
 --output "${outputPath}" \
 --publish-docset \
 --docset-platform-family "${target}" \
 --logformat xcode \
 --keep-intermediate-files \
 --no-repeat-first-par \
 --no-warn-invalid-crossref \
 --exit-threshold 2 \
 "${PROJECT_DIR}"

Utilization

With all of that done, all that’s remaining is to build your new target and your Docset will be created.

Appledoc has it’s own commenting syntax to distinguish between code comments and documentation. So if we want to add a comment to our documentation, we’ll use either /// or /** as opposed to the usual // or /*.

When writing the documentation for class methods, we’re going to get prompted to provide documentation for any parameters and returned objects. We can do this using @param <parameterName> and @return. For example:

/**Provides functionality to do stuff with a string
@param input String value passed into our method to do stuff with
@return Returns the result of the stuff we did to our string */
-(NSString *)doStuffWithString:(NSString *)input

That’s the basics of Appledocs! There’s a lot more to the syntax — Part 1 of this series is meant to show developers enough to get started. If you’re looking for additional information,  you can find a comprehensive document here. What are some of the major challenges you’ve faced with documentation as an iOS mobile app developer? Give us a shout in the comments section below and be sure to check back for our next post in this series!

One Month Later: iOS 7.1

By | iOS, Mobile | No Comments

It has been just one month since Apple released the update to iOS 7, iOS 7.1, to the masses.  With 30 days to play with the final version, we have some observations to share about changes, features and performance.Man with iPhone

First announced as a beta back in November, many have suggested that the 7.1 update is what Apple should have released as version 7.0.  Debatable as that may be, we do understand that 7.1 came packed with many tweaks and enhancements that make the OS run more smoothly, but perhaps with some head scratching moments.

What we like

There is no denying that the operating system seems far sprightlier than it did in its first incarnation as iOS 7.  Apps seem to open more quickly and the responsiveness of them in action seems to also be enhanced.

Some of this is smoke and mirrors – there have been some changes to the actual animations that give the appearance of faster processing speeds.  But there have been some real performance upticks, and for those with older devices, like the iPhone 4/4s benefitting the most.  But even my iPhone 5 has been positively impacted.  It just feels faster – almost like a new device despite its 2012 vintage.

Those applications that have been updated with the new specs Apple has in place to mesh with the new iOS have also seen appreciable improvements.  Commonly installed apps like Twitter, Instagram and Facebook all seem to operate more smoothly.  Granted, with millions of apps out there, it would be a massive task to test them all, but the top ranked apps in the iTunes store all seem to have benefited.

What we don’t like

Those with “fat fingers” like your truly may not be so keen on the changes to the phone interface.  Especially as they have taken away the larger rectangular buttons to accept or end a call, and replaced them with much smaller circular ones.  While it might look more polished, it has done so at the expense of ease of use.  We’d ask for the option to go back to larger buttons if desired.

There was a great hope that battery life would be extended, but in random samplings of people at The App Experts, we’re not seeing an increase.  Indeed, some suggest that the battery life has been reduced.  This could be anomalous behavior and external factors could be at play, such as use patterns and recharge frequency.  But still, it doesn’t look like a positive to our iOS developers.

We’d also like to see a patch to address the distressing news that thieves can exploit a bug which disables the “find my phone” feature.  While this is a newly reported issue, it is one that we’d push to critical level if we were at Apple.  Hopefully that will be addressed in a 7.1.1 update directly.  We should also point out that this issue has a simple work around – put a passcode on your phone that can’t be guessed, and you should keep a thief from accessing your apps and settings.

Summing up

If you have yet to upgrade to iOS 7.1, it is worth doing as you will see some performance benefits.  Those with fat fingers, may wish to experience the phone app on a device that has the update, as you may grow daffy trying to hit the wee little circles.

What do you think?  Are you satisfied? What should come about in iOS 8? We’d enjoy getting your thoughts in the comment section.  Until next time, cheers!