Bancroft Innovations and Technology Solutions LLC
Making technology work for you.
At BITS, we believe technology should work for you. We strive to equip you to tackle the ever-changing tech landscape with confidence through expert consultation and down-to-earth educational content. When your technology is broken, our repair services will have you back in the game in no time. BITS LLC is your one-stop shop for all things tech.
Technology consultation: We offer consultation services to businesses seeking to leverage and implement technology solutions. We specialize in data analytics and software development with over 15 years of enterprise IT experience.
iOS app development instruction: We offer educational content and guidance for learners who want to build iOS apps, including video tutorials, text-based guides, workshops, and one-on-one consultations.
STEM education for K-12 students: We offer tutoring, summer camps, and workshops designed to spark a passion for technology in the next generation and equip them for success in a technology-filled world.
Computer and device repair: We fix iPhones, iPads, MacBooks, and other Apple products, including screen repair, battery replacement, and software troubleshooting. We specialize in data recovery and board-level repair of Apple devices.
Developing for iOS is a valuable and in-demand skill, but if you haven’t developed in the Apple world before, it can be surprisingly different.
In this course, iOS 14: Getting Started, you’ll quickly get up and running using Xcode 12, Swift 5, and SwiftUI to build great iOS apps and tap into the latest features in iOS 14.
First, you’ll see the tools and learn how to create iOS apps with adaptive user interfaces that work on multiple devices.
Next, you’ll learn how to manage iOS projects and define the building blocks of your own iOS applications.
Finally, you’ll explore working with data-driven controls and understand navigation options.
When you’re finished with this course, you’ll know current best practices, iOS architecture, and the most important ideas you need to feel comfortable bringing your developer skills into the iOS and Apple developer world.
Prepare to implement iOS apps by understanding what’s involved from a big picture standpoint.
We begin at the beginning to bring you up to speed and set the foundation for the remainder of the course.
Topics in this module include…
Building single view applications is the starting point for most of us who are learning to build iOS apps because they allow us a simplified architecture that focuses on a single screen performing a single responsibility.
Topics in this module include…
Just about any day in which you use an iPhone or iPad for more than a few minutes, you’ll almost certainly end up in an app that uses a List View.
It’s the most common way to show a structured, scrollable series of items, and List Views are a core competency for an iOS developer working in SwiftUI, so it’s the first complex control we dive into.
Topics in this module include…
Here I cover how to create apps multiple screens and how to think about and enable navigation between them.
Topics in this module include…
The thing that makes an app come alive is the behavior we add, and the dynamic responses to that behavior that get reflected in the user interface.
In any application, a user interface has one critical job: to accurately represent the data of our application in what it displays on the screen.
In SwiftUI, data and behavior go hand-in-hand, and I cover how to respond to user interaction in this module.
Topics in this module include…
There’s nothing like practicing your skills in new contexts to refine them and solidify what you’ve learned.
We go into some additional controls and techniques for building apps with SwiftUI before concluding the course.
Topics in this module include…
Finishing an app and getting it out the door to your users is one of the best feelings in the world.
Beyond the emotional aspect of publishing an app though, more and more employers want to see job candidates who have published at least one app to the App Store.
So in this final module, I complete the journey by setting you up to get an app into the App Store and bolster your resume!
Topics in this module include…
From the beginning my unwavering goal is to help you filter the noise and learn as efficiently as possible. My hope is that this course benefits you in your iOS development career!
I welcome feedback on this course, and on other iOS development courses you might be interested in seeing in the Pluralsight library. Happy learning!
Monetizing apps is challenging. In this course, Implementing In-App Purchases on iOS, you’ll learn to offer digital products and services directly within your app as in-app purchases.
Implementing In-App Purchases on iOS
First, you’ll explore how to translate business requirements into digital products and configure them in App Store Connect and Xcode.
Next, you’ll discover how to build and test a store within your app using StoreKit.
Finally, you’ll learn how to make sure purchases made within your app are authentic, and unlock content that’s been purchased by your users.
When you’re finished with this course, you’ll have the skills and knowledge needed to implement in-app purchases on iOS!
Prepare to implement in-app purchases by understanding what’s involved from a big picture standpoint.
You will learn to configure digital products in App Store Connect and Xcode to kick off your in-app purchase learning adventure.
Topics in this module include…
The focus of this module is on the StoreKit APIs for working with digital products and App Store Connect.
You will learn to build and test a fully-working store view that will support in-app purchases.
Topics in this module include…
After all your hard work to implement in-app purchases, how awful would it be if malicious users stole the content you’ve labored to create?
In this module, you will learn to implement measures to protect revenue generated through in-app purchases by validating App Store receipts.
Receipt validation is a notoriously burdensome hassle. But it doesn’t have to be!
I will teach you how to implement server-side receipt validation from end-to-end with no third-party libraries, no complicated server setup, and no platform-specific proprietary tools.
Here’s the roadmap of topics incluced:
After a user makes a valid purchase, you’ve got to unlock the content they legitimately bought!
Each product type has its own nuances for how to unlock and provide the associated content though.
What do you need to think about, and what code do you need to write to make it happen?
To find out, you will explore these topics:
From the beginning I set out to make the course I wish I had when I started learning to implement in-app purchases for my apps. My unwavering goal is to help you filter the noise and learn as efficiently as possible. My hope is that this course benefits you in your iOS development career!
I welcome feedback on this course, and on other iOS development courses you might be interested in seeing in the Pluralsight library. Happy learning!
Bugs are bound to happen. Getting rid of them is an essential skill if you want to keep your sanity when building apps.
In this course, you will learn a set of thinking skills to couple with the fundamental tools that Xcode provides you for finding and fixing flaws in your apps.
🐞1.5 hours 🦟To the point 🐛Engaging storyline 🐜Relevant demos
First, you will learn to approach debugging situations with a set of principles for strategic problem solving.
Next, you will discover how to configure breakpoints and inspect view hierarchies effectively.
Finally, you will explore how to interpret a backtrace, glean valuable information from the Xcode debug area and console, locate changes in your codebase and simulate conditions that happen in the wild.
When you are finished with this course, you will have the skills and knowledge to strategically and methodically reason about probable causes of defects that you experience at runtime.
Debugging means a lot of things to a lot of people.
In this module, I will define the scope of debugging for you so that you’re clear on the skills you’ll walk away from this course with.
You will begin to develop a problem solving mentality and learn a useful mnemonic for R.E.P.A.I.R.-ing broken apps.
Learn how to categorize bugs into buckets for strategic resolution.
Explore some of the most common sources of bugs to complete this module.
Probabilistic thinking is the key component of a debugging mindset.
Topics in this module include…
When an app crashes, it’s because of a critical problem that can’t be recovered from.
In this module you will work on the following:
Have you ever found yourself saying, “Something weird is going on” or “It used to work - what’s going on now??”
Have you ever experienced one of those “intermittent” bugs that seem to present themselves rarely or inconsistently and are hard to even reproduce?
Anomalous bugs can feel like they occur “out of nowhere”… but do they?
To find out, you will explore these topics:
My unwavering goal is to help you filter the noise and learn as efficiently as possible.
I welcome feedback on this course, and on other iOS development courses you might be interested in seeing in the Pluralsight library. Happy learning!
We’ve all been there. Do a search on the topic of “saving data in iOS” and you’ll get dozens of search results mentioning at least six different frameworks and platforms, and a month’s worth of reading.
Wouldn’t it be nice to distill the possibilities down into just what you need in order to start down a path for persisting data in your app?
“iOS Data Persistence: The Big Picture” will be worth the hour of your time.
iOS Data Persistence: The Big Picture
During this one hour course, you will learn the reasons for saving data to help ground you as you begin to traverse the data persistence landscape.
You will discover how to use technologies like User Defaults and Property Lists, and I will guide you on how to work with Swift’s Encodable and Decodable protocols.
You will understand what you’re getting into if you choose to work with SQLite, Core Data, or Realm Database for local data persistence.
You will know how it feels to reach for a remote data storage option like CloudKit, Realm Platform, or Firebase.
Finally, you will see a clear picture of what it’s like to design a document-based application and integrate your app’s data with the iOS Files app.
When you’re finished with this course, you will have the skills and knowledge you need to make an informed decision about putting a reliable data storage plan for your iOS app into action.
During the course, you will have the opportunity to experience a variety of data persistence scenarios and technologies.
You’ll get general feel for setup requirements and a taste of what it’s like to work with each solution in code.
Encodable
and Decodable
protocols.Users are picky, aren’t they? Everybody has preferences though, so it’s no wonder that you as a developer are often tasked with letting your users to customize their experience within your app.
UserDefaults
system that’s built in to iOSWhat if you only wanted to load a subset of the data into memory instead of being locked in to an all-or-nothing situation with UserDefaults
or Property Lists?
What if you needed to save a more complex data model that includes relationships?
For that, you’ll need to know about saving and sharing objects and object graphs…
Six Technologies/Frameworks will be featured in this module:
The goal is to help you answer two questions:
You will answer these questions by…
UserDefaults
and Property Lists.What if you need to encapsulate chunks of content together and save it all as a packaged up file…as a single unit with a custom file extension?
For that, you need to know about saving data as documents and files.
UIDocument
My goal is to help you filter the noise… to help you distill an overwhelming amount of information down into the big picture possibilities so that you’re on a trajectory for being able to make an informed decision about putting a reliable data storage plan for your iOS app into action.
I welcome feedback on this course, and on other iOS development courses you might be interested in seeing in the Pluralsight library. Happy learning!
At the core of developing a seamless and collaborative data sharing experience for Apple’s platforms is a thorough knowledge of CloudKit.
In this course, you’ll learn to leverage Apple’s flagship framework to achieve your app’s remote data storage and data sharing requirements.
First, you’ll learn how to configure CloudKit in your Xcode project and how to save, query, update, and delete data that your users store in iCloud.
Next, you’ll explore how to synchronize data across a user’s devices.
Finally, you’ll discover how to handle CloudKit errors, test your app on physical devices, and deploy to production.
When you’re finished with this course, you’ll have a foundational knowledge of CloudKit that will help you provide a fluid, interactive data sharing experience.
Module 1 is the introduction to the course with discussion of the motivating factors for using CloudKit, course prerequisites, storyline overview, and a demo of the end product of the course.
The demo app for this course is a fun one! I put you in the scenario where we team up to build a hazard reporting app for our company’s Safety Department.
The final product will come complete with the ability to save, query, update, and delete text, images, and location information into iCloud using the CloudKit framework.
Working with CloudKit begins with an understanding of the framework Types that are used to model and save data.
You'll learn about CKRecords
and CKAssets
, and save your first bits of data up to iCloud in this module.
Once data has been saved into an iCloud database, the next logical step is to query it and display it within the app.
I will teach about the CKQuery
class for querying the CloudKit database for records and/or assets, so that data can be retrieved and displayed in the UI.
And of course, once data is retrieved and displayed, it's fair game for updating and deleting.
The whole point of CloudKit is to make sure that data is accessible from more than one device.
One of the primary features still glaringly missing from our Hazard Reporter app at this point in the course is the fact that it doesn’t automatically update when data changes in the CloudKit database.
In this module, I'll teach you about how CloudKit uses subscriptions and push notifications to alert other users’ devices to changes that have occurred in the CloudKit database, so that appropriate action can be taken in code to respond to those changes.
I'll also simulate hazard reports coming in from another user by adding data through the CloudKit Dashboard and watching the screen update with the new data in the iOS app.
Modeling relationships between Record Types is important for many scenarios. In this module I will teach how to work with CKReferences
in order to represent hierarchical relationships or to represent ownership between model objects.
Apple engineers repeatedly warn that CloudKit error handling isn’t the difference between a good app and a bad app… it’s the difference between a functional app and a non-functional app. To that end, I cover some of the most common CloudKit errors and how to handle them.
And alas, once a version of the app is ready enough to put into users’ hands, it’s crucial to test it and then put it into Production. I will discuss creating an Ad-Hoc deployment of the app so that it can be installed on other users’ devices via iTunes. I will also discuss deploying the CloudKit database schema to Production in preparation for deployment to the App Store.
Demos of technology in action are super important to me. That being the case, I tried to pack as much demo content into the course as possible. You'll get to see the full array of dev-time experiences, not just the final "it works perfectly” outcomes.
The course also comes complete with working Xcode projects that gradually build you up to the final version of the app, one step at a time through each module.
I welcome feedback on this course, and on other iOS development courses you might be interested in seeing in the Pluralsight library. Happy learning!
Core Data is an extremely powerful framework for managing and persisting data on your users’ devices. And let’s face it: saving data to your users’ devices is inevitable. The question is, which data management and persistence technology you use when the time comes for you to tackle this challenge?
“Core Data Fundamentals with Swift” will give you the essential skills you need to architect an app to use Core Data.
Core Data Fundamentals with Swift
Module 1 is the introduction to the course with discussion of the motivating factors for using Core Data, course prerequisites, storyline overview, and a demo of the end product of the course.
I had a blast making the demo app. Essentially, I put you in the scenario where we team up to build a prototype of an app that our Human Resources department has come to us with. They came to us with an idea – Over the past year or two, they’ve noticed that employee morale is down a bit. To improve the situation, they’re implementing a new Employee Recognition program. As part of the new program, they’ve come to our internal software development team to see if it might be possible to build some kind of an app that allows employees to recognize one another for jobs well-done – electronic “Shout Outs” if you will.
And that’s where you and I come in – HR wants us to prototype something up so that they have an idea of what’s possible.
Throughout the course, we work on this prototype app together!
Working with Core Data begins with setting up the Core Data Stack. You will learn how to implement the stack, how to architect your app for testability and maintenance, and how to share Core Data components (such as NSManagedObjectContext) between view controllers.
Building a data model is the foundation for persisting information with Core Data. You will learn to create a data model in Xcode, and you will understand how to work with that model in Swift code.
Understanding the importance of relationships and how to build them is vital to the efficiency and expressiveness of your Core Data model. You will learn why building relationships is worth the investment, and then you will gain the skills you need to be able to build these strategic links between Entities in Xcode.
Having the ability to save data to a Core Data persistent store is essential. Being able to retrieve that data later on for display, for modification, or even for removal from the persistent store is also a critical. You will learn the mechanics of how to use the Core Data framework classes that are involved with saving, accessing, and deleting data in this module.
Displaying data in a user interface and keeping it synchronized with the state of the persistent store is a critical piece of the Core Data puzzle. You will learn how to use NSFetchedResultsController for keeping table views in sync. You will also examine using the iOS Notification Center as an alternative way to detect and respond to changes in the persistent store.
It’s inevitable: You’re going to have to change your data model from its original form sooner or later. This module will guide you in creating new versions of your data model. You will also learn how to migrate your persistent store to new data model versions so that no data is lost as you make changes.
Change is constant. Be prepared for the latest enhancements to the Core Data framework by understanding what’s new in Core Data with Apple’s latest platforms. You will learn about a new framework class called NSPersistentContainer that is designed to simplify the Core Data stack creation process. This concluding module will also point you to resources that will help you build on your new Core Data foundation.
Demos of technology in action are super important to me. That being the case, I tried to pack as much demo content into the course as possible. You’ll get to see the full array of dev-time experiences, not just the final “it works perfectly” outcomes.
The course also comes complete with working Xcode projects that gradually build you up to the final version of the app, one step at a time through each module.
I welcome feedback on this course, and on other iOS development courses you might be interested in seeing in the Pluralsight library. Happy learning!