A collection of bugs present in the SwiftUI beta.

Overview

Gosh Darn Bugs!

GoshDarnBugs is a collection of... you guessed it, bugs.

Usage

  • Clone the repository.
  • Open GoshDarnBugs.xcodeproj
  • Click Run.

Why?

SwiftUI is an absolutely fantastic framework, a culmination of several years' worth of effort by many, many amazing and talented Apple engineers. Being a radical departure from traditional Cocoa/Touch frameworks, it is quite nascent and (understandably) still finding stability in terms of API design and an overall bug-free experience.

Working with SwiftUI feels like standing on the bleeding edge. It's a new, beautiful, inspired way of writing code - and feels like a clean slate in terms of typical usage and best practices. A lot of us are trying to find our footing within this new framework, and there is certainly a lot confusing. However, it is sometimes frustrating to find that what seems confusing and misunderstood may simply belie a bug in the beta.

While SwiftUIX attempts to fill the gaps of SwiftUI in terms of available APIs, GoshDarnBugs attempts to offer an exhaustive, demonstrable collection of SwiftUI bugs in the latest beta. This is done in the hope of serving as a useful, centralized point of reference for all those experimenting/building with SwiftUI.

Contributing

GoshDarnBugs as a project is only as useful as its strength in contributors, and thus is designed to be painless to contribute to.

The prerequisites are as follows:

  • A Feedback Assistant number for your bug report (please, please, please file bug reports!).
  • A View demonstrating your bug, that can be initialized simply using .init().

The steps to contribute are as follows:

  • Create a Swift file with your feedback number as the name, and put it in the Bugs folder.
  • Create a View named after your feedback number (in the form of FBXXXXXXX), and add a conformance to BugDemonstrationView .
  • Navigate to ContentView.swift, and add .init(FBXXXXXXX.self) to the demonstrations: [BugDemonstration] property.

That's basically it.

In case you're wondering what BugDemonstrationView and BugDemonstration are:

/// A view that represents the demonstration of some bug.
protocol BugDemonstrationView: View {
    init()
}

/// A type that represents the demonstration of some bug.
final class BugDemonstration: Identifiable {
    public let name: String
    public let makeView: () -> AnyView

    init<View: BugDemonstrationView>(_ viewType: View.Type) {
        self.name = String(describing: viewType)
        self.makeView = { AnyView(View()) }
    }
}

... they're just simple helpers that allow for ContentView's body, like so:

    var body: some View {
        NavigationView {
            List(demonstrations) { demonstration in
                NavigationLink(destination: demonstration.makeView()) {
                    Text(demonstration.name)
                }
            }
            .navigationBarTitle("Gosh Darn Bugs!")
        }
    }

... thus dynamically creating a navigatable list of all available bug demonstrations.

License

GoshDarnBugs is licensed under WTFPL, Version 2:

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                   Version 2, December 2004
 
Copyright (C) 2004 Sam Hocevar <[email protected]>

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
 
           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

 0. You just DO WHAT THE FUCK YOU WANT TO.

Credits

You!

You might also like...
Swiftui-animation-observer - Track SwiftUI animation progress and completion via callbacks
Swiftui-animation-observer - Track SwiftUI animation progress and completion via callbacks

SwiftUI Animation Observer Track SwiftUI animation progress and completion via c

SwiftUI project demonstrating Custom coded confetti animation for checkout page
SwiftUI project demonstrating Custom coded confetti animation for checkout page

Confetti-Checkout SwiftUI project demonstrating Custom coded confetti animation for checkout page NOTE: CAEmitterLayer is not used but all the confett

Fortune spinning wheel library built using SwiftUI, supports dynamic content.
Fortune spinning wheel library built using SwiftUI, supports dynamic content.

Fortune Wheel Fortune spinning wheel ๐ŸŽก library built using SwiftUI, supports dynamic content. Preview - Spin Wheel โš™๏ธ CocoaPods Installation FortuneW

Incognito animation made with SwiftUI
Incognito animation made with SwiftUI

IncognitoSwiftUI Incognito animation made with SwiftUI Incognito Mode / Private Browsing Private browsing is a privacy feature in some web browsers. W

SwiftUI Animation
SwiftUI Animation

Hey there Hi, I'm Arvind Patel, a iOS Developer ๐Ÿš€ from India. Beside's programming, I enjoy eating food and Watching Movies. I'm a creative problem s

SwiftUI Package for Configurable Confetti Animation ๐ŸŽ‰
SwiftUI Package for Configurable Confetti Animation ๐ŸŽ‰

๐ŸŽŠ ConfettiSwiftUI ๐ŸŽŠ Swift package for displaying configurable confetti animation. Find the demo project here. Installation: It requires iOS 14 and X

Animations created with SwiftUI.
Animations created with SwiftUI.

A repository containing a variety of animations and Animated components created in SwiftUI that you can use in your own projects.

Colorful - A SwiftUI implementation of AppleCard's animated colorful blur background.
Colorful - A SwiftUI implementation of AppleCard's animated colorful blur background.

Colorful - A SwiftUI implementation of AppleCard's animated colorful blur background.

A SwiftUI implementation of Wave animating shape.
A SwiftUI implementation of Wave animating shape.

WaveAnimation A SwiftUI implementation of Wave animating shape. Preview Usage import SineWaveShape SineWaveShape(percent: 0.4, strength: 30, frequency

Owner
SwiftUIX
An extension to the standard SwiftUI library.
SwiftUIX
A collection of small SwiftUI sample projects.

Simple SwiftUI is a small but growing collection of iOS projects designed to provide small sample projects for SwiftUI learners to read, learn from, m

Paul Hudson 557 Dec 28, 2022
ChainPageCollectionView A custom View with two level chained collection views and fancy transition animation

ChainPageCollectionView A custom View with two level chained collection views and fancy transition animation. Demo Requirements iOS 9.0+ Xcode 8 Insta

Yansong Li 775 Dec 7, 2022
List a collection of items in a horizontally scrolling view. A scaling factor controls the size of the items relative to the center.

CAROUSEL List a collection of items in a horizontally scrolling view. A scaling factor controls the size of the items relative to the center. We speci

Ramotion 557 Dec 31, 2022
A collection of animations for iOS. Simple, just add water animations.

DCAnimationKit A collection of animations for iOS Simply, just add water! DCAnimationKit is a category on UIView to make animations easy to perform. E

Dalton 797 Sep 23, 2022
SamuraiTransition is an open source Swift based library providing a collection of ViewController transitions featuring a number of neat โ€œcuttingโ€ animations.

SamuraiTransiton is a ViewController transition framework in Swift. It is an animation as if Samurai cut out the screen with a sword. transition types

hachinobu 273 Dec 29, 2022
VCore is a Swift collection containing objects, functions, and extensions that I use for all my projects

VCore Table of Contents Description Library Structure Architecture Gateway Demo Installation Versioning Contact Description VCore is a Swift collectio

Vakhtang Kontridze 33 Nov 22, 2022
This repo contains swift collection of gui, games, menu, animations, music, payment, etc... for iOS, macOS, watchOS and tvOS

Swift-Collections About: This repo contains a collection of projects built using swift and objective-c Contains projects for macOS iOS iPad watchOS tv

Krisna Pranav 6 Nov 15, 2022
SwiftUI animated image view that works on iOS and layout just as SwiftUI.Image

SwiftUI.AnimatedImage SwiftUI animated image view that works on iOS and layout just as SwiftUI.Image Screen.Recording.2021-07-31.at.02.18.33.mov Insta

Marcin Krzyzanowski 50 Oct 14, 2022
SwiftUI-Text-Animation-Library - Text animation library for SwiftUI

โš ๏ธ This repository is under construction. SwiftUI Text Animation Library Make yo

null 28 Jan 8, 2023