Some people say that Pinterest is the new Google. People head to Pinterest to search for project ideas, recipes, and news about their favorite topics. Using the Follow Interest tool, you can easily find new pins about your favorite topics without following other pinners one at a time. Pinterest will find the most popular pins from all of of the users who are posting about the topics you love and display them in your Pinterest feed. I've used this feature to find new pinners to follow and find more great pins about my favorite topics: health & fitness, technology, and DIY.
How-To
Learn How to Build iOS Apps from Scratch
By Sarah Kingsbury
Have you always wanted to build an iOS app, but lacked the knowledge and skills? Have you ever signed up for an online course on creating iOS apps, only to feel frustrated because the content was out of date or not comprehensive enough? Are you dying to learn more about Swift and programming for the Apple Watch? It's a story we hear all the time at iPhone Life. And that's why we decided to partner with iPhone app expert, former Apple employee, and adjunct professor at RIT Paul Solt to make his iOS development courses available to iPhone Life readers at a big discount.
Swift Programming 101: The Power of Extensions
By Kevin McNeish
Extensions are one of Swift's best features. Extensions allow you to add behavior to existing classes, including classes in the Cocoa Touch Framework. Apple can't add every feature you want to their framework classes, but they have provided a tool to allow you to do it yourself! In this article, you will learn practical uses for Swift extensions you can use immediately in your iOS projects.
Swift Programming 101: Enhance Your Apps With External Displays
By Kevin McNeish
How would you like to extend the surface area of your app's user interface exponentially? How would your users react if you added multiple display devices to your app, each containing different content? All of this is possible by using an iOS feature many developers are not aware of—external displays.
What To Do If Your Device Gets Stuck in Recovery Mode
By Jim Karpen
In a recent post I noted that iOS 8.1.1 is now available for download. This morning I added a sentence to that post reminding people to BACK UP FIRST. That's because it's not uncommon for something to go wrong when one updates. For example, when I updated to iOS 8, I encountered an error, and the only way to get my iPad out of it was to restore to factory settings. Doing so means that everything is lost. Fortunately, I had backed up first, so it wasn't a problem.
Swift Programming 101: Advanced Collections
By Kevin McNeish
Swift's advanced collections can help you model more complex objects in your apps and create an API that is easier to understand and use. In this post, I model a chessboard using Swift's subscripts and also cover tuples and multidimensional arrays!
Swift Programming 101: Mastering Protocols and Delegates (Part 2)
By Kevin McNeish
In part 2 of this post on Swift's protocols, you will learn practical uses for declaring custom protocols in your own apps, and learn further how they improve the architecture of your apps and make them easier to enhance and extend.
In part 1 of this post, I demonstrated how to implement existing Cocoa Touch protocols in your apps. Now you'll learn how and why to create your very own. First, we need to cover the basic construction of a Swift protocol.
Swift Programming 101: Mastering Protocols and Delegates (Part 1)
By Kevin McNeish
Protocols are a powerful, advanced tool that help make your apps easier to design and extend. They define standard behavior in classes that are not necessarily related. Protocols used together with delegates allow you to create classes with a well-balanced load of responsibilities.
Swift Programming 101: Inheritance & Polymorphism
By Kevin McNeish
In previous posts I have touched on inheritance in Swift. In this post, I'm going to be diving deeper and giving you a fuller picture of how inheritance works in Swift, and how you can use it to create apps that are easy to extend when you need to add new functionality. Along the way, you will also learn about the important concept of polymorphism and learn how to use Xcode's new playgrounds!
Swift Programming 101: Generics-A Practical Guide
By Kevin McNeish
If you have read Apple's documentation on Generics and were left wondering how you could use this technology in your own projects, this post is for you! You will learn how to take full advantage of generics in your every-day code as well as how to avoid the constant type-casting that usually results from creating generalized code.
Swift Programming 101 - Understanding Access Control
By Kevin McNeish
Access Control is one of the late-breaking features added to the Swift language. It allows you to specify the parts of your code you want to make public, and the parts you want to hide. It's an important tool in creating easy-to-use, and easy-to-understand interfaces.
Swift Programming 101: Demystifying Swift's Initializers (Part 2)
By Kevin McNeish
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. You can read part 1 of this post at this link.
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.
Swift 101: Demystifying Swift's Initializers (Part 1)
By Kevin McNeish
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.
Swift 101 - Working with Swift's New Optional Values
By Kevin McNeish
The Swift programming language has a new feature called optionals that were not previously available in Objective-C. They are similar to optional types in Java and nullable types in the C# programming language.
Tip of the Day: How to Adjust Siri's Volume
By Sarah Kingsbury
Have you ever wanted to tell Siri to keep it down or to speak up, but couldn't find where in the settings to adjust the virtual assistant's volume? That's because there is no Siri volume control in Settings.
Asking Siri to adjust it's own volume doesn't work either. You may recognize these Siri replies from your own attempts to adjust the volume:
Tip of the Day: How to Turn on Character Count in Messages
By Sarah Kingsbury
Apple does not limit the character count for iMessages; but if you are sending a message to a non iUser it will be sent as an SMS and will therefore be limited to 160 characters. This means characters over 160 will be sent in a second text or possibly even deleted, depending on your recipient's carrier. To avoid this situation, turn on Character Count so you can always know when you've reached the SMS character limit.
Tip of the Day: Siri Can Flip a Coin, Roll Dice, and Make Hard Parenting Choices for You
By Sarah Kingsbury
Siri can flip a coin, roll dice, or pick random numbers for you.
These may seem like amusing but ultimately useless tricks, unless you are a parent. In which case they can help you navigate all the tricky situations you deal with on a daily basis.
Tip of the Day: Take Easy Silhouette Shots with Your iPhone Camera
By Sarah Kingsbury
One of my favorite things about my iPhone is the way even a decidedly untalented photographer like me can easily take and share decent photos and videos using the built-in Camera, and I'm always on the lookout for iphoneography tips to help me improve my skills. Here's one on how to take easy silhouette shots with your iPhone, generously shared with me by iPhone Life magazine's newest editor Rheanne Schlee. This really easy trick can result in amazing photos:
Apple Loosens up its NDA for iOS 8, OS X, and Xcode
By Kevin McNeish
Apple, notorious for its secrecy, has loosened up its restrictive NDA (Non-Disclosure Agreement) for the beta versions of iOS 8, OS X, and Xcode 6. In the latest version of the iOS Developer Program License Agreement, they have added the following statement in the Confidentiality section under the topic 10.1 Information Deemed Apple Confidential:
Unleash Your Inner App Developer Part 40: iBeacons Step By Step
By Kevin McNeish
Do you have an idea for an app but lack the programming knowledge to begin building it? In this weekly blog series, I will take you, the beginner app developer, step by step through the process of creating apps for the iPhone, iPod touch, and iPad. Join me each week on this adventure and you will experience how much fun turning your app ideas into reality can be! This is part 40 of the series. If you are just getting started, check out the beginning of the series here.
One of the hottest technologies to come out of iOS 7 is iBeacon. In case you haven't heard, iBeacon is Apple's trademark for what it calls "a new class of low-powered, low-cost transmitters that can notify nearby iOS 7 devices of their presence." This new technology solves one of the biggest problems with Location Services on iOS devices—pinpointing the location of a device when it's indoors. Unlike GPS technology that determines a device's absolute location in terms of latitude and longitude, the iBeacon technology measures a device's relative distance to an iBeacon in an established location. Since iBeacons work without the need for a WiFi or cellular connection, it makes them ideal for indoor use.