Create your own faces for watchOS. Customize the watch hands, layout, colors, and images. Edit faces on your phone and switch them on the watch.

Overview

AppleWatchFaces

Design your own watch faces for the apple watch. They are not real watch faces, but a watchOS app running on the watch that tells you the time.

APPLEWATCHFACES USAGE

The iOS app allows for the user to create their own watch faces by choosing from hands and adding in common watch face "indicators" like rings of circles or a little date label. Additionally, you can add a new face to your list and choose from pre-defined "themes" of colors or indicators/hands from the default watch faces.

To see what type of default faces it comes with, browse the thumbnails folder, here are some examples:

Frequently Asked Questions

  1. Does this work on WatchOS6 ?

Yes, working well now on public releases ( including hiding the apple digital time )

  1. Can I download this from the app store ?

At this time, Apple is not ready for developer created watch faces -- Typical response from Apple if you submit an iOS app that has a watch face:

Guideline 4.2.4 - Design - Minimum Functionality

We continued to notice that your Apple Watch app is primarily a clock app with time-telling functionality, which provides a lower quality user experience than Apple users expect. Specifically, users must launch the app or swipe through glances to see the time.

The native clock app already allows users to customize how time is displayed on their devices and offers the best possible time-telling experience. Users are able to switch colors, add more functionality and complications on a watch face such as an alarm, the weather, stocks, activity rings, moon phases, or sunrises and sunsets. Users also have the ability to tap on certain complications to get more information from their corresponding apps.

We encourage you to review your Apple Watch app concept and incorporate different content and features that are in compliance with the App Store Review Guidelines, as well as the watchOS Human Interface Guidelines. If you want to show the time in your Apple Watch app, you may use the specialized Date Labels to display time-related values on Apple Watch.

  1. Can I join your testFlight and help you beta test?

Yes, I am accepting testers for beta testing. DM an email to @orffy to send a testFlight invite. It does not need to be an appleID email, just any email you can check. Someone will notify you on twitter when you have been invited, then check the email provided for a link from apple testFlight. Follow the instructions in that email.

  1. How do I get this on my phone / watch?

Join the beta test or follow the installation instructions below to compile from the source and you can side load this application onto your phone and watch.

  1. How can I create my own watch hands?

Currently the watch hands are using UIKit paths and has support for PNGs. See the example SecondHandTypes.SecondHandTypeFancyRed in Shared/Nodes/MinuteHand.swift. The code will attempt to tint the PNG pixels with the chosen hand color. White pixels will colorize to the chosen color, and black will not tint at all. Colors in between will blend. Import your PNG assets into the /Shared/Media.xcassets folder.

There has been many requests for the app to allow adding PNG hands inside the app. I am investigating this for a future build.

  1. Can I use my own background images from my phone in the app?

Yes, tap on the camera icon in the background color picker to pull an image off the phone's camera or gallery.

  1. How can I add my own images for use as a background in the watch faces ?

    1. Crop the image to a square at approximately 312x390 pixels ( 72 ppi )
    2. Drop it into the /Shared/Resources/Materials folder ( add to the project )
    3. Add it into the /Shared/AppUISettings file materialFiles array
  2. Which versions of apple watches does this work with ?

Any watchOS that can run spriteKit should be fine. Tested with watchOS 5 on a device and 4.2/4.3 in the simulator.

  1. Are you planning to do complications ?

Currently the app supports date/time and battery "decorators" that do their best to stay out of the way of the other items that make up the watch face rings.

  1. Are all the designs round ?

In PR 11 support for rounded rectangle designs was added. It it not a perfect solution for watch designs: While it does postiion the items along a rounded rectangle path, it evenly distributes them which does not perfectly line up with the watch hands. Also box / square shapes look weird just rotated to face the center vs. a "true" watch design which would mask the edges.

  1. What about digital clocks ?

In PR 18 added support for date/time labels as "indicators" in the iOS editor app. Add them and edit settings appropriately.

  1. Can I back up, edit, or restore my faces?

See Back-Up / Restore in the Usage section below.

Installation / Side Load

Some users are having limited success installing the ad-hoc IPA file in the releases using tools like impactor and app DBPro. For best results, sign up as an Apple developer and side-load:

  1. Install Xcode on your mac

  2. Open a Terminal instance and go to your working directory

  3. Do git clone https://github.com/orff/AppleWatchFaces.git

  4. Navigate to the "AppleWatchFaces" folder in your working directory

  5. Open AppleWatchFaces.xcodeproj in Xcode

  6. Run on your device:

  7. Make sure you have an Apple developer account

  8. Select your development team under the Signing area for each target (AppleWatchFaces, face, and face (notifications))

  9. Change the Bundle Identifier for each of the above targets to something unique. For example, AppleWatchFaces uses com.mikehill.applewatchfaces, so change that to something like com.YOUR_USERNAME.applewatchfaces

  10. important note: Bundle identifiers for watch extensions are really specific. face uses com.mikehill.applewatchfaces.watchkit & face (notifications) uses com.mikehill.applewatchfaces.watchkit.extension

  11. Select the face scheme in the top left corner with your devices selected and run.

If you are still having issues, please check out a sideloading tutorial on OSXDaily.

Usage

iOS App

  1. The main view is for previewing all the faces and deciding if you want to edit one of the them. You can create a new one with the create button or tap edit to re-order or delete. Tapping send all to watch will send all current designs to the watch and go to the first one.
  2. On the editor view, you can modify settings for that watch face, like the colors, hands, or indicators ( the parts that make up the face like the shapes and numbers that the hands point to ).
  3. On the editor view, dragging left and right to see the face in different times. go to Swipe up to preview this design on the watch: this the same as the tapping the watch button in the toolbar.
  4. Tap the + and - buttons to swith to other faces in the main face list.
  5. On the indicators view you can edit the shapes and numbers that make up the face backgrounds. The designs are rendered on the watch as shapes like circle or squares and text numbers that are rings from the outside to the inside of the watch face. By editing the list of shapes and text items and empty space items, you can change the design of the items in the face and see in the preview watch on the top.

APPLEWATCHFACES INDICATORS

  1. You can also just choose from pre-defined color themes or indicator themes which will override current color or parts with known good settings

APPLEWATCHFACES THEMES

  1. Undo / Redo if you make a mistake.
  2. Going back will lock in these settings in the main list and regenerate the thumbnail.
  3. To abort all current changes tap back without tapping save.

Sharing / Importing

Best is email, but there is a share sheet implementation to export out the faces, custom gallery/phone backgrounds and the JSON settings as a .clk file. If you open one of these files on your phone with the OS handler, you should see and option for "copy to AppleWatchFaces" which will import it into the app.

Back-Up / Restore My Settings

If you need to re-install, or just want to manually edit the settings file. Use iTunes file sharing to save or overwrite the userClockSettingsV[XX].json file.

Watch App

  1. When AppleWatchFaces is open on the watch, swipe left and right to cycle through the different designs in the iOS app.

  2. Use the digital crown to test the face with different times, AKA "time travel". Tap on the watch to go back to normal time.

  3. Set your watch to wake on last activity:

    1. Open the Settings app on your Apple Watch.
    2. Go to General > Wake Screen, and make sure Wake Screen on Wrist Raise is turned on.
    3. Scroll down and choose when you want your Apple Watch to wake to the last app you used: Always, Within 1 Hour of Last Use, Within 2 Minutes of Last Use, or While in Session (for apps like Workout, Remote, or Maps).
    4. Choose While in Session if you want your Apple Watch to always wake to the watch face (except when you’re still using an app).
    5. You can also do this using the Apple Watch app on your iPhone: Tap My Watch, then go to General > Wake Screen.
  4. Keep the Apple Watch display on longer

    1. Open the Settings app on your Apple Watch.
    2. Go to General > Wake Screen, then tap Wake for 70 Seconds.

Authors

Mike Hill - @orffy Sylvian @ElChoquito

Special thanks

Jerome@iMrjX for awesome faces (imrjx_design on instagram) Emanuele Esposito@SkorpionBot for his design expertise @jonandrews74 for creating awesome designs @AppleWatchFanz for creating some great designs @nimbus12_ for all around project support, photography, and designs and @foz for helping me to kick off the idea

License

AppleWatchFaces is released under the GPL-3 license. See LICENSE for details.

You might also like...
This app will hlep you realize if the job you are doing, truly is worth your time
This app will hlep you realize if the job you are doing, truly is worth your time

Worth Your Time Is working for your current pay really worth your time? This app will hlep you realize if the job you are doing, truly is worth your t

A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats.
A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats.

ISO 8601: The only date format worth using Obligatory relevant xkcd: How to use this code in your program Add the source files to your project. Parsin

Sudoless Frequency Metric Retrieval for MacOS (Supports Apple Silicon and Intel CPUs and iGPUs)

SFMRM ('sifˌmΙ™rˌim) Sudoless Frequency Metric Retrieval for MacOS This project is designed to retrieve active frequency and residency metrics from you

Time is a Swift package that makes dealing with calendar values a natural and straight-forward process.

Time Time is a Swift package that makes dealing with calendar values a natural and straight-forward process. Working with calendars can be extremely c

πŸ“† Breeze through Date, DateComponents, and TimeInterval with Swift!
πŸ“† Breeze through Date, DateComponents, and TimeInterval with Swift!

Datez πŸ“† Breeze through Date, DateComponents, and TimeInterval Highlights Two Custom Structs Only (value types FTW!): DateView: An Date associated wit

NVDate is an extension of NSDate class (Swift4), created to make date and time manipulation easier.

NVDate is an extension of NSDate class (Swift4), created to make date and time manipulation easier. NVDate is testable and robust, we wrote intensive test to make sure everything is safe.

SwiftDate πŸ” Toolkit to parse, validate, manipulate, compare and display dates, time & timezones in Swift.
SwiftDate πŸ” Toolkit to parse, validate, manipulate, compare and display dates, time & timezones in Swift.

Toolkit to parse, validate, manipulate, compare and display dates, time & timezones in Swift. What's This? SwiftDate is the definitive toolchain to ma

NTP library for Swift and Objective-C. Get the true time impervious to device clock changes.
NTP library for Swift and Objective-C. Get the true time impervious to device clock changes.

TrueTime for Swift Make sure to check out our counterpart too: TrueTime, an NTP library for Android. NTP client for Swift. Calculate the time "now" im

Dates and times made easy in iOS
Dates and times made easy in iOS

DateTools DateTools was written to streamline date and time handling in iOS. Classes and concepts from other languages served as an inspiration for Da

Releases(0.5.3)
Owner
Mike Hill
Xcoder and experimenter with javascript, swift, and Objective C.
Mike Hill
TryCustomDatePicker - Customize UIDatePicker via UIPickerView

TryCustomDatePicker This is just test code Customize UIDatePicker via UIPickerVi

lydsnm 2 Nov 14, 2022
SwiftMoment - A time and calendar manipulation library for iOS 9+, macOS 10.11+, tvOS 9+, watchOS 2+ written in Swift 4.

SwiftMoment This framework is inspired by Moment.js. Its objectives are the following: Simplify the manipulation and readability of date and interval

Adrian Kosmaczewski 1.6k Dec 31, 2022
Timekeeper is an easy-to-use time measurement library written in Swift, with support for iOS, tvOS, watchOS and macOS.

Timekeeper is an easy-to-use time measurement library written in Swift, with support for iOS, tvOS, watchOS and macOS. Installation Timekee

Andreas Pfurtscheller 1 Oct 18, 2021
A customizable date picker for watchOS and SwiftUI.

Watch Date Picker A customizable date picker for watchOS and SwiftUI. Installation .package(url: "https://github.com/freyaariel/watch-date-picker.git"

Freya Ariel 30 Dec 4, 2022
A TimeZonePicker UIViewController similar to the iOS Settings app. Search and select from a range of cities and countries to find your most suitable time zone.

TimeZonePicker A TimeZonePicker UIViewController similar to the iOS Settings app. Search and select from a range of cities and countries to find your

Gligor Kotushevski 125 Dec 13, 2022
Time Lines - Know when all your friends, colleagues, and family are

Time Lines Know when all your friends, colleagues, and family are. Time Lines is a practical app to know when all your friends, colleagues and family

Mathieu Dutour 50 Dec 14, 2022
Date Formatter Pool - is a small utility that creates and stores your Date Formatter for simpler reuse

Date Formatter Pool Date Formatter Pool - is a small utility that creates and stores your Date Formatter for simpler reuse Installation is available i

Aleksei Artemev 13 Sep 6, 2022
πŸ• Format your dates/times as emojis.

EmojiTimeFormatter Format your dates/times as emojis ?? ?? ?? Description You can build easy to understand user interfaces with EmojiTimeFormatter or

Thomas Paul Mann 80 Feb 7, 2022
A timer that lets you know when your ramen is ready to eat!

Dependencies Ramen Timer requires the following: Gifu SwiftySound On Xcode simply go to File > Add Packages and input the names on the searchbar then

Angel Santiago 1 Nov 3, 2021
Get the current frequency of your Apple M1 GPU.

M1-gpufreq Get the current frequency of your Apple M1 GPU. What It Does and How It Works This project is designed to get the current frequency (or clo

BitesPotatoBacks 3 Nov 2, 2022