This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
swift package generate-xcodeproj | |
echo "go set a codesigning team" | |
exit 1 | |
xcodebuild archive \ | |
-project swift-composable-architecture.xcodeproj \ | |
-scheme swift-composable-architecture-Package \ | |
-destination "generic/platform=iOS" \ | |
-archivePath "iphoneos" \ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
// case active = 0 | |
// case inactive = 1 | |
// case background = 2 | |
@main | |
class AppDelegate: UIResponder, UIApplicationDelegate { | |
var window: UIWindow? | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
@UIApplicationMain | |
class AppDelegate: UIResponder, UIApplicationDelegate { | |
var window: UIWindow? | |
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { | |
window = Window() | |
window?.rootViewController = ViewController() | |
window?.makeKeyAndVisible() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
public extension UITableView { | |
public func beginRefreshing() { | |
// Make sure that a refresh control to be shown was actually set on the view | |
// controller and the it is not already animating. Otherwise there's nothing | |
// to refresh. | |
guard let refreshControl = refreshControl, !refreshControl.isRefreshing else { | |
return |