# Breaking Loose from Third-Party Lock-In with Custom Refactoring Tools

DevFeed: [Breaking Loose from Third-Party Lock-In with Custom Refactoring Tools](<https://devfeed.tech/articles/breaking-loose-from-third-party-lock-in-with-custom-refactoring-tools-1999.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//breaking-loose-from-third-party-lock-in-with-custom-refactoring-tools>)

Published: 2020-08-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Code](<https://devfeed.tech/topics/code.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [ast-matchers](<https://devfeed.tech/tags/ast-matchers.md>), [code](<https://devfeed.tech/tags/code.md>), [developers](<https://devfeed.tech/tags/developers.md>), [ios](<https://devfeed.tech/tags/ios.md>), [libtooling](<https://devfeed.tech/tags/libtooling.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [software](<https://devfeed.tech/tags/software.md>), [swift](<https://devfeed.tech/tags/swift.md>), [technology](<https://devfeed.tech/tags/technology.md>), [third-party](<https://devfeed.tech/tags/third-party.md>), [tools](<https://devfeed.tech/tags/tools.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

## AI overview

This article describes how SoundCloud automated the migration of more than 900 Objective-C Specta specification files to plain XCTest tests using custom refactoring tools. The effort removed Specta from the codebase while supporting ongoing iOS development in Swift.

## Source excerpt

Code refactoring is an essential part of the job of software developers. As time goes on, technology evolves, product requirements change...