iOS Development with Firebase (Online Course)

Firebase is popular software suite that enable mobile developers to quickly and easily add server-side functionality to apps: authentication, data storage, and more. This course explores some of the most useful services in the Firebase SDK for iOS app development. Instructor Bear Cahill starts by showing how to set up a project in the Firebase Read more about iOS Development with Firebase (Online Course)[…]

iOS Unit Testing with Xcode (Online Course)

Unit Testing for iOS Developers   Unit testing is a useful method for verifying functionality—both before and after development—and can help you catch and fix bugs. Xcode can automatically add unit test support to your projects. In this course, explore the fundamentals of unit tests in Xcode and discover how to add unit tests to Read more about iOS Unit Testing with Xcode (Online Course)[…]

iOS CoreBluetooth BLE Online Course

Adding Bluetooth LE functionality to your app can be intimidating. Dealing with hardware connections is always a bit of a mystery. CoreBluetooth really helps simplify the details and the heavy lifting. It boils down the connection and communication to something more familiar to most developers. The course: @Lynda @Linkedin Learning However, there are still a lot Read more about iOS CoreBluetooth BLE Online Course[…]

Linkedin Career Clinic

Featured on LinkedIn Career Clinic: Developer Insights

Bear is featured on the latest Linkedin Career Clinic: Developer Insights video. The video features a handful of content authors for Linkedin Learning on the topic of clean code practices. Being passionate about your work is always plus and hopefully a goal. Even though development is often as much math and science as anything else, Read more about Featured on LinkedIn Career Clinic: Developer Insights[…]

iOS Network Development Using URLSession and Alamofire Online Course Release

  iOS Network Development Using URLSession and Alamofire with: Bear Cahill …is now available on LinkedIn Learning: https://www.linkedin.com/learning/ios-network-development-using-urlsession-and-alamofire and on Lynda.com: https://www.lynda.com/iOS-tutorials/iOS-Network-Development-Using-URLSession-AlamoFire/645028-2.html Course Description: Networking is a common component of modern mobile apps, necessary for authenticating user accounts, fetching data, and downloading and uploading files. Learning the latest networking frameworks is vital to quality, maintainable Read more about iOS Network Development Using URLSession and Alamofire Online Course Release[…]

iOS slide in menu

Slide in Menu as an UIViewController Extension

  We often need to add a slide in menu to a UIViewController. It’s no easy task in Interface Builder. Here’s how to make one in code… Slide in Menu as an UIViewController Extension   First create a new file called MenuMgr.swift in your project. Declare the class… (link to the code at the bottom) Read more about Slide in Menu as an UIViewController Extension[…]

Using SharedPreferences Anywhere in Android app

Android/Java – SharedPreferences from anywhere in your App

Coming from iOS, I’m used to having access to UserDefaults anywhere in my code for storing user settings and such. Android requires a context to access SharedPreferences – pain.   SharedPreferences from anywhere in your App   So I created a Constants class that takes a context, creates a singleton and then allows for various Read more about Android/Java – SharedPreferences from anywhere in your App[…]

Validation for Email and Password

iOS/Swift 3 validate Email and Password Format

Here’s a couple of quick functions I use in a few forms in different projects. They’re pretty common and can be found other places. I based these on various things I’ve found online. So, like most things, I can’t take 100% credit but we all learned things from somewhere. The first is an email validator. Read more about iOS/Swift 3 validate Email and Password Format[…]

UITextField Form with Previous/Next Keyboard Accessory Input View as Extension (iOS/Swift)

UPDATED: Now use a scrollview instead of moving the view around. See the bottom of this post. Here’s how to easily, quickly create a manager for a form of UITextFields including Previous/Next buttons on a toolbar above the keyboard. It uses an extension on the UIViewController so it’s non-intrusive. All you have to do is Read more about UITextField Form with Previous/Next Keyboard Accessory Input View as Extension (iOS/Swift)[…]

Displaying an alert from an Extension

Display Alert Controller Popup from any UIViewController (iOS/Swift) Extension

Many apps use the UIAlertController to display information the user for them to acknowledge with an “OK” button. A UIViewController needs to present the alert controller to the user so I wrote an extension on UIViewController to handle this. This is just a simple alert to the user with an “OK” button that dismisses the Read more about Display Alert Controller Popup from any UIViewController (iOS/Swift) Extension[…]

Loading screen for iOS in Swift

Display a Loading/Waiting Activity Indicator (iOS/Swift)

Oftentimes, you need to display an activity indicator to the user when fetching or loading data.   It’s best to keep this in one place for ease of use. Also, it’s best to make sure this is done on the main/UI thread.   Loading Screen in Swift     Here’s a way to do it Read more about Display a Loading/Waiting Activity Indicator (iOS/Swift)[…]

Stack Overflow Developer Survey Results 2017

The stack overflow Developer Survey results for 2017 proved fairly interesting, somewhat confirming, slight surprising and a semi-overwhelming. You can read the results yourself to decide what’s interesting. There’s a few things I felt noteworthy to me…   FREEDOM! When I went solo I had a few intentions: no physical product, no physical location, no Read more about Stack Overflow Developer Survey Results 2017[…]

What to Expect From Apple’s September 7 Event – Video

Source: What to Expect From Apple’s September 7 Event We’re just a few days away from Apple’s annual fall event, where we expect to see the launch of the new iPhone 7 and iPhone 7 Plus, a second-generation Apple Watch with new bands, and refreshed Beats products. We may also see the debut of Apple’s rumored wireless “AirPods” earbuds, Read more about What to Expect From Apple’s September 7 Event – Video[…]

map view uiviewcontroller extension

Swift: Handle Location and MapView Updates with Extension on UIViewController

As I mentioned in another extension post, I dig them…when they make sense. I tend to do simple map stuff a good bit and wanted to write an extension for it. Swift: Handle Location and MapView Updates with Extension on UIViewController What it does: Requests authorization for user location Centers the map on the user Read more about Swift: Handle Location and MapView Updates with Extension on UIViewController[…]

wwdc keynote summary video

Watch Apple’s Two-Hour 2016 WWDC Keynote in 7 Minutes – Mac Rumors

It’s even less time if you watch it at 1.5 speed… Apple today unveiled new versions of iOS, watchOS, tvOS, and macOS, all of which are jam-packed with new features. iOS in particular was referred to as Apple’s biggest iOS update ever, with major improvements to Messages, Apple Music, Siri, and tons of other minor Read more about Watch Apple’s Two-Hour 2016 WWDC Keynote in 7 Minutes – Mac Rumors[…]

extension to compose email swift

Swift: Compose Email (MFMailComposeViewController) as an Extension to UIViewController

UPDATED for Swift 4… I’m a fan of extensions – but hopefully only when it makes sense. I wanted to write an extension on UIViewController to allow me to send email from any subclass…         Swift: Compose Email (MFMailComposeViewController) as an Extension to UIViewController Steps… Add a new file (⌘-N) and select Read more about Swift: Compose Email (MFMailComposeViewController) as an Extension to UIViewController[…]

app development cost

App Development: Hire, Outsource or Freelance

There’s a not of pros and cons to the different approaches to getting an app developed. But first there’s apps and then there’s apps. App Development: Hire, Outsource or Freelance Does your “app” calculate tips? That’s pretty basic. But if you’re building “the next Facebook” it’s really more of a company you’re building. If you’re Read more about App Development: Hire, Outsource or Freelance[…]

Apple’s App Review Process Now Takes as Little as Two Days – Mac Rumors

Good news… Apple’s app review process has become significantly faster during the first five months of 2016, according to AppReviewTimes.com, a website that tracks average App Store review times for both the iOS and Mac App Store using data crowdsourced from developers on both platforms. Source: Apple’s App Review Process Now Takes as Little as Read more about Apple’s App Review Process Now Takes as Little as Two Days – Mac Rumors[…]

podcast ios interview

HelloTechPros.com Podcast Interview Posted

I did an interview recently with hellotechpros.com podcast. Their “Saturday” topic is on Entrepreneurship. From the site… If you’re painting a picture of a sunset and someone tells you to add a dolphin, does that person’s idea represent your vision? If not, Bear Cahill recommends that you thank them for the input and move on. Entrepreneurs have Read more about HelloTechPros.com Podcast Interview Posted[…]

app development costs

App Development Cost – What Does it Cost?

The all important question everyone has to ask is: how much will it cost? App development cost varies based on several factors and can range widely. App Development Cost Of course the requirements of the app drive the app development cost. However, that’s not very clear since some requirements are easy/cheap and some are very Read more about App Development Cost – What Does it Cost?[…]

app cost

How Much Time and Money It Takes to Develop a Mobile App

Many mobile apps are so simple you might be tricked into thinking they took almost no time or effort to create. This infographic, outlining the mobile app development process, however, tells us that there’s a lot more to it.The graphic comes from app development company NineHertz. It says that it takes almost 18 weeks to Read more about How Much Time and Money It Takes to Develop a Mobile App[…]

xcode 7 - invalid bundle

Xcode 7 Invalid Bundle – iPad Multitasking Required Orientations

I started getting the Xcode 7 Invalid Bundle error: ERROR ITMS-90474: “Bundle Invalid. iPad Multitasking support requires there orientations:’UIInterfaceOrientationPortrait,UIIinterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight’. Found ‘UIInterfaceOrientationPortrait’ in bundle. Xcode 7 Invalid Bundle Fortunately the fix is easy: Select your project Select the General Tab Select your Target Check the box titled “Requires full screen” Done. More: xcode submit invalid bundle ipad Read more about Xcode 7 Invalid Bundle – iPad Multitasking Required Orientations[…]

iOS 9 Hidden Features: Settings Search, Selfie Folder, Home Sharing for Music, Go Back to App, and More – Mac Rumors

From MacRumors.com… There are quite a few major changes in iOS 9, like split-screen multitasking for the iPad, improvements to search and Siri, under-the-hood performance boosts, and revamped apps, but there are also dozens if not hundreds of lesser-known tweaks and refinements that make the iOS 9 experience better than ever before. Weve had a Read more about iOS 9 Hidden Features: Settings Search, Selfie Folder, Home Sharing for Music, Go Back to App, and More – Mac Rumors[…]

iOS 9.0 – Use HTTPS Exclusively for App Transport Security

Apple is “strongly” suggesting you use HTTPS only going forward with iOS 9 for App Transport Security. When Apple tends to make something a default (even if they allow exceptions) it usually means it will be required later. Hint: Change. App Transport Security App Transport Security (ATS) enforces best practices in the secure connections between an Read more about iOS 9.0 – Use HTTPS Exclusively for App Transport Security[…]

CloudKit – NSHipster

Perhaps you’ve heard of iCloud Drive before—iCloud Drive is where we can store our user’s data and files for easy access from other devices. CloudKit is the framework that helps us do this easily in the apps we create. CloudKit – NSHipster Source: CloudKit – NSHipster

Mac Rumors: ‘Hey Siri’ Event Roundup: iPhone 6s, iPad Pro, New Apple TV and More

  There were several new big announcements at the apple ‘hey siri’ events. iPhone 6s with 3D touch, tvOS for the new Apple TV and the large iPad Pro were the highlights… Hey Siri Source: Mac Rumors: Apple Mac iOS Rumors and News You Care About Apple was on stage at the Bill Graham Civic Read more about Mac Rumors: ‘Hey Siri’ Event Roundup: iPhone 6s, iPad Pro, New Apple TV and More[…]

Mac Rumors: ‘iPhone 7’ Thickness Likely to Approach iPod Touch

KGI Securities analyst Ming-Chi Kuo has issued a new report that suggests next year’s “iPhone 7” could be Apple’s thinnest smartphone yet, with a thickness of somewhere between 6.0mm and 6.5mm, which Kuo mentions is a near similar measurement of the current iPod touch’s 6.1mm. As a comparison, the current model of the iPhone 6 Read more about Mac Rumors: ‘iPhone 7’ Thickness Likely to Approach iPod Touch[…]

iOS icon resolutions

iOS Icon Resolutions Creator Script

I saw a script online somewhere (stackoverflow?) a while back that created some iOS icon resolutions. I updated it and found it very useful. iOS Icon Resolutions Create icon.sh in a directory and post the code below (don’t forget to chmod 777 the file). Then put the icon (1024×1024 png) in the same directory and run Read more about iOS Icon Resolutions Creator Script[…]

app development market - sdk api usage

App Development Market Study Infographics

Here’s a couple of interesting infographics on the App Development Market from ContractIQ – see the full article  Techcrunch and various other industry magazines App Development Market Study Infographics Download the whole report here – https://contractiq.com/mobile-app-development-report-2015 Hourly rate info…     SDK/API usage…

libGPUSupportMercury.dylib iOS Crash

libGPUSupportMercury.dylib iOS Crash

I’ve been seeing the libGPUSupportMercury.dylib iOS Crash and having a tough time nailing it down. I still can’t reproduce it predictably. However, I believe I have enough to avoid it. libGPUSupportMercury.dylib iOS Crash For me it’s happening in the initWithFrame: call for MKMapView in the background. The app monitors for significant location changes. When it’s Read more about libGPUSupportMercury.dylib iOS Crash[…]

significant location change

Test Significant Location Change – iOS Simulator

Testing location functionality can be tough. Significant location change updates especially so. Here’s how to test SLC in the simulator… Test Significant Location Change You may need to reset the simulator  (iOS Simulator>Reset Contents and Settings…) to test Significant Location Change. These steps assume you have setup your app to use the Location Manager to monitor Read more about Test Significant Location Change – iOS Simulator[…]

enable itunes testflight testing

iTunes TestFlight – TestFlightApp.com Shutting Down Services on 2/26

You may have noticed that TestFlight will shut down on 2/26/15 moving iOS app testing to iTunes TestFlight Beta Testing via iTunesConnect. While this is going to be work, it won’t be much different ultimately. Testflight has a useful FAQ on it. And Apple has a good site with a helpful video. iTunes Testflight Testers Read more about iTunes TestFlight – TestFlightApp.com Shutting Down Services on 2/26[…]

gripper calculator

Invanko Super Gripper App – Resistance Calculator

Drew Baye had a great idea for an app to be able to calculate the resistance on an Ivanko Super Gripper. He had the data and I created a simple app: Invanko Super Gripper App Invanko Super Gripper App       The calculator allows you to quickly and easily determine the spring configuration required for Read more about Invanko Super Gripper App – Resistance Calculator[…]

adhoc push notifications

Adhoc Push Notifications Not Working – Parse.com

Like many posts about parse.com adhoc push notifications not working, I was having problems receiving adhoc push notifications. I tried it all including recreating all the provisioning multiple times. Adhoc Push Notifications The solution, in this case, was simple: delete the app from my iPhone and try again. I believe it was mainly caused by the Read more about Adhoc Push Notifications Not Working – Parse.com[…]

create new account

Messages Not Syncing in Yosemite OSX MacBookPro – FIX!

So when Mavericks came out, Messages synced across my iOS devices and OS X/MacBook. Then it stopped. I long waited for the day when Yosemite and iOS 8 would come out and fix it all. No dice. I couldn’t even send to other Messages users. With iOS 8 and Yosemite I could now send texts to Read more about Messages Not Syncing in Yosemite OSX MacBookPro – FIX![…]

Xcode 6 Auto-Increment Build Number Script

Xcode 6 Auto-Increment Build Number Script

I recently started using Parse.com’ crash reporting and wanted to pay better attention to my build numbers in Xcode.   I found this post on stackoverflow about it and used the solution. It works great and I certainly want to give credit where it’s due.     Xcode 6 Auto-Increment Build Number     Steps: Read more about Xcode 6 Auto-Increment Build Number Script[…]

Parse.com Crash Logs – Adding Crash Reporting

I found out yesterday that Parse.com offers crash reporting now. I love Parse.com and use it for many projects. It’s easy to integration and flexible in almost every way. It provides object database service, push notifications and more and with fairly low effort and low cost. No, I’m not a salesperson for Parse.com. I used Read more about Parse.com Crash Logs – Adding Crash Reporting[…]

simulate slow network

iOS/iPhone Simulator – Simulate Slow Network Speeds

I needed to simulate slow network speeds for the iOS simulator. There’s a pretty easy provided way to do it. Click on Xcode>Open Developer Tool>More Developer Tools… This will take you to an Apple website to download more tools (or just click here).   Pick “Hardware IO Tools for Xcode” and download it. The dmg Read more about iOS/iPhone Simulator – Simulate Slow Network Speeds[…]

beta-reports-active - scheme

beta-reports-active – Testflight app cannot be installed at this time

I started getting “app cannot be installed at this time” from testflight installs. From the device console, I saw that my app entitlements were setting beta-reports-active but my provisioning didn’t include it. You might also get this message: “Entitlements found that are not permitted by provisioning profile” beta-reports-active From what I could piece together from Read more about beta-reports-active – Testflight app cannot be installed at this time[…]

Error reading ‘pic’: Xcode6/cocoapods analyzer error

I started receiving this error today when building with Xcode 6: error reading ‘pic’…

I googled a lot and found helpful posts on how to fix it, but no single one of them did the trick. It seemed like I had to do several of them in combination and in the right order. I Read more about Error reading ‘pic’: Xcode6/cocoapods analyzer error[…]

NSMergeConflict CoreData Crash in iOS 7

I kept getting an error like this… NSCocoaErrorDomain Code=133020 “The operation couldn’t be completed. (Cocoa error 133020.)” UserInfo=0x1115a6d0 {conflictList=( “NSMergeConflict (0x1115a670) for NSManagedObject   I chased the bug for a while looking at all types of threading issues. In the end, it was just that my background context didn’t have a merge policy set on it… Read more about NSMergeConflict CoreData Crash in iOS 7[…]

Only the 5.5-Inch iPhone 6 May Offer 128GB Models – Mac Rumors

In addition to a larger display, the iPhone 6 is expected to launch this September with a thinner design, a faster processor, and an improved camera. The larger 5.5-inch iPhone 6 is also rumored to exclusively have optical image stabilization to also differentiate it from the smaller iPhone 6, which will instead have an advanced Read more about Only the 5.5-Inch iPhone 6 May Offer 128GB Models – Mac Rumors[…]