One app for everything FTC.
presented by 20240 Slingshot
Note
đźš§ This project is in early development. Please check back for more information.
Warning
This is the development branch. Please ensure you are on the right branch.
In order to develop The FTC App for iOS and iPadOS, you must have the following:
- A Mac computer running macOS Sequoia (version 15) or later
- Xcode 16 or later
- The latest iOS 18 platform support and simulator runtimes
- (Optional) iOS 17.5 and 16.1 platform support simulator runtimes
Here's a guide to install Xcode and platform support components.
To get started, clone this repository, but DO NOT open it in Xcode yet.
In order to accomodate code-signing requirements, this project uses an Xcode Configuration Settings File for setting the target development team and product bundle identifier.
Using a text editor or IDE that is NOT Xcode, open ExampleConfig.xcconfig
and add the required project-specific values for each of the two keys.
DEVELOPMENT_TEAM
refers to your Apple Developer Program Team ID, which you can find here.PRODUCT_BUNDLE_IDENTIFIER
is a unique identifier used by the system for the application. Replace with the standard convention of a reversed domain (e.g.ios.ftcapp.slingshot.example.com
➡️com.example.slingshot.ftcapp.ios
). This should be unique to your project, avoid usingapp.theftc.ios
unless you know what you are doing.
Rename ExampleConfig.xcconfig
to Config.xcconfig
, and open Xcode.
In the left sidebar, navigate to The FTC App (top-level .xcodeproj) > Targets > The FTC App > Build Settings > All > Development Team
, single click (select) the line, and press delete
(backspace
) on your keyboard. Repeat for key Product Bundle Identifier
[!CAUTION] NEVER update your development team or bundle identifier in the Xcode GUI, only use the
Config.xcconfig
file to avoid pushing your project-specific configuration to GitHub.
You're done! Head to the Signing & Capabilities
section on the "The FTC App" target page to make sure your development team and bundle identifier have been set correctly.
FIRST®, FIRST® Tech Challenge, FTC®, FIRST® RISE℠, SKYSTONE℠, FIRST® GAME CHANGERS℠, ULTIMATE GOAL℠, FIRST® FORWARD℠, FREIGHT FRENZY℠, FIRST® ENERGIZE℠, POWERPLAY℠, FIRST® IN SHOW℠, CENTERSTAGE℠, FIRST® DIVE℠, INTO THE DEEP℠, FIRST® AGE™, DECODE™, and all accompanying logos as they are created, are trademarks of For Inspiration and Recognition of Science and Technology (FIRST®) (www.firstinspires.org). These trademarks are used by special permission of FIRST which is not overseeing, involved with, or responsible for this activity, product, or service. © 2025 FIRST®. Used by special permission. All rights reserved.
FTC API services: https://ftc-events.firstinspires.org/services/API
aptabase/aptabase-swift (MIT License)
kewlbear/NumPy-iOS (MIT License)
kewlbear/Python-iOS (MIT License)
pvieito/PythonKit (Apache License 2.0)
Slingshot-20240/swiftc (MIT License)
Open source information to come. Planned release under the MIT License in Q3 2025.
© 2025 FTC Team 20240 Slingshot and contributors. All rights reserved until further notice.