Quantcast
Channel: www.iphonelife.com
Viewing all 13234 articles
Browse latest View live

The iPhone 6 Plus: Week One, Second Thoughts?

$
0
0

I don't regret my decision to get the iPhone 6 Plus, not at all. To say that Apple has impressed me with the new iPhone 6 Plus would be an understatement. I am in awe of this device, often times when I am using it I'll notice a smile creep onto my face as I play my favorite graphically enhanced games or notice amazing new device features in action. But after a week with this iPhone at my side I've discovered that despite the fact that the 6 Plus is proving to be one of the best premium smartphones on the planet, there are still some significant issues (yes, even after this most recent iOS 8.0.1 update) that Apple really needs to address.

From the moment the iPhone 6 Plus was released, people have been testing the limits of its capabilities. Now, after a week in the wild, benchmarks and the results of all sorts of extreme and creative torture tests are pouring in. The 6 Plus is truly a masterpiece of technology, design, and functionality, and outshines every smartphone on the market in almost every category. The 6 Plus is proving to be the most impressive phone you can buy, if you can handle its size, that is. Of course that being said, new iPhone 6 users have already begun to report all kinds of glitches and flaws. Across the globe, in chat rooms and forums as well as other news sites, reports are coming in of a range of problems people are experiencing, both with the hardware, as well as with the software of the new iPhone 6 Plus.

Put a Case on It!

Always sage advice when talking about a pricey portable personal computer that goes everywhere with you and is subject to a wide range of environments and potential abuse, though perhaps never more applicable than with the new 6 Plus. With its larger format design, slippery sides, curved edges, and extra weight, the 6 Plus is more at risk of taking a hard fall than any of its predecessorsand is deserving of a good protective case.

If you want to see how the new iPhones fare in all manner of extreme testing, I've included a fascinating, though cringe-worthy drop-test video below. These videos are kind of like a car crash by the side of the road, no one wants to see it happen to them, but when it happens to someone else, it's hard not to gawk. I was especially impressed with the new iPhone's resistance to water as demonstrated in the following video from Square Trade.

If you can't see the crash-test video embedded above, click HERE.

 

Still Not Convinced You Need A Good Case?

Via macbidouille.com

If you still are in the fence as to whether or not you will be investing in a good protective case for your iPhone 6 Plus, consider this. Numerous reports are surfacing of iPhones bending from simple use. Apparently sitting down with the iPhone 6/6 Plus in your front pocket is enough to cause this ultra-thin, ultra-light iPhone to bend. As you'll see from the video, it's really not that hard to do!

If you can't see the above "bend-test" click HERE.

Keep in mind of course, this issue isn't exclusive to the new iPhone 6 series, as other iPhones as well as other brands of smartphones have experienced similar bending issues. It seems to go with the territory of building a such a thin smartphone out of such a lightweight metal, there are trade-offs. So while it's not necessarily a reason not to get the iPhone 6 or 6 Plus, it's definitely another strong argument for getting a good, rigid protective case.

Screen Resolution

While I have continued to be blown away by the 6 Plus's Retina HD screen, I was a little disappointed to learn that while it is still remarkable, the 6 Plus suffers because of its larger screen size and the need to produce high-resolution graphics for the larger screen. It actually lags behind both the iPhone 6 and the iPhone 5s when it comes to graphics benchmarks, though it still placed within the top five performers. Still, as a gamer and amateur photographer, I had been hoping to have the highest resolution screen possible with this largest iPhone.

 

iOS Issues?

Other problems I've been wrestling with during this first week with my new 6 Plus seem to be more related to the operating system than the actual phone itself. These problems include the following:

  • Songs from my iTunes library will randomly quit during playback.
  • Glitchy keyboards. I've noticed all sorts of problems crop up when using the various third-party keyboard options available. I've had keyboards freeze in portrait mode when I move the phone into landscape orientation. I've also had type that didn't display even though I could see a sliver of cursor moving across the screen. I've also had the keyboard freeze randomly, which could only be fixed by closing out the app in question. An example can be seen in the five-second video below.

Click HERE if you aren't able to see the video above.

An iOS update came out on Wednesday 9/24, but the problems I mentioned above persist.

Want to know a final nitpicky gripe I have with my 6 Plus? It's the color options. Since Apple wasn't offering the 6+ in my iDevice color of choice ever since the first black iPods came out all those years ago, I thought I'd try the space grey option. Well, now I know. Not only do I not care for the silver look of the space grey, I don't care for the gold or white options either. Perhaps my distaste has something to do with what I find to be the unattractive antenna stripes on the back side of the devices. Regardless, I'd love to see a solid black or solid white option return to the line up with the iPhone 6/6 Plus. The truth of the matter is that I can't complain too much, since my 6 Plus is going to be spending its life in a protective case, and therefore with the exception of the touchscreen, it's color will be covered up and not a factor.

 

How are you enjoying your iPhone 6 and 6 Plus iPhone Lifers? Let us know in the comments below.

 

Tip of the Day: Delete Mail Faster in iOS 8

$
0
0

In iOS 7, deleting individual emails from your inbox in the Mail app was a multi-step process. You had to swipe left on the email preview and then choose Delete from the options that appeared. It's much faster in iOS 8.

In your inbox, simply swipe all the way to the left of the screen on the email you want to delete, ignoring the options that appear as you swipe. This is so much faster than any other method of deleting, even for deleting multiple emails, that you may prefer to just delete all your emails this way.     

  

Did you enjoy this tip? Sign up here to get the tip of the day delivered right to your inbox.

Top image credit: Steve Byland/Shutterstock

Updategate: Downgrade Back to iOS 8 from iOS 8.0.1

$
0
0

It's not unusual for Apple to release hardware or software that has a glitch or bug. It's become the unfortunate trend that when a glitch in the Apple matrix is discovered, it gets nicknamed "such and such-gate." Do you remember Antennagate, which happened on Steve Jobs' shift, when numerous users reported dropped calls if they simply held their iPhone "wrong"? Then again, you needn't think back that far. Last month we were hit with Celebgate, (aka: the Fappening) where personal iCloud accounts of popular female celebrities were hacked and their nude photos flooded the internet.

Well now Apple has given us not one, but two mini scandals with the new iPhone 6 series. First word began to spread through the internet and media outlets aboutt he relative ease with which the iPhone 6 Plus (and to a lessor degree the iPhone 6) could accidentally get bent. This is bad enough, though at least a sturdy, protective case can diminish the risk of Bendgate afflicting your iPhone. However, hot on the heels of Bendgate comes Updategate, and this latest one got me and my new iPhone 6 Plus.

Eager to fix the many pesky issues that were marring my early experience of iOS 8, I updated to iOS 8.0.1 as soon as it was released, and apparently I wasn't alone. Now, as I experienced first hand, thousands of other users worldwide are reporting the loss of both Touch ID functionality, and more significantly, the loss of any cellular service. Yep, you read that right. Apple's iOS 8.0.1 update (which Apple has since hastily removed as an available download for anyone, anywhere) eliminated the ability of the iPhone 6 and 6 Plus to function in one of the simplest and most fundamental manners that an iPhone can function in—as a cellphone!

If you have a cellphone (whatever the brand) it's likely that you'd expect, at a bare minimum, to be able to make and receive calls. Well, this basic luxury is currently being denied iPhone 6 users who innocently updated to iOS 8.0.1. However, take heart, as several tech sites (including Apple) have since posted a workaround for Updategate. The process is relatively simple (basically you just download the older version of iOS 8 and re-install it) and though time consuming, at least you can get your shiny new iPhone 6 or 6 Plus working as a phone once again! I also hear that Apple is feverishly working on a revised iOS that is due to be re-released within a few days as iOS 8.0.2.

 Downgrade Back to iOS 8 from iOS 8.0.1

If you are one of the luckier ones who has an iPhone 6 series and who hasn't updated from iOS 8 to iOS 8.0.1, just hang in there, whatever problems you may be coming across in iOS 8 are likely nothing compared to the greater problems you might have encountered if you'd upgraded to iOS 8.0.1. It's worth mentioning by the way, that iOS 8.0.1 didn't seem to be causing the same problematic issues on the iPhone 5s and older devices, it has been primarily the 6 and 6 Plus that have been the victims. It's also worth mentioning that iOS 8.0.1 did NOT fix the myriad other issues I was experiencing on my 6 Plus running iOS 8.

Hang tight iPhone Lifers. Help's on the way, and I'd imagine that within a couple of days (hopefully no more than that) Apple will have released a full and proper repair for what has become an infamously bumpy product launch. Stay tuned here to iPhone Life and we will keep you up to date as far as exactly when the new iOS actually goes live and is safe to try out.

Yantouch Offers 2 Smart Home Devices in 1

$
0
0

There are several trends in the consumer electronics industry. Smart home accessories are a big thing now. Bluetooth speakers are big. And convergence is big. So it was nice to see the convergence of both a Bluetooth speaker and an app-enabled lighting unit, all in one cool looking gadget from Yantouch.

First, the Diamond+ is a 2.1 Bluetooth speaker ($149) with integrated subwoofer, which might be common these days, but this is one that you will want to display proudly, hence the name. It almost looks like an accent piece, as there is no traditional speaker grill or oversized logo or other giveaway. Even when the lights are off, the Diamond+, available in white or black, looks almost crystalline in nature, although it is indeed mostly plastic. The Diamond+ can be battery operated for up to ten hours, so you could take it outside for a party and bring the music outdoors.

Yantouch app

The Diamond+ is also an app-enabled color-changing light. Philips sells their Hue products for a lot of money and they only change color! You can select from a variety of colors and patterns, or let the colors act as an equalizer, based on the music the speaker is putting out. The device can be operated by the free BedTimeSocial app or the included remote control, and music can be provided by Bluetooth or the 3.5mm/miniUSB cable provided. Some of the app's features include the ability to wake users naturally, and set a sleep timer. The Diamond+ is available via BestBuy.com and other retailers.

BedTimeSocial app

 

Swift 101: Demystifying Swift's Initializers (Part 1)

$
0
0

Now that Apple has officially released Xcode 6 and the NDA has been lifted, it's time to dive deeper into Swift—Apple's new language for building iOS apps. Learning how to properly use initializers in Swift can be daunting at first. Swift's requirement that all stored properties in a class are initialized adds complexity to the initialization process. In the first part of this two-part post I'm going to demystify initializers as I provide a hands-on approach to learning how to best implement initializers in your custom classes.

When you create your own custom classes in Swift, you need to make sure that new objects instantiated from your custom class are properly initialized (ready to be used.) This usually involves making sure all stored properties have an initial value, as well as any other specialized setup your class may require.

In Swift, all stored properties must be initialized. They are not allowed to be in an unknown state. There are two main ways to store an initial value in a property:

  1. In the property declaration - For example:

  1. In an initializer - For example:

In situations where the initial value of the property is always the same, you should choose the first option and initialize the value in the property declaration. This closely links the initialization of the property with its declaration, making your code more intuitive.

In cases where the initial value of a property changes, you should choose an initializer instead. 

Initialization and Type Inference

If you store an initial value in a property's declaration, you don't need to specify the type of the property because Swift can figure out, or infer its type based on the type of the value you are storing in the property.

However, if you set the initial value of a property in an initializer, you must specify the property's type when you declare it.

Creating Initializers

Here are some of the basic rules governing initializers:

  • Initializers in Swift are always named init.
  • You don't use the func keyword when declaring an initializer.
  • Initializers do not return a value.
  • You can create several initializers for a single class that accept different parameters.
  • If your class has a superclass, you must call one of its designated initializers from your custom initializer (more on that in just a bit.)

Initializer Parameters

You can create multiple intializer methods for your custom class that provide consumers of your class a variety of ways to initialize objects.

If you have a class that requires specific properties to be set by the app developer, you should absolutely create one or more initializers that allow those value to be passed in on initialization. This helps make your class self documenting.

To help you better understand how initializers work, let's create a Translator whose purpose is to translate phrases from one language to another (this will just be a mockup.) First, we will create the class with no initializers, and then we will improve it by adding an initializer with parameters.

To follow these step-by-step instructions, download the InitializerDemo sample project from this link.

  1. Open the InitializerDemo project located in the folder where you have downloaded it.
  1. Right-click the InitializerDemo group and then select New File... from the popup menu.
  1. On the left side of the Create File dialog under the iOS section, select Source.
  1. On the right side of the dialog, select the Swift File template, and then click Next.
  1. In the Save File dialog, change the Name of the file to Translator.swift, and then click the Create button This adds the Translator.swift file to the project.
  1. Add the following enumeration declaration at the top of the file below the import Foundation statement:

This enumeration declares all the languages the Translator class supports.

  1. Now add the following class declaration below the enumeration declaration:

In this example, the main purpose of the Translator class is to translate phrases from one language to another. It can't perform any transalations without knowing the "from" and "to" languages. However, the fromLanguage and toLanguage properties are marked as optional. From a practical perspective, they are anything but optional!

Note: You don't need to explicitly set optional properties to nil, but I did this to get around a bug with the Swift compiler!

  1. Let's try to create an instance of this class from a unit test. To do this, with the Translator.swift file selected in the Project Navigator, go to the File Inspector (the first button on the left in the Inspector toolbar) and select the InitializerDemoTests check box as shown in Figure 1. This  makes the class accessible to the unit test project.
Select the target membership
Figure 1 - Select the InitializerDemoTests target membership
  1. Under the InitializerDemoTests group in the Project Navigator, select the InitializerDemoTests.swift file.
  1. Add the following test method to the bottom of the code file above the closing curly brace of the class:

This is a bad design because it requires the developer to figure out for themselves that the fromLanguage and toLanguage properties must be set before the Translator object can be used.

Let's create a better design.

  1. Go back to the Translator class and remove the ? = nil after the Language type to indicate these properties are not optional. Afterwards, change the initializer as shown here:

This class now has a single initializer with from and to parameters of type Language.

  1. Press Command+B to build the project. You should now have one compiler error. To see what's causing the problem, select the InitializerDemoTests.swift file in the Project Navigator and you should see the error shown in Figure 2.
Missing argument compiler error
Figure 2 - The "Missing argument" compiler error

The complete text of the error states "Missing argument from parameter 'from' in call." Why are you getting this error?

If you don't specify a custom initializer for a class, behind the scenes, the Swift compiler adds a default initializer. That's why the code in the unit test that tries to use this default initializer fails.

In our example, this is exactly what we want! We want to force developers to pass the two necessary Language values when they create an instance of the class. Let's change the code to do that now.

  1. First, delete all the code inside the testTranslator method. Afterwards, add the following code:

When you type the left parentheses, Code Completion pops up offering the option shown in Figure 3.

Code Completion for the custom initializer
Figure 3 - Code Completion for the custom initializer

 

This makes it abundantly clear to a developer that they must specify the "from" and "to" languages when creating an instance of the Translator class.

  1. With the Code Completion template displayed (if it's not visible, press escape to redisplay it), press tab to move to the from placeholder and type Language.English. Press tab a second time to move to the toplaceholder and enter Language.Chinese. Afterwards, press the right arrow key to have Swift auto-fill the closing parentheses for you. When you're finished, your code should look like this:

As you can see, Code Completion inserts the parameter names into the method call. This is mandatory. If you leave out these parameter names, you will get a compiler error!

This is not a true unit test, but I wanted you to experience calling different types of initializers.

Local and External Parameter Names

Local and external parameter names work a little different for initializers than for regular methods.

Since an initializer is always called init, you don't have the luxury of creating an initializer name that includes a description of the first parameter. Because of this, Swift provides an automatic external name that is the same as the local name for every parameter that you declare as can be seen in Figure 3.

If you want to declare an external name that is different than the local name, you use the same syntax as with regular Swift methods. For example, the following code declares a different external name for the from and to local parameter names:

In this example, declaring external parameter names changes the names of the parameters when you call the initializer as shown in Figure 4.

The new external parameter names
Figure 4 - The new external parameter names in action

If you don't want to provide an external name for a parameter, simply insert an underscore before the local parameter name.

Designated and Convenience Intializers

Swift supports two main types of initializers—designated initializers and convenience initializers. Let's take a closer look at each so you can learn how best to initialize your custom classes.

Designated Initializers

A designated initializer is the main initializer for a class. It initializes all properties declared in the class, and is responsible for calling an initializer in its superclass (if it has a superclass.)

For example, in the Translator class, init:from:to: is the designated initializer because it initializes both of the properties that are declared in the class.

Here is the syntax of a designated initializer:

Every class must have at least one designated initializer. You can have more than one, but its more common to have just one.

Convenience Initializers

A convenience initializer is a secondary class initializer that typically accepts fewer parameters than a designated initializer, but then calls the designated initializer with defaults set for some of the parameters. Convenience initializers are optional, but they often make it easier for your classes to be instantiated.

Here is the syntax of a convenience initializer:

Let's create a convenience initializer so you can more clearly understand how they work.

  1. In the InitializerDemo project, select the Translator.swift file in the Project Navigator.
  1. Add the following new initializer to the Translator class:

Here are some important points to note:

  • The convenience keyword is used to mark the method as a convenience initializer.
  • The convenience initializer calls the designated initializer in the same class, passing a default Language.English value as the first parameter and passing through its own toLanguage parameter as the second parameter.
  • The convenience initializer allows you to instantiate the class by passing only one parameter to the initializer. For example:

  • When you instantiate an instance of the class, Code Completion now lists both initializers as shown in Figure 5.
Multiple initializers in Code Completion
Figure 5 - Multiple initializers in Code Completion

 

Conclusion

This post covers the bare essentials of initializers in Swift, and there is much more to learn! In my next post, I will discuss the topics "Initializer Chaining", "Two-Phase Initialization" and "Initializer Inheritance". Stay tuned!

Tip of the Day: Add Phone Numbers to Contacts from Mail in iOS 8

$
0
0

This post is part of our daily tip series. Want to master your iPhone and iPad? Sign up here to get the tip of the day delivered right to your inbox.

You probably already know you can call a phone number from within an email by tapping on the number. But did you know that you can now quickly add the phone number to Contacts as well?

Simply press and hold on the phone number to bring up the menu and tap Add to Contacts. You will then need to choose between creating a new contact or adding the number to an existing one.

  

If you choose to create a new contact, the sender's name and other info will automatically be added to the new contact card along with the phone number.

If you choose to add the number to an existing contact you will be taken to your contact list so you can select the contact to which you are adding the phone number.

Tapping and holding on a phone number in an email also gives you the option of placing a FaceTime call, sending a message, or copying the number.

Top image credit: Shutter_M/Shutterstock.com

iPhone 6 Plus "Bendgate" Leads to Bendathon: Which Smartphones Are Most Bendable?

$
0
0

As I write this, Apple hasn't yet commented on the propensity of the iPhone 6 Plus to bend in your pocket. After the phone was released there were scattered reports that it could bend if you wear tight pants—even in your front pocket. Then Lewis Hilsenteger posted a video on his YouTube channel Unbox Therapy that showed him bending his iPhone 6 Plus with his bare hands. The video went viral, and seemingly all the major media picked up the story. Bending has happened with smartphones in the past, including the iPhone, but because the iPhone 6 Plus is longer and thinner than before, and made of aluminum, it's more easily bent. It's simply a matter of physics. According to David Anderson, director of product development for a company that offers warranty protection for smartphones,

This is Apple's first device with a phablet-sized screen, but it is not the first bending issues to surface on larger devices like the Galaxy S4. There have been many customers who have broken their screens or bent their devices by sitting on them while in their back pockets. There have even been previous cases of Apple's iPhone 5 and 5s having bending issues when put under a lot of stress. And as the screens and devices get larger and thinner it will simply take less stress on their metal frames to bend.

So the question arises, is the iPhone 6 Plus more vulnerable to bending than previous iPhones or other smartphones? Well, Lewis Hilsenteger couldn't resist attempting to bend the whole lot of 'em to see how resistant they are. Let's take a look at his now-famous series of three videos.

First, here's him bending his iPhone 6 Plus with his bare hands. He had seen mention that some users noticed the bending, and when he looked closely at his new iPhone, he saw it was very slightly bent. So he made a video in which he sees how difficult it is to bend. See for yourself.

It's pretty ugly, and one wonders why someone would destroy his new iPhone. But of course, he doesn't stop there. After his video went viral, the typical argument broke out between the haters and the fanboys: see, Apple products suck; no they don't, all smartphones bend if you apply enough pressure. So Lewis had to test that. In a second video, he attempts to bend a Samsung Galaxy Note 3. It does in fact bend, but then springs back. Lewis concludes that the Note survives the same bend test that the 6 Plus failed. However, the Note 3 is over a millimeter thicker than the 6 Plus, so that might help explain the difference. The video also shows the result of his attempt to bend his 6 Plus back to its original shape: a slight crack in the screen. He recommends not trying to straighten a bent 6 Plus.

Lewis wasn't done, of course. People wondered how other phones fared, including the iPhone 6. So he came back with a third video testing a variety of phones. Fortunately, the iPhone 6 is far more durable to bending. He also tested the iPhone 5s, the HTC One M8, the Moto X, and the Nokia Lumia.

His very unscientific test shows that the iPhone 6 only incurs a very small bend that's easily pushed back. The HTC One M8, which has a form factor similar to the 6 Plus, makes creaking noises as he applies pressure. The glass lifts a bit but then goes back into place. He finds the new Moto X to be very solid, with no bending at all. The Nokia Lumia moves a bit but then goes back into place. And the iPhone 5s doesn't show any flex.

Is the Apple 6 Plus defective? Opinions vary. Design analysts say it may fall short of a flaw but is more malleable than would be expected. It may simply be a tradeoff of the phone's being simultaneously large and exceedingly thin and light.

You can avoid damaging your 6 Plus if you simply don't put it in the front or back pocket of tight pants, which tends to put a lot of pressure on it. In looser pants, it has a chance to move around and avoid pressure. Also, using a case will protect it. And if you really want security, you can buy a warranty for that sort of damage from a company like Protect Your Bubble.

Apple Responds to Bendgate: Only 9 Customers Complained of Bent iPhone 6 Plus

$
0
0

As the video in my earlier post shows, it appears that it's fairly easy to bend the 5.5-inch iPhone 6 Plus. That video went viral, with over 20 million views. Blogs were buzzing, and Apple's stock took a dip. Then Apple responded by telling the Wall Street Journal on Thursday that since the previous Friday, when the devices went on sale, only 9 customers had complained that their iPhone 6 Plus had bent out of the millions who purchased one. The WSJ article also explains that Apple does thorough testing of its product designs to ensure they're durable, using five different stress tests. Then Apple went further, reported The Verge, and invited that publication to see their torture chamber where they systematically damage their forthcoming phones. And not just a few phones, but 30,000 phones: 15,000 each for the iPhone 6 and iPhone 6 Plus. No design makes it to market unless it can pass Apple's torture tests. Re/Code was also invited into Apple's testing lab and posted a video of iPhones undergoing testing.

The five tests new phones go through include a "sit test," which the Wall Street Journal says simulates sitting on a hard surface with a phone in the pocket of tight jeans. The company runs thousands of tests in different positions. But according to The Verge, the tests also include dozens of Apple engineers who perform actual sitting tests to see if damage occurs. The Verge article describes in detail four of the tests that the iPhones undergo in Apple's lab: sit test (both simulated and actual), three-point bend test, pressure point test, and torsion test.

Much of the testing takes place in China, but a significant amount also takes place in Apple's testing lab. 

According to Apple, the bottom line (so to speak) is that bending is very rare under normal usage, and you don't really need to worry about it. And should you unintentionally bend your iPhone, you can take it to an Apple Store, where, according to The Next Web, the Apple Genius will do a visual inspection and then determine if they'll replace it with a new phone. It appears that Apple is wiling to replace the phone if they think you haven't tampered with it.


October 6 Biweekly Giveaway!

$
0
0

This is the official announcement of the iPhone Life Biweekly Giveaway! Be sure to enter the giveaway at iPhoneLife.com/giveaways to win prizes, which we'll announce October 6! We are raffling off tons of great accessories for FREE.

Here's how it works: Every other Friday we announce the prizes we're giving away through iphonelife.com, Facebook, Twitter, and Google+. To enter the giveaway, go to iPhoneLife.com/giveaways and tell your friends to enter too! On the following Monday morning, we will randomly select the winners. If you win an app, we will email you the promo code to redeem the app for free. If you win an accessory, send us your address and we will mail it to you.

This week's featured items are:

1. Toddy Smart Cloth: Retail Price $9.99

Toddy Gear was nice enough to send us these customized iPhone Life Toddy Smart Clothes and we want to share the love. These handy little clothes are great for cleaning your iPad, iPhone, or just about anything else!

 

2. LifeCharge InAir Battery Case & Wireless Charging for iPhone 5/5s: Retail Price $89.99

This 2000 mAh battery case provides sleek protection while retaining access to all of your buttons. The InAir Case charges via a convenient wireless charging pad. Simply insert your iPhone 5/5s into the InAir Power Case and place it on the wireless charging pad.  The charging pad automatically begins emitting a powerful boost in energy to your iPhone.

 

Questions or comments? Email Brian@iphonelife.com. Good luck and remember to visit iphonelife.com/giveaways to enter! Also check out our other contests at iphonelife.com/contests. The next contest drawing is October 6!

Top 3 App Deals of the Week

$
0
0

As new iOS apps flood the App Store every day — recently topping 1,200,000 — we know it’s tough to tell which ones are worth their salt. But thanks to our Weekly Scoop, you can have the best for free! Here you’ll find a weekly roundup of the coolest apps free or at a discount for a limited-time only. Each week features the best and brightest from websites like Free App ReportAppsGoneFreeAppieDay, AppShopper and more.

Hurry! Get 'em while they’re hot!

1. Graphic Novel(Free)

This is a really unique idea! With this app, you can create your own graphic novel using photos from your iPhone or iPad. How cool would that be? Just go in there and create a storyboard for a film, create comic images out of your photos, or make a multi-page comic book.

 

2. Toca Robot Lab(Free)

Toca always makes great games for kids and this one is no exception. Whimsical, fun, creative, and interactive is just how they roll. This robot lab gives you all the tools you need to make an awesome robot by mixing all sorts of bits and bobs you find laying around. You can test the robot's functionality once done by knocking over blocks and racing around a track.

 

3. Fonta(Free)

Fonta allows you to add stylish looking text to your photos. You can caption things for Instagram or even create your own greeting cards! You can place your photos inside text, caption them, create an image for your blog or website, and share your creations on Facebook, Twitter, and Instagram.

 

Air Supply - SOS (Save Our Sheep) Game Review

$
0
0

Air Supply – SOS (Save Our Sheep) ($1.99) is a great game, and it does what any Air Supply game does best; it provides you with plenty of stuff to unlock. There are also boss fights, a mini game, and perks. Life is all about perks, right?In Color!
For the first time in Quantum Sheep history this game actually contains sheep, and your job is to save them by loading them onto space ships. It only takes six sheep to complete a wave, but of course all the bad guys will try to make sure you don’t rescue nearly that many. Thankfully you’ll always have some sort of weapon at your disposal to dispatch the enemies, and you’ll also have slowdown, shield, and mega bomb powerups to help you in your quest. Of course, stars are used to unlock new characters, while killing aliens unlocks different colors and air both keeps you alive and unlocks new music.

After every 10 waves you’ll unlock a new planet and also have to fight a boss. You’ll then have the option to pilot the spaceship through an asteroid field and take out some UFOs before you get to the next planet. This portion is entirely optional and only adds to your total score. There are a bunch of other nifty odds and ends that get thrown into each level, so there's no way you’ll ever be bored. One really neat addition to the Air Supply line of games is the idea of a perk, which is basically a bonus, like starting the game with a certain score or having your air run out more slowly. You get a left perk and a right perk, each of which come from a different set of choices, and you only get to pick these when you start a new game, so you’ll have to choose wisely.

To move around in both the main and mini game you have left and right arrows. You also have a shoot button, but in the main game this button also acts as the “ascend” button. So when you’re not shooting, you’re also falling. It takes some getting used to, but Flappy Bird fanatics should love it. There is Game Center integration, though unfortunately it’s not quite working at the moment. Rest assured that when it is, the 45 achievements the game has to offer will certainly keep you busy.

If you’re familiar with the Air Supply franchise, the graphics will make you feel right at home, and if not, then shame on you. There’s just enough modern flair added to some basic visual design to make the whole thing work without feeling antiquated. It’s what I like to call modern retro wonderful, and it actually makes a two-color scheme palatable for the most part (there are a couple of colors I’m not particularly fond of). Apparently, you can even unlock a multi-color scheme, which I’m really looking forward to. The sound effects are probably my least favorite part of the whole package, but they fit with everything else, so I learned to live with it. The soundtrack is of the 8-bit chiptune variety, and while not every tune is my favorite, I’m impressed with the selection overall.

The Red Eye

If I haven’t made it obvious enough yet, I really like this game. Sure it’s not perfect, but as far as casual games go, it ranks near the top. The audio and visual elements maintain the retro quality that the Air Supply franchise holds dear; the action is fast, furious, and plentiful; and most importantly, there’s a ton of stuff to unlock. Air Supply – SOS is a sure bet for some quick gaming goodness, but don’t be surprised if you find it hard to put down.

Overall Score: 4.5 stars out of 5

Tip of the Day: Answer Phone Calls On Your iPad

$
0
0

This post is part of our daily tip series. Want to master your iPhone and iPad? Sign up here to get the tip of the day delivered right to your inbox.

Forget running downstairs to where you left your iPhone, take the call on your iPad or iPod instead (as long as you have later-model devices running iOS 8).

To make or receive a phone call on an iDevice other than your iPhone:

  • Make sure both devices are signed into Facetime with the same Apple ID.
  • Make sure iPhone Cellular Calls is turned on in FaceTime settings.
  • If your carrier offers Wi-Fi calling on your iPhone, turn it off. 

You will now be able to make or receive calls on your iPad or iPod.

To make a call on your iPad or iPod, you will only be able to call phone numbers already in Contacts, Safari, or Calendar. It seems pretty ridiculous that there is no dial pad available on the iPad or iPod to go with the Continuity Phone Call feature, but you will have to add a new number to Contacts in order to call it.

Please note that your iPhone will have to be in the same building in order for you to take or make a call on your iPod or iPad, since both devices will need to be on the same Wi-Fi network.

The Best Rugged iPhone 6 Plus Case for Under $20.

$
0
0

I only ended up with the Unicorn Beetle PRO ($19.99) by happenstance. I needed a rugged case for my iPhone 6 Plus as soon as possible, since I didn't want to use it without a case, but while most case makers had plenty of cases for the iPhone 6 ready to ship at launch, few were ready with cases for the 6 Plus, and even fewer had cases ready for the 6 Plus that were rugged options. With good reason I felt I needed a heavy duty case for this large and heavy iPhone 6 Plus, so I took to Amazon and before long these rugged cases from a manufacturer I hadn't heard of began coming up in the search results, and their rugged cases seemed, at first glance at least, to be almost on par with Griffin's Survivor All-Terrain ($59.99) or Otterbox's Defender ($69.90), two industry-leading, rugged case brands. So I took a chance and placed my order, figuring it was only $20 in the event that I hated it. I can now say that not only was I immediately impressed by the overall design and build of this sturdy case, I've been using it for almost two weeks now, and I've already drop-tested this case with hard falls from approximately three-feet high. It's safe to say that the way this case performs and feels in the hand is definitely reminiscent of the Otterbox Defender or the Survivor All-Terrain.

This case comes with a separate clip-on holster and features a rugged, reinforced two-piece design made from a combination of hard plastic and grippy rubber. The volume and power buttons are completely sealed and sturdy flaps cover the mute button, charging port, and headphone jack. The speaker is exposed through a recessed cutout which keeps indirect splashes away from it. The front has a highly responsive built-in screen protector and openings for the light sensor, phone speaker, and FaceTime camera, while the back has one opening for the iSight camera.

The Best Rugged iPhone 6 Plus Case for Under $20.     The Best Rugged iPhone 6 Plus Case for Under $20.

There is nothing flimsy about this case, and yet there is nothing bulky about this sleek and form fitting case either. I would say it compares favorably with some of the best MIL-STD-810 cases out there. It's not waterproof, but I'd go so far as to say it is splash-proof. Its drop protection should keep your iPhone 6 Plus safe from repeated drops of about three feet, or from at least one drop of six feet, depending on how it lands, of course. Even with touchscreen protectors over your iPhone's touchscreen, it's important to keep in mind that a hard landing, face first, especially on an uneven surface, can spell disaster for the iPhone's glass panel. It doesn't have to fall from very high for the glass screen to crack, and if the iPhone touchscreen lands on a point, the glass may shatter regardless of the case brand.

The Best Rugged iPhone 6 Plus Case for Under $20.

Pros:

• If you like Otterbox's and Griffin's rugged and heavy-duty case options, you'll love the Unicorn Beetle by Supcase.

• Unbeatable price for the level of protection.

Cons:

•It would have been nice if the included holster clip could double as a viewing stand.

• Due to the physics of having to conform to the rounded edges of the iPhone 6 Plus, the plastic touchscreen protector bulged outward ever so slightly toward the center of the screen. It wasn't so bad that I couldn't work with it though, and if it really bothered someone, they could easily remove the clear plastic and even replace it with a stick-on protector, if having a screen protector was that important.

Verdict:

This quality and integrity of this inexpensive rugged case is surprising and refreshing. For the level of protection the Unicorn Beetle provides, I believe most consumers would expect to spend at least two to three times as much.

 

iPhone Life rating:

4.5 out of 5 Stars

Figure Out Tips and Splits Without an App with Tip 'n Split

$
0
0

There are a lot of tip calculators and bill-splitting apps, but many restaurants frown upon patrons pulling out their smartphones. And now that iPhones are getting larger and larger, I long for the days of a truly pocketable phone. The folks behind Tip 'n Split have come up with a handy, dedicated device that makes dining out a little easier, especially for seniors. This rugged little unit includes a 2.5X magnifying glass, which makes reading menus and bills easier. There's even a flashlight button to light things up. Of course, the main point of Tip 'n Split is to make it easier to figure out the tip, and to split the bill among multiple diners.

Step one is to enter the bill total, and touch ENTER. Next, the prompt at the top will tell you to select a tip percent. Enter that number, then touch ENTER again. The display will convert the tip to a dollar amount. Touch ENTER again and see the new total, including the tip. If you need to split the bill with other people, touch ENTER and it will prompt for the number of people, touch ENTER and get the per-user tab.

There are no other special functions...  The Tip 'n Split is not a calculator or a smartphone... this is a dedicated device, but that means it's not going to be confusing to use. Tip'n Split is a nice throwback to an earlier era, and for many diners who haven't taken the smartphone plunge, it could be all they need. It could also be a gateway to adopting an iPhone once the user sees the value of such technology!

Why Jabra's Revo Are My Pick for Best On-Ear Bluetooth Headphone

$
0
0

 My Vote for Best On-Ear Bluetooth Headphone [Review]

Out of a crowded field, the Jabra Revo Bluetooth headphones ($199.99) get my vote as one of best pairs of Bluetooth headphones of this year. Specifically, within the on-ear category of headphones, the Revo's performance is unparalleled. They are masterfully designed and show a remarkable level of attention to all of the details that go into making an exceptional pair of 'phones; from their intuitive user interface to the extreme torture testing they go through before they are shipped. I realize Bluetooth headphones aren't everyone's cup of tea, but if you are looking for a top quality pair, the Revos are the best your money can buy.

" class="wysiwyg-break drupal-content" src="/sites/all/modules/wysiwyg/plugins/break/images/spacer.gif" title="<--break-->"> 

It's not just me, if you do a little digging aroundonline, there are no shortage of glowing accolades about the Revo wireless. These cans have been praised by consumer audiophiles and professional sound engineers alike, and with good reason. Of all the headphones I've come across as a tech journalist, I keep coming back to the Revos as some of my all-time favorites, which is really saying something since I have a large noggin with big ears and I tend to prefer over-ear headphones for their comfort as well as for their inherent noise isolating design.

 My Vote for Best On-Ear Bluetooth Headphone [Review]

Comfort and Design

More than any other pair of on-ear headphones that I've tried, the Revos are the most comfy. Their light and airy cushions make it easy for me to forget I'm even wearing headphones. I kid you not, it actually happened once; I went looking for them only to find that I was wearing them. True story.

There are several criteria I use to judge the comfort of headphones: how tightly they clamp on to the head, how heavy they are, how the headband feels on top of the head, and how the cushions feel on the ears. The Revos pass all of these comfort tests with flying colors. They are lightweight with a generously padded headband and the earcups have great range of motion, with smoothly adjusting arms and gimbaled cups.

The Revos also feel exceptional good in one's hands, with a silky texture to the plastic and metal of the frame and a rubberized coating to the earcups. In terms of appearances the Revos I have on hand have a sleek, distinct look with black and grey/titanium with the tiniest hint of bright orange on the outer earcups. There are several other colors to choose from including an elegant white and silver model as well as a classy black and gold model.

The Revo have been subjected to some pretty extreme testing, and if ever a pair of headphones was ready to take the abuse of an active lifestyle, it is the Revo. As you'll see in the short video below, the Revo have been  subjected to cable testing (to 15 kg / 33 lbs), bend testing (10,000 times), fold testing (3,500 times) and drop testing (from 2 m, 6’6’’). That's an impressive amount  of wear and tear to go through and remain relatively unscathed.

If you can't see the embedded Revo stress-test video above, just click HERE.

The Revos have two totally unique design features that are like the icing on the cake of an already great pair of Bluetooth cans. One great feature of the Revos is the free Jabra app that you can download in the App Store that allows these headphones to be customized to deliver the perfectly tuned audio, just how you like it.

 My Vote for Best On-Ear Bluetooth Headphone [Review]

The other unique feature of the Revos is the touch sensitive pad on the outside of the right earcup, which lets you control song selection and volume level, all with intuitive swipes and taps of your finger. Between the ability to fine tune your listening experience to such a precise degree and the slick touchscreen interface of the headset controls, the Revos are some of the most affordable luxury 'phones I know of!

Sound Specs

While the Revos are practically unrivaled when they are being used in conjunction with the Jabra audio app, the real question and the real test is how well these headphones perform independent of their fancy app. In my interaction with the Revos, I'd have to say that the base audio experience that they offer the listener is exceptional, on par with the best of the best Bluetooth headphones out there like the Parrot Zik or the House of Marley Liberate XLBT. While I still noted some occasional audio dropout, overall when you take into consideration the fact that they are Bluetooth headphones, the Revos offer exceptionally crispy and clear sound. When used with the accompanying Jabra app, it can be hard to tell the difference between the Bluetooth Revos and a good pair of wired on-ear 'phones.

 My Vote for Best On-Ear Bluetooth Headphone [Review]

Pros:

  • Support for the AAC Bluetooth codec, which is what Apple utilizes for delivering superior, near lossless audio quality over their iOS devices.

  • Incredibly tough and durable.

  • Lightweight, weighing in at only 8.5 ounces.

  • 12-hour playback time, and they function with the included audio cables even when they no longer have a charge.

  • Collapsible for portability.

  • Precisely adjustable arms and gimbaled earcups for maximum comfort.

  • Some of the most comfortable on-ear headphones on the market.

  • For anyone who scoffs at Bluetooth connectivity, the wireless Revos offer the best of both worlds with an option to plug directly into source via the included heavy-duty, braided audio cable.

Cons:

  • There isn't an over-ear model.

  • I still experienced the occasional sound gap or acoustic dropout that is sometimes an unfortunate trade off when adopting Bluetooth wireless technology. If however, you like the sound of these cans, but the idea of Bluetooth generally turns you off and is something you'd never use, be sure to check out the Bluetooth Revo's wired twin, the Revo 1.0.

  • The fact that the music playback controls on the Revos rely on touch, make it impossible to control your audio in colder temperatures without removing your gloves or without having touchscreen-enabled gloves on. This is perhaps the Revo's biggest drawback for anyone in cold environments. In fact, the only point that keeps the Revo from having a full five-star rating is the fact that if you want to control audio playback in colder climates, the only way to do so other than with no gloves or touchscreen gloves, is by taking your iDevice out and doing so from there. It would be nice if the inline mic built into the accessory audio cable allowed for a single click to adjust volume and a double click to adjust song selection or to activate Siri, like so many other Bluetooth headphones already allow.

Verdict:

I can't say enough good things about the Jabra Revo Bluetooth headphones. Not only are the Revos best in (over-ear) class, they rival some of the top offerings overall, which include the audiophile-favorite, over-ear category of headphone. It will be interesting to see how they stack up in my end of the year round up of the best headphones of 2014. I expect they will do quite well so stay tuned for my year-end, holiday round up in November.

iPhone Life rating:

4.5 out of 5 Stars

 

Tip of the Day: Keep Your iPod from Ringing Everytime You Get a Phone Call

$
0
0

This post is part of our daily tip series. Want to master your iPhone and iPad? Sign up here to get the tip of the day delivered right to your inbox.

Apple's new iOS 8 is great, and one of those great new features is Continuity. With Continuity, users of multiple Apple products can take a phone call on one device and switch to another on the fly. I typically leave my iPhone docked at the entrance to my house and then I work upstairs on my MacBook. When the phone rings, I have to make a mad dash to answer it. Now I can take the call on my iPad. And soon, with Mac OS X Yosemite, I can answer the phone call on my MacBook!

But not everybody wants every device to ring when a call comes in. It can get awfully annoying in a household full of Apple gear. Fortunately, there's an easy solution. On any iOS device you don't want to answer calls on, go to Settings>FaceTime and turn off iPhone Cellular Calls. That's it! Now, incoming calls will only go through on the devices you want them to.

Swift Programming 101: Demystifying Swift's Initializers (Part 2)

$
0
0

In this second part of my two-part post on Demystifying Swift's Initializers, I explain the concepts of initializer chaining, two-phase initialization, and initializer inheritance using hands-on examples that walk you through some of these deeper concepts.

If you would like to follow along and perform the step-by-step instructions with this post (highly recommended) you can download the project we have completed so far at this link.

Initializer Chaining

Initializer chaining occurs when one initializer calls another initializer in the same class or in its superclass. In Apple's Swift documentation, there are three rules listed that govern initializer chaining. These three rules can be boiled down to one Golden Rule of Initializer Chaining:

When you instantiate an object, a designated initializer must be executed in every class in the inheritance chain.

For an example of this, check out the classes shown in Figure 1. ScientificCalculator is a subclass of Calculator, which in turn is a subclass of BusinessObject.

Initializer Chaining
Figure 1 - Initializer chaining in action

The Golden Rule dictates that when you instantiate an instance of ScientificCalculator class, the designated initializer of each class (shown in bold) mut be executed. Figure 1 shows one possible path of initializer chaining, but regardless of the path, a designated initializer must be executed in every class in the inheritance chain.

Now let's take a look at Apple's three rules and see how they are really enforcing the one Golden Rule.

  1. Designated initializers must call a designated initializer from their immediate superclass - If you skip a level of inheritance, then you break the Golden Rule because one of the designated initializers in the inheritance chain would not be called.
  1. Convenience initializers must call another initializer available in the same class - If a convenience initializer called an initializer in a different class or didn't call another initializer in the same class, the designated initializer in that class would not be executed, breaking the Golden Rule.
  1. Convenience initializers must ultimately end up calling a designated initializer - If this rule is broken, then the designated initializer in the same class as the convenience initializer would not be executed.

Two-Phase Initialization

Swift's class initialization occurs in two phases. Figure 2 demonstrates these two phases when you instantiate an instance of the Translator class that is a subclass of the BusinessObject class (we'll change it so that it is in just a bit.) 

Two-Phase Initialization
Figure 2 - Two-phase initialization

Here are the basic steps outlined in Figure 2:

  1. The Translator object's initializer is executed and its properties are initialized.
  1. The Translator object calls up to the superclass initializer and the BusinessObject properties are initialized.
  1. The BusinessObject's initializer can optionally perform additional initialization.
  1. Execution is transferred back to the Translator object's initializer, which can optionally perform additional initialization.

To help you fully understand how this two-phase initialization works, lets make the Translator class a subclass of BusinessObject and see how this affects its initialization.

  1. In the InitalizerDemo project, select the BusinessObject.swift file in the Project Navigator.
  1. Notice that the BusinessObject class has a dbName and an entityClassName property as well as a single designated initializer that accepts a dbName property:

  1. Select the Translator.swift file in the Project Navigator. It has fromLanguage and toLanguage properties as well as a designated initializer and convenience initializer:

  1. Now let's create the inheritance relationship shown in Figure 3.
BusinessObject and Translator classes
Figure 3 - BusinessObject and Translator classes.

To do this, add the following superclass declaration to the Translator class:

As soon as you specify this relationship, you're going to get a compiler error that states "Super.init isn't called before returning from init." To fix this problem, add the following call to the superclass initializer in the Translator class:

This code calls the BusinessObject class's designated initializer, passing a value for the dbName parameter.

Initializer Safety Checks

There are four basic safety checks performed by the Swift compiler to make sure Swift's two-phase initialization is set up properly in your custom classes. Let's take a look at each of these checks in the context of the Translator and BusinessObject relationship you have just set up.

Safety Check 1: A designated initializer must ensure that all of the properties introduced by its class are initialized before it delegates up to a superclass initializer.

The Translator class currently initializes both of its properties before it makes a call to super.init. If you comment out the code that initalizes the toLanguage property, you will see the compiler enforce Safety Check 1 as shown in Figure 4.

Safety Check 1
Figure 4 - Calling super.init before initializing properties

Safety Check 2:A designated initializer must delegate up to a superclass initializer before assigning a value to an inherited property.

The Translator class inherits the entityClassName property from the BusinessObject class. If you try to set the value of this property in the Translator's initializer before making a call to super.init, you will see the compiler enforce Safety Check 2 (Figure 5.)

Safety check 2
Figure 5 - Initializing an inherited property before calling super.init

Safety Check 3: A convenience initializer must delegate to another initializer before assigning a value to any property (including properties defined by the same class.)

If you add code to the Translator object's convenience initializer that sets the value of the fromLanguage property before calling the designated initializer, you will see the compiler enforce Safety Check 3 as shown in Figure 6.

Safety check 3
Figure 6 - A convenience initializer assigning a value to a property before calling another initializer

Safety Check 4: An initializer cannot call any instance methods, read the values of any instance properties, or refer to self as a value until after the first phase of initialization is complete.

Add the following convenience initializer and instance method to the Translator class:

This convenience initializer first calls self.init, and then calls the getLastUsedLanguages instance method, which reads the previously used from/to langauges from a local database (we're just mimicking that here) and returns the languages in a tuple. The initializer then stores those values in the fromLanguage and toLanguage properties.

If you move the call to the instance method above the call to super.init, you would see the compiler enforce Safety Check 4 as shown in Figure 7.

Safety check 4
Figure 7 - Calling an instance method before the first initialization phase is complete

At times, you can get around this limitation by calling a class method rather than an instance method. To demonstrate this, change the convenience initializer and the instance method to the designated initializer and the class method shown here:

This gives the Translator class two designated initializers (which is perfectly legal) and allows the initializer to set the values of the fromLanguage and to Language properties in phase 1 of the initialization rather than waiting for phase 2.

Initializer Inheritance

Unlike regular methods, in Swift, initializers are only inherited by a subclass under specific conditions. Let's try a hands-on example to help you fully understand how this works. Since you are already familiar with the Translator class and its initializers, let's create a subclass of Translator to see how initializer inheritance works.

  1. Open the InheritanceDemo project in Xcode.
  1. Right-click the Translator.swift file in the Project Navigator and select New File... from the menu.
  1. On the left side of the New File dialog under the iOS section, select Source. On the right side of the dialog, select Swift File, and then click Next.
  1. In the Save File dialog, change the Name of the file to Subtranslator.swift and click the Create button. This adds the new code file to the Project Navigator.
  1. Add the following class declaration with no superclass specified to the Subtranslator.swift file:

  1. With the Subtranslator.swift file selected in the Project Navigator, go to the File Inspector (the first button on the left in the Inspector toolbar) and select the InitializerDemoTests check box. This makes the Subtranslator class accessible to the unit test target.
  1. Select the InitializerDemoTests.swift file in the Project Navigator and add the following test method before the closing curly brace of the class declaration:

When you type the opening parentheses to invoke the Subtranslator initializer, notice there is only initializer shown in Code Completion as shown in Figure 8.

The default initializer
Figure 8 - The default initializer

This is the default initializer provided by Swift when you don't declare any initializers for a class.

Let's see what happens when we make Subtranslator a subclass of the Translator class.

  1. Add the following code to the Subtranslator.swift file's class definition:

  1. Press Command+B to build the project.
  1. Go back to the InitializerDemoTests.swift file and delete the parentheses in the code that creates the instance of the Subtranslator class. Afterwards, add the opening parentheses back in and you will see the list of initializer methods shown in Figure 9.
Inherited initializers
Figure 9 - Inherited initializers

The first two initializers in the list are designated initializers inherited from the Translator class. That's because of Swift's first rule of initializer inheritance:

Rule 1:If your subclass doesn't define any designated initializers, it automatically inherits all of its superclass initializers.

We didn't declare any initializers in the Subtranslator class, so it inherited the designated initailizers from the Translator class.

The third initializer in the Code Completion list shown in Figure 6.13 is a convenience initializer. This initializer is also inherited from the Translator class because of Swift's second rule of initializer inheritance.

Rule 2: If your subclass provides an implementation of all of its superclass designated initializers—either by inheriting them as per rule 1, or by providing a custom implementation as part of its definition—then it automatically inherits all of the superclass convenience initializers.

The Subtranslator class inherited all of the Translator class's designated initializers, so it also inherited its convenience initializer.

Now let's see what happens if we declare a designated initializer in the Subtranslator subclass.

  1. In the Subtranslator.swift file, add the following property and designated initializer:

  1. Go back to the InitializerDemoTests.swift file and delete the parentheses in the code that creates an instance of the Subtranslator class. Afterwards, add the opening parentheses back in and you will see the list of initializer methods shown in Figure 10.
Lost inheritance
Figure 10 - No initializers are inherited.

According to the rules of initializer inheritance, the Subtranslator class no longer inherits any initializers from the Translator class because it declares its own designated initializer.

Let's change the Subtranslator class's designated initializer to a convenience initializer and see what happens.

  1. In the Subtranslator.swift code file, change the initializer to the following code:

  1. Now go back to the InitializerDemoTests.swift code file, delete the parentheses, add the opening parentheses back in, and you will see the list of initializers shown in Figure 11.
The inherited initializers are back!
Figure 11 - The inherited initializers are back!

From this, we learn that if a subclass only declares convenience initializers, it inherits all of its superclass initializers.

Overriding Initializers

As with regular Swift methods, if you override an initializer from a superclass, you use the override keyword and declare an initializer with the same parameters and types. Let's give it a try.

  1. In the Subtranslator.swift code file, add the following initializer overrides:

  1. Go back to the InitializerDemoTests.swift file and check out the initializers that now appear in the Code Completion list (Figure 12).
Still inheriting initializers
Figure 12 - Still inheriting the convenience initializers when manually overriding the designated initializers

As you can see, the Subtranslator class still inherits the convenience initializers when it manually overrides the Translator class's designated initializers.

Another point to note about overriding initializers, is that a class can override a designated initializer and make it a convenience initializer instead. Doing this still allows the subclass to inherit the superclass convenience initializers.

Optional Properties and Constants

Optional properties automatically receive a value during initialization. You should declare a property as optional if it's allowed to have no value during initialization or at some later point.

Constant property values can be set during initialization, but they must have a definite value by the time the initialization process is complete. Constant values can only be set by the class in which they are declared. This means you can't modify the value of a constant property in a subclass.

Conclusion

That covers most of what you need to know about initalizing your custom classes! I hope this has demystified Swift class initialization for you. I recommend reviewing the information in both parts of this post as you create initializers for your own custom classes. 

 

Your Gadgets' Best Friend: The SeV Revolution Plus TEC Jacket [Review]

$
0
0

 The SeV Revolution Plus TEC Jacket [Review]

I love the changing of the seasons. In fact October is one of my favorite months here in the US. From coast to coast, temperatures are cooling down, trees are lighting up with brilliant colors, and there's a refreshing nip to the air. With the return of the cooler weather, many of us are rummaging through our closets, as we put away our warm weather gear and search for our winter wear. If you are in the market for a new winter jacket (or if you're contemplating giving a warm jacket to that special someone) have I got an amazing recommendation for you!

I've been a tech geek ever since I was a young child, and I've always had some kind of gadget with me on my adventures. I first got hip to the SCOTTeVEST (SeV) catalog of tech apparel about 10 years ago when I was given one of their hoodies for my birthday. I loved it and I wore it consistently for years, until my wife put her foot down and said she was "hiding" it (read: it's too old and ratty and don't ask where I "hid" it). Since then I've been a big fan of the brand and the line of outstanding quality tech clothing that they produce. Recently I've had the opportunity to review SCOTTeVEST's new Revolution Plus ($200), 26-pocket, men's winter jacket. Spoiler alert: It's amazing! This finely tailored jacket is an elegant fusion of fashion-friendly style and tech-friendly functionality. Truly, I know of no other jacket on the market that has gone to such great lengths to accommodate the techie traveler.

 

Highlights

The Revolution Plus has a lot going for it. A great deal of time and attention to detail has been poured into this cold weather jacket, so let's dive right in and take a look at some of my favorite features.

  • Waterproof: The Revolution Plus employs a hot-melt lamination technique, called HEALSPO, and Teflon fabric protection for superior water protection. Along with waterproofing, the patented HEALSPO technology also facilitates excellent wicking, whereby perspiration vapor is drawn away from the body, making for a more comfortable wearing experience in a wider range of temperatures.

  • Magnets: While the Revolution Plus does utilize zippers for some of its pocket closures, many of the pockets rely upon tiny magnets embedded in the fabric to clamp the pockets shut. This makes getting in and out of the pockets a snap, no pun intended.

 The SeV Revolution Plus TEC Jacket [Review]
SCOTTeVEST CEO, Scott Jordan, showing off the jacket's iPad pocket.
  • Pockets, pockets, and more pockets: Speaking of pockets, how many pockets does your average winter coat pack? My Columbia winter jacket's 5 pocket storage can't hold a candle to SCOTTeVEST's whopping 26 pocket count. And if you think 26 pockets is excessive, trust me, if you ask most any traveling tech-geek or well organized businessman, they will testify that indeed, 26 pockets isn't too much. It's good to have storage options and with 26 pockets to choose from, (including one that's large enough to stow the iPad Air), it's easy to stay organized while carrying everything you need. In fact, with all of the convenient pockets the Revolution Plus offers the wearer, it's conceivable that you won't even need to carry a bag or briefcase around with you.

  • NOBULGE pocket design: Speaking of carrying things around with you, the SCOTTeVEST Revolution Plus utilizes what they call a NOBULGE pocket design, with specially engineered streamlined pockets that keep any items being toted from creating unsightly bulges or attracting unwanted attention.

  • Weight management: With this many pockets you might imagine this jacket can get a little heavy. While that may or may not be the case, depending on how you use it, the folks at SCOTTeVEST have come up with an ingenious structural solution which they call their Weight Management System. This system works by reinforcing the fabric at key points to create a jacket that actually helps you carry the extra weight in the most ergonomic and comfortable fashion possible. In my experience of the Weight Management System, it's actually more comfortable to carry gear around in the jacket, than strapped on my back or over my shoulder in a backpack or messenger bag.

 The SeV Revolution Plus TEC Jacket [Review]
The interior of the Revolution Plus, note the touch sensitive pockets.
  • Warmth: This is key. After all, what good is a winter jacket that's not warm, right? The Revolution Plus is SCOTTeVEST's warmest offering, designed to keep you cozy even in freezing temperatures. It sports a thick inner quilted layer for maximum warmth on chilly days. In fact, if I had any minor gripe with the Revolution Plus it would be that the quilted lining isn't removable. The jacket would have a greater range of weather applications if the inner lining could be removed. As it stands now, this jacket is definitely geared towards colder weather, but it would be more versatile if the lining could be taken out, transforming the Revolution Plus into a lightweight top layer. On the plus side however, the sleeves and hood of the Revolution Plus are removable. This feature goes a long way toward making this jacket something that can be worn on freezing and snowy days when you'd probably just as soon stay home huddled by a fireplace, as well as on those warmer days of spring and fall adventures.

 

The SeV Revolution Plus is a cold weather jacket specifically geared toward satisfying the needs and criteria of the pocket-obsessed techie and the organized and active traveler. It serves its intended audience exceptionally well. The Revolution Plus gets a rare iPhone Life rating of 5 out of 5 Stars.

 

The Revolution Plus is just one of many high-quality pieces of tech apparel available at the SCOTTeVEST website. Their full catalog of tech-friendly gear is definitely worth checking out, especially as the cold weather holidays draw near. With their selection of travel jackets, vests, shirts and pants, for both men and women, you'll be sure to find something for anyone who might appreciate apparel that's practically custom-made for the iPhone Life community.

 

Review: HoverBar 3 and iKlip Xpand

$
0
0

Twelve South HoverBar 3 ($99.99)

3 out of 5 stars

Twelve South, the makers of one of my favorite bookish iPad and MacBook cases (the BookBook series) also sells other items, one of those being the HoverBar 3.

Here is the simple value proposition of the HoverBar: Screw down the adjustable arm to the edge of a desk, table, bed or to the neck of a monitor and when you attach your iPad, it will hover above whatever the bar is screwed down to.

AS far as that simple value proposition goes, the HoverBar does exactly what it says. It is a high-quality product, matching what I have come to expect from the Twelve South engineering team. But quality does not always make for a good design.

Here are my issues:

Weight

This is a heavy product and can feel rather unwieldy when you are attaching it to something. Make sure breakables, pets, and children are out of the way (if however, you aren’t using it, keep it by the bed; it will do a number, I’m sure, on an intruder).

Mounting Plate

Screwing it down requires just the right kind of flat surface. It was, of course, originally designed to attach to the neck of an iMac, and it still fulfills that design goal. But it is now much more universal , if you happen to have flat surfaces at the proper angles to take advantage of the product. I have a Hooker desk, for instance, and the only place I could test it was on retractable surfaces above the draws. Attaching the HoverBar 3 made them no longer retractable. So make sure you have the right kind of surface to attach it to before buying.

If you do have the right kind of surface, the quality manufacturing comes into play because Twelve South placed rubber pads on the top and the bottom of the HoverBar’s attachment plates, creating a no mar surface with plenty of surface area, so you shouldn’t have any issues with indentations of wood.

Screwing and unscrewing requires keeping track of a allen wrench to unscrew the hexnut used to tighten down the mounting plate.

iPad Mounting Hardware

The HoverBar comes with custom-made plastic plates, with mounting hardware, for each of the major iPad types (2 form factor, Air, and mini). I’m a bit at odds with the designers on how they decided to attach the iPad's to the arm. These custom plastic plates wrap nicely around the edges and cradle the iPad. So far so good. On the back of the plate, however, is a square metal connector that attaches to the swivel head of the HoverBar. This square can also be used to clip into a desk stand when the iPad isn’t on the HoverBar.

On one hand, I give the Twelve South team credit for thinking “system” but they did so with a small “s.” If you use any other iPad case, save perhaps their BookBook line which is fairly easy to slip an iPad in-and-out of, the Hoverbar becomes an extra thing that must be managed. If you use high-end cases like those from Otterbox or Incipio, you may find it too much of a hassle to move your iPad from case to mounting system and back again. With the exception of a skin like those from Zing Revolution, the mounting brackets aren’t made to work with any other case. So that’s is problem one with the mounting hardware: incompatibility with other cases.

Problem number two: sharp edges and a tough dismount. When testing this sample I knicked my hand a couple of times when removing the iPad from arm. I had a hard time getting the release to work, and when I pulled hard enough with my hands in the wrong place, the iPad, once free, sent the square doodad into my finger flesh. It didn’t draw blood, but it did hurt. So be careful and don’t let children detach the iPad from the Hoverbar 3. It appears to have a great mechanism for taking hold and staying put, but not one designed for easy detachment.

Mounting system with a Big “S”

What I would have preferred from Twelve South was a case that worked with the mounting system, perhaps one that was even thin enough to also be used with the BookBook series (that square mounting doodad is just in the way). I know that there are design constraints and gives and gets, but I see a lot of cases, and I find very few cases or systems think about other accessories, or from a strategic business standpoint, making those other cases or accessories unnecessary. It can be done.

For example, the New Trent Airbender series of cases, has a detachable mount for the keyboard. When removed, the circular mount reveals the iPad’s Apple logo, which is sealed from behind. This converts the Airbender into a rugged, or not-so-rugged, case, depending on the model. If you have an Airbender 3.0, the case without the keyboard is thin enough to slip into many other non-form fitting iPad Air cases.

So what I would like to see from Twelve South is a mounting system (or at least an option) that provides compete protection for the iPad and a quick mount/dismount system. I favor a squeeze type mechanism, though perhaps not as accurate and immediately locked as the one used on the HoverBar 3; they are much easier to remove, and in my experience, safer. 

In an ideal world the Hoverbar 3 would use a mounting system that would match up with one on the BookBook, making for an end-to-end solution for Twelve South aficionados. 

Bottom line:

If you desire your iPad at eye level when you work, a Hover Bar 3 may be a good solution. For me, it introduced too many hassles to be useful on a day-to-day basis. For those who use a naked iPad, you may have a different experience.

 

The iKlip Xpand Alternative

IK Multimedia iKlip Xpand ($49.99)

4 out of 5 stars

IK Multimedia caters to musicians, so the iKlip Xpand is not designed to work with the iPad on a desk, but on a microphone stand. A simple screw mount tightens the expandable mount to the microphone stand.

Unlike the Twelve South system that offers a different mounting plate for each model, the IK Multimedia engineers have given us an expandable spring system that can even accommodate some thin shell cases. This product would have benefited from case thinking as well by making the attachments a little longer, perhaps with a bit of an edge, or a flip-up piece that would stop an encased iPad from escaping the Xpand’s grip for thicker cases. I tested it with the C6 Bookcase, however, and the Xpand held tight, even with the cover flipped back.

Note: if you already own an older stand from IK Multimedia, the iKlip Xpand mounting system uses the same hardware so you can swap out an iPad 2 specific mount for the more universe Xpand. Using this hardware the system then fits a work environment from MacBook Air to a Moog Sbu Phatty.

Bottomline: The Xpand is a lightweight, solid solution for musicians, and when combined with IK Multimedia's stand products, a good desktop solution as well. Working without removing thin cases which is a plus.

Tip of the Day: How to Add a Third-Party Keyboard in iOS 8

$
0
0

This post is part of our daily tip series. Want to master your iPhone and iPad? Sign up here to get the tip of the day delivered right to your inbox.

One of the most-requested features for the iPhone and iPad was the ability to add third-party keyboards, and Apple responded to that request in iOS 8. Popular keyboards such asSwype ($0.99) and SwiftKey (free) add many features, and can speed up text entry.

To add a third-party keyboard, first download a keyboard app in the App Store. Then once you've downloaded it to your device, go to Settings>General>Keyboard.

In the Keyboards screen, go to Keyboards>Add New Keyboard. Under Suggested Keyboards you should see the name of the keyboard you've downloaded. 

 

Tap on it, and it will now appear in the list of keyboards in the Keyboards screen.

Then you need to make a choice regarding privacy. Tap on the name of your new keyboard in the list of keyboards, and it will bring up a screen that says "Allow Full Access." If you turn this on, it will give the keyboard access to data such as text that you've previously typed. If you're concerned about privacy, don't turn this on. However, I found that the keyboard works much better if you turn this access on. 

Now you're ready to use your new keyboard. When you're typing text, you can invoke your new keyboard by pressing and holding the globe at the bottom left of Apple's onscreen keyboard and selecting the name of your new keyboard.

Top image credit:gilotyna4/Shutterstock.com

Viewing all 13234 articles
Browse latest View live