Windows Empty Swift Application Template

Overview

Windows Empty Swift Application Template

This provides a template project to build a Swift application on Windows using Swift/Win32.

Build Requirements

  • Swift 5.4 or newer
  • Windows SDK 10.0.10773 or newer
  • Swift/Win32 development

Building

The project can be built using Swift Package Manager's build command. Additionaly, the application needs to have a manifest integrated into the binary. This requires additional operations which cannot be automated with Swift Package Manager currently. Additionally, some files need to be deployed manually as they need to be placed in a specific layout.

Currently, the LLVM manifest tool (llvm-mt) is unable to perform the operation and thus this must be done with the MSVC toolset.

swift build
mt -nologo -manifest Sources\Application\Application.exe.manifest -outputresource:.build\x86_64-unknown-windows-msvc\debug\Application.exe
copy Sources\Application\Info.plist .build\x86_64-unknown-windows-msvc\debug\

Testing

The project uses XCTest to add unit tests. You can run the unit test suite using Swift Package Manager's test command.

swift test

Debugging

In order to debug the package, there are two options. In order to debug with LLDB, which is required for debugging Swift code, the linker needs to preserve the debug information. This is accomplished by passing an additional flag during the build.

swift build -Xlinker -debug:dwarf

When trying to debug the interactions with the system, it is convenient to use the Windows tooling for debugging (e.g. WinDBG). In such a case, the debug information needs to be emitted for Windows. This requires passing additonal flags to Swift Package Manager.

swift build -Xswiftc -g -Xswiftc -debug-info-format=codeview -Xlinker -debug
You might also like...
A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display
A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display

DZNEmptyDataSet Projects using this library Add your project to the list here and provide a (320px wide) render of the result. The Empty Data Set Patt

Nice library to show placeholders and Empty States for any UITableView/UICollectionView in your project
Nice library to show placeholders and Empty States for any UITableView/UICollectionView in your project

HGPlaceholders Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements iOS 8.0+ Xcode 9

WLEmptyState is an iOS based component that lets you customize the view when the dataset of a UITableView or a UICollectionView is empty.
WLEmptyState is an iOS based component that lets you customize the view when the dataset of a UITableView or a UICollectionView is empty.

Table of Content Overview Running an Example Project Installing WLEmptyState Configuring WLEmptyState Using WLEmptyState Customizing WLEmptyState Cont

Placeholder views based on content, loading, error or empty states
Placeholder views based on content, loading, error or empty states

StatefulViewController A protocol to enable UIViewControllers or UIViews to present placeholder views based on content, loading, error or empty states

Simple Swift class for iOS that shows nice popup windows with animation.
Simple Swift class for iOS that shows nice popup windows with animation.

NMPopUpView Simple class for iOS that shows nice popup windows, written in Swift. The project is build with Swift 4.0, so you need Xcode 9.0 or higher

A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram)
A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram)

Unfortunately, life gets in the way sometimes and I won't be able to maintain this library any longer and upgrade this library to where it needs to be

 💻This is an open source project of the Windows 11 desktop client implemented using SwiftUI.
💻This is an open source project of the Windows 11 desktop client implemented using SwiftUI.

💻 💻This is an open source project of the Windows 11 desktop client implemented using SwiftUI.

Kodi is an award-winning free and open source home theater/media center software and entertainment hub for digital media. With its beautiful interface and powerful skinning engine, it's available for Android, BSD, Linux, macOS, iOS and Windows. 3D Shoot'em Up written with OpenGL ES 1.1/2.0 running on iOS, Android, Windows and MacOS X.
3D Shoot'em Up written with OpenGL ES 1.1/2.0 running on iOS, Android, Windows and MacOS X.

SHMUP This is the source code of "SHMUP" a 3D Shoot 'em up that I wrote in 2009. It is very inspired of Treasure Ikaruga, the engine runs on iOS, Andr

An efficient, small mobile key-value storage framework developed by WeChat. Works on Android, iOS, macOS, Windows, and POSIX.
An efficient, small mobile key-value storage framework developed by WeChat. Works on Android, iOS, macOS, Windows, and POSIX.

中文版本请参看这里 MMKV is an efficient, small, easy-to-use mobile key-value storage framework used in the WeChat application. It's currently available on Andr

WKWebView handling popup windows

WKWebViewWithPopUp WKWebView handling pop-up windows Property If there is a pop-up window, use the pop-up window. If there is no pop-up window, use th

iCloud Drive is Apple's essential connection between all your devices, Mac, iPhone, iPad, even your Windows PC.
iCloud Drive is Apple's essential connection between all your devices, Mac, iPhone, iPad, even your Windows PC.

iCloud Drive is Apple's essential connection between all your devices, Mac, iPhone, iPad, even your Windows PC.While the cost of storage seems expensive in comparison to other online storage services, its advantage is that it works natively across all your devices.

The Outline Client is a cross-platform VPN or proxy client for Windows, macOS, iOS, Android, and ChromeOS

Outline Client The Outline Client is a cross-platform VPN or proxy client for Windows, macOS, iOS, Android, and ChromeOS. The Outline Client is design

Tajpi - A macos clone of the windows program Tajpi.
Tajpi - A macos clone of the windows program Tajpi.

A macos clone of the windows program Tajpi. Tajpi lets you type esperanto letters by either holding down the option key or automatically transforming sh or sx combinations into corresponding Esperanto letter.

Catalyst example of a grid-based video app that opens videos in secondary windows
Catalyst example of a grid-based video app that opens videos in secondary windows

Simple Catalyst example (Mac idiom) of a grid-based app populated with videos. On macOS, double-clicking a video opens it in a new playback window. Keyboard navigation is fully supported via the UIKit Focus Engine.

A PSP emulator for Android, Windows, Mac and Linux, written in C++.

PPSSPP - a fast and portable PSP emulator Created by Henrik Rydgård Additional code by many contributors, see the Credits screen Originally released u

A terminal for iOS, with multiple windows

a-shell: A terminal for iOS, with multiple windows The goal in this project is to provide a simple Unix-like terminal on iOS. It uses ios_system for c

Windows 10/11 lock screen replica
Windows 10/11 lock screen replica

Diary 📖 Windows 10/11 lock screen replica Preview Installation Add this repository to your package manager: TBD Install Diary Compatibility iPhone, i

Show MS Windows style activation dialog on my screen.
Show MS Windows style activation dialog on my screen.

Activate Mac The "Activate Windows" watermark ported to macOS with Swift Objective-C. Special thanks: MrGlockenspiel/activate-linux for the idea. Inst

Comments
  • changed SPM dependency declaration to work w/ Swift 5.4

    changed SPM dependency declaration to work w/ Swift 5.4

    While the current way of declaring SwiftWin32 as dependency, with .product(name: "SwiftWin32", package: "swift-win32"), works for Swift 5.5-dev. This PR changes the project and target dependency declarations so they work with the current stable version of Swift 5.4, It compiled on both .0 and .1 releases of 5.4, and on 5.5-dev.

    opened by h4cky 1
Owner
Saleem Abdulrasool
Saleem Abdulrasool
iOS project template with fastlane lanes, Travis CI jobs and GitHub integrations of Codecov, HoundCI for SwiftLint and Danger

iOS project template This repository contains a template for iOS projects with a framework-oriented architecture approach, preconfigured fastlane lane

Sebastian Messingfeld 390 Nov 9, 2022
App Design Kit is a collection of beautifully designed, ready-to-use, iOS app template screens.

App Design Kit is a collection of beautifully designed, ready-to-use, iOS app template screens. This well-structured, Swift coded, UI Kit bundle helps you to create your own application much faster than starting from scratch, using a simple design file.

Related Code 152 Dec 27, 2022
An opinionated starting point for awesome, reusable Swift 5 modules

Swift 5 Module Template Use this template as a starting point for any Swift 5 module that you want other people to include in their projects. STATUS:

William Entriken 419 Dec 5, 2022
Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. Forum: https://discourse.joplinapp.org/

Joplin® is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are sea

Laurent 33.7k Dec 30, 2022
Placeholder views based on content, loading, error or empty states

StatefulViewController A protocol to enable UIViewControllers or UIViews to present placeholder views based on content, loading, error or empty states

Alexander Schuch 2.1k Dec 8, 2022
UICollectionViewCell with checkbox when it isSelected and empty circle when not - like Photos.app "Select" mode.

CheckmarkCollectionViewCell UICollectionViewCell with checkbox when it isSelected and empty circle when not - like Photos.app "Select" mode. Usage cla

Yonat Sharon 62 Oct 19, 2022
A SwiftUI TextField with a prompt (or placeholder) that floats above the text field when active or not empty. Requires iOS 15.

FloatingPromptTextField A prompt is the label in a text field that informs the user about the kind of content the text field expects. In a default Tex

Emilio Peláez 43 Nov 3, 2022
Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views

StatusProvider Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views CocoaPods Podfile pod 'StatusProvider'

Mario Hahn 887 Dec 22, 2022
A UIControl subclass that makes it easy to create empty states.

AZEmptyState Making empty state simple. Screenshots Installation Cocoa Pods: pod 'AZEmptyState' Manual: Simply drag and drop the Sources folder to you

Antonio Zaitoun 88 Oct 2, 2022
PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error).

PJFDataSource PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a co

Square 88 Jun 30, 2022