All blogs / Mobile / iOS / Android
Andrew Bancroft
Recent content about iOS development with Swift from Andrew Bancroft.
Mobile / iOS / AndroidSoftware / engineering practiceEngineering blogs
- Posts
- 211 from 1 Jan 2001 to 22 Jul 2026
- Posting
- now and then (1 in the last year)
- Kind
- personal blog
- Feed
- https://www.andrewcbancroft.com/index.xml
2026 1
2024 2
2023 3
2021 2
2020 10
- How to Download Old Versions of Xcode
- iOS 14 Getting Started
- What Are All of the Possible Environment Keys in SwiftUI?
- WWDC - The Worldwide Developer Community
- StoreKit Testing Swift Start
- Implementing In-App Purchases on iOS
- iOS Receipt Validation: Understanding and Troubleshooting the Original App Version Field
- Privacy Policy
- 4 Reasons Your iOS App Is Crashing
- 4 Things You Should Never Do When Debugging iOS Apps
2019 34
- What Is Debugging (And What Isn't)?
- iOS Debugging Fundamentals
- How to Use @FetchRequest in SwiftUI
- How to Pass NSManagedObjectContext to a SwiftUI View
- Using Core Data With SwiftUI - An Introduction
- NSPersistentCloudKitContainer Buggy Behavior List
- Apple's SwiftUI Essentials Tutorial Series as Playgrounds
- Why is Swift ABI Stability a Big Deal?
- Make a Bash Script Executable
- What is an ABI
- How Smart (Or Dumb?) Should NSManagedObjects Be?
- On Core Data Object Fetching and Display Strategies
- Using SwiftUI in a Playground
- Getting Started With NSPersistentCloudKitContainer
- Accessing the Root View Controller at Launch on iOS 13 with SceneDelegate
- New Delights With Xcode 11
- Resolving Failed to Load Model Named... with Core Data
- First Impressions of NSPersistentCloudKitContainer
- SwiftUI is Declarative. What Does That Mean?
- Taking First Steps With SwiftUI
- Displaying and Updating Currency in a UILabel
- Load a CSV File With R
- Showing the Live View in a Swift Playground
- What is the Difference Between axis=0 and axis=1 When Working with Pandas Dataframes?
- Load an Excel File With Python and Pandas
- Load a CSV File With Python and Pandas
- Cheat Sheet - Jupyter Notebook Keyboard Shortcuts
- Create a SQL Server Credential for Accessing Azure Blob Storage
- A Mnemonic for Remembering Type I vs Type II Errors
- iOS Data Persistence: The Big Picture
- What is the tilde (~) symbol in R?
- Resolving No Events Found When Sampling Data with Azure Stream Analytics
- Deciphering U-SQL's Error Messages
- U-SQL Pickiness - Resolving Common Syntax Errors
2018 17
- CloudKit Fundamentals
- Do Core Data Entities Need Primary Keys?
- The Case for CloudKit
- Create an HDInsight Cluster in Azure with PowerShell
- Swift Cheat Sheet for iPhone Location Services Access and Usage
- Swift Cheat Sheet for iPhone Camera Access and Usage
- Winning with Dimensional Models in the Age of Big Data
- Predictive Analytics vs Machine Learning - What's the Difference?
- Work in Progress?
- Fix SSIS Flat File Destination Error: Cannot open the datafile
- Breaking Down Data Analysis vs Data Analytics: A Look at the Suffix
- Swift 4 Upgrade Error: ‘init(colorLiteralRed:green:blue:alpha:)’ is unavailable
- Where is the SQL Server 2017 Reporting Services License Key??
- What Types of Data Analysis Are There?
- Search Database Object Definitions for Text
- Kill All Sessions
- Get Out of SINGLE_USER Mode
2017 24
- What is a Dimensional Model?
- Stages to Machine Learning
- Patterns and Key Words of Predictive Analytics Questions
- What is Data? (Like I'm 5)
- Local Receipt Validation for iOS in Swift From Start to Finish
- Finalizing Receipt Validation in Swift – Computing a GUID Hash
- Receipt Validation – Parse and Decode a Receipt with Swift
- Receipt Validation – Verifying a Receipt Signature in Swift
- Using an Existing SQLite Store with NSPersistentContainer
- Why is it called a “Closure” anyway? A Swift Conceptual Look.
- A Swift Implementation of the Core Data Stack Using NSPersistentContainer
- Why Do We Need to Annotate Escaping Closures in Swift?
- What in the World is an “Escaping Closure” in Swift?
- Every Developer is an API Designer
- Core Data Model Attributes and NSManagedObject Property Types Must Match!
- Solving React Native’s “No bundle url present” Error
- 3 Effective Ways to Keep You Focused as a Creator
- How to Unwrap Multiple Optionals with One If-Let in Swift
- Creating the Core Data Stack with Backwards Compatibility in Swift
- Swift Tip – Accessing a User’s Documents Directory with URL Extension
- Core Data Fundamentals with Swift
- Entity Framework Tip – Specifying Decimal Precision
- Core Data: Solving Ambiguous Type / Redeclaration of Type
- Solving ‘Spatial types and functions are not available’ with Entity Framework
2016 20
- Disabling Xcode’s OS-Level Debug Logging
- Using a Core Data Model in Swift Playgrounds
- TypeScript Build Errors When Publishing ASP.Net Web Project
- Force Unwrapping Swift Optionals: Code Smell!
- Is Protocol Oriented Swift Better than Object Oriented Swift?
- Extracting a PKCS7 Container for Receipt Validation with Swift
- Creating Calendar Events with Event Kit and Swift
- Swift Cheat Sheet for Dates, Formatters, and Date Components
- Parse PFCloud – “JSON text did not start with array or object”
- Working with Swift: Adopt a Protocol or Pass a Function?
- Listing Calendar Events with Event Kit and Swift
- Deploying Parse Dashboard
- Adding Buttons to the Navigation Bar with Storyboards
- FIX – Query in Parse Cloud Code Returns Unauthorized Error
- Swift Functions as Types
- Fade Views In/Out with Fadeable – A Swift Protocol Extension
- Fundamentals of Callbacks for Swift Developers
- Managing Xcode Project Dependencies with CocoaPods
- 401 Unauthorized Browsing Site From Local IIS Instance
- Swift Framework Woes – Unresolved Identifier? No Member?
2015 46
- Working with Unwind Segues Programmatically in Swift
- Using PowerShell to Install a DLL into the GAC
- Get Social With Swift – Posting to Facebook and Twitter
- Creating Trust-able Unit Tests in Swift
- Considerations for Choosing 3rd Party Swift Libraries
- Loading a Receipt for Validation with Swift
- Preparing to Test Receipt Validation for iOS
- OpenSSL for iOS and Swift the Easy Way
- Testability Tip for Swift Developers – Parameterize and Push
- Sharing a Core Data Model with a Swift Framework
- Diagnosing “Restore failed” with ASP.NET 5 on Mac
- Analyzing Swift Protocol Extensions and C# Abstract Classes
- Setting Up Carthage for the Terminal-Timid
- Dissecting 10 Read 10 Said – My New Swift iOS App
- UITableView Swipe to Delete Workflow in Swift
- Circular Progress Indicator in Swift
- Every Swift Value Type Should Be Equatable
- Swift UIColor Extension – Create using RGB Values (Not %)
- Creating Calendars with Event Kit and Swift
- Improvements to Unit Testing in Swift with Xcode 7
- Access Sub-Controllers from a UINavigationController in Swift
- Sync Table View Data: NSFetchedResultsController and Swift
- Swift How-To: Setting up a Table View
- Beginner’s Guide to Event Kit in Swift – Requesting Permission
- Strong, Weak, and Unowned – Sorting out ARC and Swift
- SQL Sever Synonyms, Entity Framework, and Integrated Security
- Testing is to Software as Experiment is to Science
- Clarifying Swift Access Control (Hint: Swift Isn’t C#)
- 3 Nuances of Swift Extensions
- Testability Tip for Swift Developers – Public Over Private
- How Delegation Works – A Swift Developer’s Guide
- Enums Instead of Booleans – An Example Implementation
- Announcing the Birth of……
- What is Delegation? – A Swift Developer’s Guide
- Basics of Pull to Refresh for Swift Developers
- An (Almost) TDD Workflow in Swift
- Displaying Data With NSFetchedResultsController and Swift
- Using Swift to Seed a Core Data Database
- Core Data Cheat Sheet for Swift iOS Developers
- Custom UITableViewCell for Text Input in Swift
- NSNotificationCenter vs Delegation – An Analysis
- Converting Complex Objective-C Macros to Swift Functions
- Conveniently Transforming Immutable Types in Swift
- Fix MAMP, MySQL Workbench “Failed to Connect to MySQL”
- Unit Testing Model Layer with Core Data and Swift
- Immutable Types with Changing State in Swift
2014 35
- Getting Started with Unit Testing in Swift
- Swift Unit Testing – Verifying Method Calls
- Swift Unit Testing Resources
- TDD for iOS in Swift – What’s the Goal?
- Don’t Write Legacy Swift
- Send a Type to Obedience School – Using Swift Extensions for Additional Protocol Conformance
- Swift UITableViewDataSource Cheat Sheet
- Agile Blogging
- Distinguishing Between Multiple UIActionSheets with Swift
- The 5 W’s of Swift Extensions
- Send Text Message In-App – Using MFMessageComposeViewController with Swift
- Up and Running with Unity IOC Container for ASP.Net MVC
- 7 Reasons You Should Write About Swift
- Resolving “Variable used within its own initial value” Error in Swift
- Rotate Animation in Swift
- Fundamentals of NSNotificationCenter in Swift
- Date, Date?, and the ToString Method in VB.Net
- Swift Alternative to Objective-C Macros
- Slide In Animation in Swift
- Swift iOS Version Checking
- Create Documentation for your Swift Playground
- Replace Magic Strings with Enumerations in Swift
- Pick a Delegate… Any Delegate… On Clean View Controllers in Swift
- Send Email In-App – Using MFMailComposeViewController with Swift
- Expanded Thoughts on Swift’s Type Inference
- Sort It Out – Sorting an Array in Swift
- Clean Coding in Swift – Type Inference
- Clean Coding in Swift – Functions
- Fade In / Out Animations as Class Extensions in Swift
- Swift Optionals? Don’t Forget to Unwrap!
- Swift Access Control – Implications for Unit Testing
- Implement NSManagedObject Subclass in Swift
- How to Create Mocks and Stubs in Swift
- NuGet app.config / web.config Transformation Trouble
- iOS KeychainItemWrapper – Obstacles Overcome, Inconsistencies Resolved
2013 7
- DotNetZip – Solving Mac Decompression Issues
- “Unexpected System Error” in DataStage Sequence Job
- How Old is Silas Allen?
- DataStage Range Lookup Failure – What Gives?
- Journey in iOS Development Series – In the Beginning…
- Report Studio Bullet Chart – Missing Target
- Removing Chart Gridlines and Plot Area Background in Report Studio
2012 9
- Resolving “UDA-SQL-0569 Unable to load the driver manager library ( db2cli.dll )” with Framework Manager 10.1
- SSRS: Which server sent my e-mail subscription?
- Troubleshooting SQL Server 2012 Reporting Services and SharePoint 2010 Integration (Part 2)
- Troubleshooting SQL Server 2012 Reporting Services and SharePoint 2010 Integration (Part 1)
- Pointer Pointer #2
- Create Sound Clips from iTunes
- Pointer Pointer #1
- From SQL Queries to Data Modeling
- Contributing My Share of Bytes