<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Herlandro Hermogenes</title>
    <description>The latest articles on DEV Community by Herlandro Hermogenes (@herlandro).</description>
    <link>https://dev.to/herlandro</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1905219%2F25feaff8-37d3-432f-966e-6d9e8aa1f077.jpeg</url>
      <title>DEV Community: Herlandro Hermogenes</title>
      <link>https://dev.to/herlandro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/herlandro"/>
    <language>en</language>
    <item>
      <title>How to Create the Carousel UIKit in Swift: A Step-by-Step Guide</title>
      <dc:creator>Herlandro Hermogenes</dc:creator>
      <pubDate>Mon, 28 Oct 2024 23:32:21 +0000</pubDate>
      <link>https://dev.to/herlandro/how-to-create-the-carousel-uikit-in-swift-a-step-by-step-guide-469e</link>
      <guid>https://dev.to/herlandro/how-to-create-the-carousel-uikit-in-swift-a-step-by-step-guide-469e</guid>
      <description>&lt;p&gt;The &lt;a href="https://github.com/herlandro/Carousel-UIK" rel="noopener noreferrer"&gt;Carousel-UIK&lt;/a&gt; project is an example of a user interface component developed in Swift, designed to create a carousel for images or any other visual content.&lt;/p&gt;

&lt;p&gt;In this article, we will guide you through the steps to create the Carousel-UIK in Swift.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Project Setup&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before diving into the coding, we need to set up the project in Xcode.&lt;/p&gt;

&lt;p&gt;Creating the Project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Xcode and select “Create a new Xcode project”.&lt;/li&gt;
&lt;li&gt;Choose “App” and click “Next”.&lt;/li&gt;
&lt;li&gt;Name the project, choose the language “Swift,” and set the interface to “Storyboard” or “SwiftUI” (we’ll use Storyboard here).&lt;/li&gt;
&lt;li&gt;Click “Next” and save the project in your desired directory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Installing Dependencies (Optional):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you want to use external libraries like SnapKit to simplify layout management, you can add these dependencies via CocoaPods or Swift Package Manager.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Structuring the Carousel Component&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, let’s create the basic carousel component.&lt;/p&gt;

&lt;p&gt;Creating the Carousel View:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a new Swift file called CarouselView.swift.&lt;/li&gt;
&lt;li&gt;Import UIKit: import UIKit.&lt;/li&gt;
&lt;li&gt;Create a CarouselView class that inherits from UIView.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    import UIKit

    class CarouselView: UIView {

    // Array of views to be displayed in the carousel
    private var itemViews: [UIView] = []

    // Scroll view to enable horizontal scrolling
    private let scrollView: UIScrollView = {
        let scrollView = UIScrollView()
        scrollView.isPagingEnabled = true
        scrollView.showsHorizontalScrollIndicator = false
        return scrollView
    }()

    // Initializer for the view
    override init(frame: CGRect) {
        super.init(frame: frame)
        setupView()
    }

    required init?(coder: NSCoder) {
        super.init(coder: coder)
        setupView()
    }

    // Initial setup of the view
    private func setupView() {
        addSubview(scrollView)
        scrollView.translatesAutoresizingMaskIntoConstraints = false
        NSLayoutConstraint.activate([
            scrollView.leadingAnchor.constraint(equalTo: leadingAnchor),
            scrollView.trailingAnchor.constraint(equalTo: trailingAnchor),
            scrollView.topAnchor.constraint(equalTo: topAnchor),
            scrollView.bottomAnchor.constraint(equalTo: bottomAnchor)
        ])
    }

    // Method to add views to the carousel
    func setItems(_ views: [UIView]) {
        itemViews.forEach { $0.removeFromSuperview() } // Remove previous views
        itemViews = views
        setupItems()
    }

    // Setup and position the views within the scroll view
    private func setupItems() {
        var previousView: UIView? = nil

        for view in itemViews {
            scrollView.addSubview(view)
            view.translatesAutoresizingMaskIntoConstraints = false
            NSLayoutConstraint.activate([
                view.topAnchor.constraint(equalTo: scrollView.topAnchor),
                view.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor),
                view.widthAnchor.constraint(equalTo: widthAnchor)
            ])

            if let previous = previousView {
                view.leadingAnchor.constraint(equalTo: previous.trailingAnchor).isActive = true
            } else {
                view.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor).isActive = true
            }

            previousView = view
        }

        if let lastView = previousView {
            lastView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor).isActive = true
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code creates a CarouselView that manages an array of UIView objects to display within a UIScrollView, enabling horizontal scrolling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Configuring the Carousel Items&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now that we have the CarouselView, we need to create and add the items to be displayed in the carousel.&lt;/p&gt;

&lt;p&gt;Creating the Items:&lt;/p&gt;

&lt;p&gt;You can create the carousel items as UIView or UIImageView, depending on the content you want to display.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;func createCarouselItems() -&amp;gt; [UIView] {
    var items: [UIView] = []

    for i in 1...5 {
        let view = UIView()
        view.backgroundColor = i % 2 == 0 ? .blue : .red
        let label = UILabel()
        label.text = "Item \(i)"
        label.textColor = .white
        label.font = UIFont.boldSystemFont(ofSize: 24)
        label.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview(label)
        NSLayoutConstraint.activate([
            label.centerXAnchor.constraint(equalTo: view.centerXAnchor),
            label.centerYAnchor.constraint(equalTo: view.centerYAnchor)
        ])
        items.append(view)
    }

    return items
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example, each item is a UIView with alternating background colors and a label centered in it.&lt;/p&gt;

&lt;p&gt;Adding Items to the Carousel:&lt;/p&gt;

&lt;p&gt;In the main ViewController, add the CarouselView and configure the items&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;override func viewDidLoad() {
    super.viewDidLoad()

    let carouselView = CarouselView()
    carouselView.translatesAutoresizingMaskIntoConstraints = false
    view.addSubview(carouselView)
    NSLayoutConstraint.activate([
        carouselView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
        carouselView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
        carouselView.heightAnchor.constraint(equalToConstant: 200),
        carouselView.centerYAnchor.constraint(equalTo: view.centerYAnchor)
    ])

    let items = createCarouselItems()
    carouselView.setItems(items)
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code adds the CarouselView to the center of the screen and sets the carousel's height to 200 points.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Customization and Enhancements&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now that we have a basic working carousel, you can customize and enhance it:&lt;/p&gt;

&lt;p&gt;Adding Page Indicators:&lt;/p&gt;

&lt;p&gt;Add a UIPageControl to indicate the current page.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;private let pageControl: UIPageControl = {
    let pageControl = UIPageControl()
    pageControl.currentPageIndicatorTintColor = .black
    pageControl.pageIndicatorTintColor = .lightGray
    return pageControl
}()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, update the current page as the user scrolls.&lt;/p&gt;

&lt;p&gt;Adding Animations:&lt;/p&gt;

&lt;p&gt;You can add transition animations between items or even configure auto-scroll so that the carousel automatically changes after a few seconds.&lt;/p&gt;

&lt;p&gt;Customizing the Layout:&lt;/p&gt;

&lt;p&gt;Use UICollectionView instead of UIScrollView for more layout flexibility and support for behaviors like zooming or different item sizes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this article, we built a basic carousel in Swift using UIKit. We learned how to set up the project, create the CarouselView, add items, and customize the carousel. With this foundation, you can expand the component to meet the specific needs of your application by adding animations, page indicators, and more.&lt;/p&gt;

&lt;p&gt;Explore and modify the code as needed to create a unique and interactive user experience! Get the source-code here&lt;/p&gt;

</description>
      <category>swift</category>
      <category>swiftui</category>
      <category>mobile</category>
      <category>ios</category>
    </item>
    <item>
      <title>How to fix the error: DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead</title>
      <dc:creator>Herlandro Hermogenes</dc:creator>
      <pubDate>Mon, 28 Oct 2024 23:17:39 +0000</pubDate>
      <link>https://dev.to/herlandro/how-to-fix-the-error-dttoolchaindir-cannot-be-used-to-evaluate-librarysearchpaths-use-toolchaindir-instead-1l75</link>
      <guid>https://dev.to/herlandro/how-to-fix-the-error-dttoolchaindir-cannot-be-used-to-evaluate-librarysearchpaths-use-toolchaindir-instead-1l75</guid>
      <description>&lt;p&gt;In Xcode 15, Apple made a modification to the variable that points to the default toolchain location, replacing from $DT_TOOLCHAIN_DIR to $TOOLCHAIN_DIR. If your project or target relies on the previous variable, you should update it to use $TOOLCHAIN_DIR.&lt;/p&gt;

&lt;p&gt;To perform this replacement, you can add the following code snippet at the end of your project’s Podfile. This error was on a MacOS v14 (Sonoma), XCode 15.4, Swift 5.0 regarding the Firebase and Firebase Analytics Pods.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br&gt;
Add this code to your Podfile&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Solution for: macOS v14 (Sonoma) | XCode 15.4 | Swift 5.0 | PodFile

  post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|

  # Update the Swift version
      config.build_settings['SWIFT_VERSION'] = '5.0'

  # Update all Pods iOS Deployment Target ios Version
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'

    # Update LIBRARY_SEARCH_PATHS
      ['Firebase.release.xcconfig', 'FirebaseAnalytics.release.xcconfig'].each do |file_name|
        Dir.glob("Pods/**/#{file_name}", File::FNM_CASEFOLD).each do |xcconfig_path|
          text = File.read(xcconfig_path)
          new_contents = text.gsub('DT_TOOLCHAIN_DIR', 'TOOLCHAIN_DIR')
          File.open(xcconfig_path, "w") {|file| file.puts new_contents }
        end
      end

    end
  end
end
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and run&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pod install&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

</description>
      <category>swift</category>
      <category>swiftui</category>
      <category>ios</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Top 10 open source iOS libraries every developer should replace in 2024</title>
      <dc:creator>Herlandro Hermogenes</dc:creator>
      <pubDate>Sat, 28 Sep 2024 23:05:46 +0000</pubDate>
      <link>https://dev.to/herlandro/top-10-open-source-ios-libraries-every-developer-should-replace-in-2024-4aii</link>
      <guid>https://dev.to/herlandro/top-10-open-source-ios-libraries-every-developer-should-replace-in-2024-4aii</guid>
      <description>&lt;h3&gt;
  
  
  Transform Your Apps by Embracing SwiftUI and Modern Development Practices Today
&lt;/h3&gt;

&lt;p&gt;In myprevious article, I wrote about the &lt;a href="https://medium.com/@herlandro/top-10-open-source-ios-libraries-every-developer-should-know-in-2024-b6df44555cca" rel="noopener noreferrer"&gt;Top 10 open source iOS libraries that every developer should have known before 2024&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The technology evolves, so must we. Let me share with you the journey of replacing these 10 legacy libraries with cutting-edge solutions that have revitalized my development process.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;1. Alamofire ➡️ URLSession with async/await&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Letting Go of Alamofire&lt;/p&gt;

&lt;p&gt;I used to swear by Alamofire for all my networking needs. It simplified HTTP requests and made handling responses a breeze. But with the introduction of Swift’s &lt;code&gt;async/await&lt;/code&gt; and the powerful capabilities of &lt;code&gt;URLSession&lt;/code&gt;, I've found that I can achieve the same results with cleaner, more efficient code. Embracing &lt;code&gt;URLSession&lt;/code&gt; has reduced dependencies and made my networking layer feel more native and integrated.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;2. RxSwift (UIKit) ➡️ Combine&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Moving Beyond RxSwift to Combine&lt;/p&gt;

&lt;p&gt;RxSwift opened my eyes to the possibilities of reactive programming. However, integrating it with SwiftUI felt like forcing two puzzle pieces that didn’t quite fit. Transitioning to Combine, Apple’s native reactive framework, has been a revelation. The seamless integration with SwiftUI has made my codebase more cohesive and has significantly reduced complexity.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;3. Realm ➡️ Core Data with SwiftUI&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Replacing Realm with Core Data and SwiftUI&lt;/p&gt;

&lt;p&gt;Realm was my trusted companion for data persistence. Its simplicity and performance were unmatched — until SwiftUI enhanced its integration with Core Data. With features like &lt;code&gt;@FetchRequest&lt;/code&gt; and better &lt;code&gt;managedObjectContext&lt;/code&gt; support, Core Data has become more approachable and efficient. Making the switch has unified my data management and improved app stability.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;4. SDWebImage ➡️ AsyncImage or Nuke&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Evolving from SDWebImage to AsyncImage and Nuke&lt;/p&gt;

&lt;p&gt;Loading images asynchronously was a challenge that SDWebImage elegantly solved. But with SwiftUI’s &lt;code&gt;AsyncImage&lt;/code&gt; component introduced in iOS 15, I've found a native solution that fits perfectly into my apps. For those times when I need more advanced image processing, Nuke has been a fantastic library that offers SwiftUI support and powerful features.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;5. Kingfisher ➡️ Kingfisher for SwiftUI&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Upgrading Kingfisher for SwiftUI&lt;/p&gt;

&lt;p&gt;Kingfisher has been a staple for image downloading and caching. The good news is that it’s kept up with the times. Its latest versions fully support SwiftUI, making the integration smoother than ever. Continuing with Kingfisher feels like working with an old friend who’s learned new tricks — it’s familiar yet refreshingly modern.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;6. Lottie ➡️ Lottie for SwiftUI&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Enhancing Animations with Lottie in SwiftUI&lt;/p&gt;

&lt;p&gt;Animations add that magical touch to our apps, and Lottie has been instrumental in bringing animations to life. Now that Lottie supports SwiftUI, incorporating those delightful animations has become even more seamless. It’s reignited my passion for creating engaging user experiences.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;7. SwiftyJSON ➡️ Codable&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Embracing Codable over SwiftyJSON&lt;/p&gt;

&lt;p&gt;SwiftyJSON was once my go-to for parsing JSON data. It simplified a complex process and saved me countless hours. But with Swift’s native &lt;code&gt;Codable&lt;/code&gt; protocol, I've discovered a more streamlined and type-safe way to handle JSON. This shift has made my networking code cleaner and more reliable.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;8. Charts ➡️ Apple Charts Framework&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Utilizing Apple’s Native Charts Framework&lt;/p&gt;

&lt;p&gt;Creating visually appealing charts was a daunting task that often required bulky third-party libraries. With Apple’s introduction of the native Charts framework, building data visualizations has become an integrated and enjoyable part of development. It’s allowed me to present data in engaging ways without the overhead of external dependencies.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;9. SnapKit ➡️ SwiftUI’s Layout System&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Transitioning from SnapKit to SwiftUI’s Layout System&lt;/p&gt;

&lt;p&gt;SnapKit made Auto Layout less of a headache, and I was grateful for it. However, SwiftUI’s declarative layout approach has revolutionized how I design interfaces. Using stacks and alignment guides, I’ve been able to create complex layouts with less code and greater flexibility. It’s made UI development a joy again.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;10. MBProgressHUD ➡️ ProgressView&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Modernizing with ProgressView over MBProgressHUD&lt;/p&gt;

&lt;p&gt;MBProgressHUD was the standard for indicating progress and loading states. But SwiftUI’s &lt;code&gt;ProgressView&lt;/code&gt; has provided a native, customizable alternative that fits naturally within my apps. It's simplified my code and enhanced the user experience by providing smooth and responsive feedback.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Looking Ahead: The Future of iOS Development&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Making these changes hasn’t just updated my projects — it’s revitalized my passion for development. Here’s what I see on the horizon:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SwiftUI Becoming the Norm:&lt;/strong&gt; By the end of 2025, I anticipate that SwiftUI will be the foundation of most new iOS projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reduced Reliance on External Libraries:&lt;/strong&gt; As native solutions continue to improve, the need for third-party libraries will diminish, leading to more stable and maintainable codebases.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Adoption of Native Reactive Programming:&lt;/strong&gt; Combine will likely become the standard for reactive programming in Swift, offering seamless integration and performance benefits.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What about you? Have you started transitioning away from these legacy libraries? I’d love to hear your experiences, challenges, or any tips you might have. Let’s start a conversation and help each other grow in this ever-evolving field!&lt;/p&gt;

</description>
      <category>swift</category>
      <category>swiftui</category>
      <category>ios</category>
      <category>mobile</category>
    </item>
    <item>
      <title>U𝗽𝗱𝗮𝘁𝗲 your view at runtime on the simulator using LLDB</title>
      <dc:creator>Herlandro Hermogenes</dc:creator>
      <pubDate>Fri, 09 Aug 2024 21:13:15 +0000</pubDate>
      <link>https://dev.to/herlandro/u-your-view-at-runtime-on-the-simulator-using-lldb-5586</link>
      <guid>https://dev.to/herlandro/u-your-view-at-runtime-on-the-simulator-using-lldb-5586</guid>
      <description>&lt;p&gt;How to use LLDB (XCode) to change the view background color at runtime and update view UI on the simulator (for projects without SwiftUI)?&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgx10898tiadj1v4jd872.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgx10898tiadj1v4jd872.png" alt="Image description" width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set a &lt;strong&gt;breakpoint&lt;/strong&gt; in the same line that you want do change/update in runtime.&lt;/li&gt;
&lt;li&gt;Run the app on the simulator. When the execution is paused, type this expression on the &lt;strong&gt;main thread&lt;/strong&gt; in the XCode console:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;e DispatchQueue.main.async { self.view.backgroundColor = UIColor.blue }&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hit Enter and release the execution. You will see the background changing from green to blue on the simulator.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a good UI solution for UIKit projects without SwiftUI Preview&lt;/p&gt;

</description>
      <category>swift</category>
      <category>code</category>
      <category>lldb</category>
      <category>ios</category>
    </item>
  </channel>
</rss>
