Language - Swift: Difference between revisions

From Phidgets Support
No edit summary
No edit summary
 
(50 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Introduction ==
{{#seo:|description=Learn how to use Phidget USB devices with Swift.}}
[[Category:Language]]


If this is your first time working with a Phidget, we suggest starting with the Getting Started page for your specific device. This can be found in the user guide for your device. That page will walk you through installing drivers and libraries for your operating system, and will then bring you back here to use Swift specifically.
== Get Started ==
Swift is capable of using the complete {{Phidget22API}}, including events.<span style="color:#FF0000"> We also provide example code in Swift for all Phidget devices.</span>
With the Phidget22 library, it's easy to create Swift applications that work with Phidget devices.


Swift is capable of using the complete Phidget API, including events. When using it on iOS devices, however, Phidgets can only be remotely controlled over a network using the [[Phidget Network Service]] because they don't support direct USB connection.
== Swift Libraries ==
If you've installed the Phidget drivers for [[OS - macOS|macOS]] or [[OS - iOS|iOS]], then you already have the files you need for your project.  


Swift can be developed with Xcode on macOS.
== Example Code ==
You can find examples for macOS and iOS on our [https://www.phidgets.com/?view=code_samples&lang=Swift Code Samples] page. Make sure you download one for the correct OS.  


== Quick Downloads ==
[[Image:swift_example2.png|link=|center|750px]]


'''<span style="color:#FF0000">List of download links, to be added once files are available</span>'''
== XCode Configuration ==
[https://developer.apple.com/xcode/ Xcode] is an IDE provided by Apple that's used to develop code in a wide variety of programming languages, including Swift.


== Getting Started with Swift ==
=== macOS ===
{| style="margin:auto;" class="table-no-border mw-collapsible mw-collapsed"
|+ '''Instructions'''
|colspan="2"|{{hiddenh4|Use Our Examples}}||
|-
|colspan="2"|Start by downloading a [https://www.phidgets.com/?view=code_samples&lang=Swift Swift example] that will work with your Phidget.


== macOS ==
Open the folder and run '''Package.swift''' to open it in Xcode.
===Xcode===
|-
====Use our examples====
| Next, simply press run. ||[[Image:Macos_swift_run2.png|link=https://cdn.phidgets.com/docs/images/b/b9/Macos_swift_run2.png|350px]]
====Write your own code====
|-
| Here's what the VoltageInput example will look like when it's running. Try playing around with the device and experiment with some of its functionality. The next step is configuring a new project and writing your own code. || [[Image:Macos_swift_output.png|link=https://cdn.phidgets.com/docs/images/0/00/Macos_swift_output.png|350px]]
|-
|colspan="2"|{{hiddenh4|Starting a New Project}}
|-
| Create a new XCode project and select a macOS app. || [[Image:Macos_new_proj.png|link=https://cdn.phidgets.com/docs/images/0/04/Macos_new_proj.png|350px]]
|-
| Name the project, select Swift as the language, and continue. || [[Image:Macos_new_nameproject.png|link=https://cdn.phidgets.com/docs/images/f/fb/Macos_new_nameproject.png|350px]]
|-
| Now that your project is created, you need to add the Phidget libraries.


== iOS ==
Go to File > '''Add Package Dependencies'''
===Xcode===
|[[Image:Macos_swift_addpackage.png|link=https://cdn.phidgets.com/docs/images/1/13/Macos_swift_addpackage.png|350px]]
====Use our examples====
|-
If Xcode is not already installed on your system, then you will need to install it. You can download it for free from the Mac app store.
| This will pop up the Swift package manager. || [[Image:Macos_swift_packageblank.png|link=https://cdn.phidgets.com/docs/images/3/3f/Macos_swift_packageblank.png|350px]]
|-
|Type this URL into the search bar in the top right:
<syntaxhighlight>https://www.phidgets.com/git/phidget22-swift.git</syntaxhighlight>
Then select the phidget22-swift package and click '''Add Package'''.
| [[Image:Macos_swift_packageurl.png|link=https://cdn.phidgets.com/docs/images/f/ff/Macos_swift_packageurl.png|350px]]
|-
|colspan="2"| Now you can access the Phidget libraries by adding the following line to the top of your files:
<syntaxhighlight>import Phidget22Swift</syntaxhighlight>
The project now has access to Phidgets you can begin coding. See [[Phidget Programming Basics]] for guidance on writing your own code.  
|}


Start by ensuring the  '''<span style="color:#FF0000">Phidget Network Service </span>''' is running on the computer that the Phidget is physically plugged in and connected to.  This computer needs to have a USB port and should be running macOS or one of our other supported [[Operating System Support|operating systems]]. For directions on how to set up and run the [[Phidget Network Service]] refer to the page for that operating system.
=== iOS ===
{| style="margin:auto;" class="table-no-border mw-collapsible mw-collapsed"
|+ '''Instructions'''
|colspan="2"|{{hiddenh4|Use Our Examples}}||
|-
|colspan="2"|Start by downloading a [https://www.phidgets.com/?view=code_samples&lang=Swift Swift example] that will work with your Phidget.


Then, on the macOS system that will be used for developing the iOS application, download and unpack the '''<span style="color:#FF0000">Phidget Examples for Swift</span>'''. The easiest way to confirm that your environment is set up is to compile and the Phidgets app. Start by opening the Phidgets.xcodeproj in Xcode.
Open the folder and run '''Package.swift''' to open it in Xcode.
|-
| Next, select the type of device you would like the application to run on, and press play. || [[Image:ios_swift_select_target.png|link=https://cdn.phidgets.com/docs/images/9/90/Ios_swift_select_target.png|350px]]
|-
|Here's what the VoltageInput example will look like when it's running. Try playing around with the device and experiment with some of its functionality. The next step is starting a new project and writing your own code.|| [[Image:ios_swift_output.png|link=https://cdn.phidgets.com/docs/images/1/1d/Ios_swift_output.png|200px]]
|-
|colspan="2"|{{hiddenh4|Starting a New Project}}
|-
|  Create a new XCode project and select an iOS app. || [[Image:ios_new_proj.png|link=https://cdn.phidgets.com/docs/images/d/d9/Ios_new_proj.png|350px]]
|-
| Name the project, select Swift as the language, and choose which devices will be supported. || [[Image:ios_new_nameproject.png|link=https://cdn.phidgets.com/docs/images/8/86/Ios_new_nameproject.png|350px]]
|-
| Now that your project is created, you need to add the Phidget libraries.
Go to '''File > Add Package Dependencies'''
| |[[Image:Macos_swift_addpackage.png|link=https://cdn.phidgets.com/docs/images/1/13/Macos_swift_addpackage.png|350px]]
|-
| This will pop up the Swift package manager. || [[Image:Macos_swift_packageblank.png|link=https://cdn.phidgets.com/docs/images/3/3f/Macos_swift_packageblank.png|350px]]
|-
|Type this URL into the search bar in the top right:
<syntaxhighlight>https://www.phidgets.com/git/phidget22-swift.git</syntaxhighlight>
Then select the phidget22-swift package and click '''Add Package'''.
| [[Image:Macos_swift_packageurl.png|link=https://cdn.phidgets.com/docs/images/f/ff/Macos_swift_packageurl.png|350px]]
|-
|colspan="2"| Now you can access the Phidget libraries by adding the following line to the top of your files:
<syntaxhighlight>import Phidget22Swift</syntaxhighlight>
The project now has access to Phidgets you can begin coding. See [[Phidget Programming Basics]] for guidance on writing your own code.  
|}


Next, select the target you want the application to run on. In order to run the example on a physical device, you must be an '''<span style="color:#FF0000">Apple Developer</span>''', otherwise you can choose to run the example on a simulator.
==Phidget Programming Basics==
{{PhidgetProgrammingBasicsLink}}


[[Image:ios_SelectTarget.png]]
==API==
 
[{{SERVER}}/?view=api&lang=Swift Phidget22 API]
To run the example, click on the Run button.
 
[[Image:ios_RuniOS.png]]
 
The program will detect any servers that are currently online and have Phidgets connected. Here is an example output:
 
[[Image:ios_PhidgetApp_MainScreen.png | 500px]]
 
After confirming that the Phidgets Example is working, you can proceed to run the example for your specific device. Do this by continuing to navigate through the hierarchy until you reach your device, after tapping your device the example will show automatically. Currently, we have example programs for the following software objects:
 
* DigitalInput
 
* DigitalOutput
 
* VoltageInput
 
* VoltageRatioInput
 
Here is an example of what the DigitalOutput example looks like:
 
[[Image:ios_PhidgetApp_DigitalOutput.png | 500px]]
 
Once you have the Swift example running, we have a [[#Editing the Code|teaching]] section below to help you follow them.
 
====Write your own code====
 
== Edit the Examples ==
 
<span style="color:#FF0000">copy template of this section from other language pages</span>
 
== Further Reading ==
 
[[Phidget Programming Basics]] - Here you can find the basic concepts to help you get started with making your own programs that use Phidgets.
 
[[Data Interval/Change Trigger]] - Learn about these two properties that control how much data comes in from your sensors.
 
[[Using Multiple Phidgets]] - It can be difficult to figure out how to use more than one Phidget in your program. This page will guide you through the steps.
 
[[Polling vs. Events]] - Your program can gather data in either a polling-driven or event-driven manner. Learn the difference to determine which is best for your application.
 
[[Logging, Exceptions, and Errors]] - Learn about all the tools you can use to debug your program.
 
[[Phidget Network Service]] - Phidgets can be controlled and communicated with over your network- either wirelessly or over ethernet.
 
 
== Common Problems and Solutions / Workarounds ==
'''<span style="color:#FF0000">If you know of common problems using this lanaguage (for example, having to create sub-VIs when using multiple phidgets in labview) put them here. </span>'''

Latest revision as of 21:03, 17 March 2026


Get Started

With the Phidget22 library, it's easy to create Swift applications that work with Phidget devices.

Swift Libraries

If you've installed the Phidget drivers for macOS or iOS, then you already have the files you need for your project.

Example Code

You can find examples for macOS and iOS on our Code Samples page. Make sure you download one for the correct OS.

Swift example2.png

XCode Configuration

Xcode is an IDE provided by Apple that's used to develop code in a wide variety of programming languages, including Swift.

macOS

Instructions
Use Our Examples
Start by downloading a Swift example that will work with your Phidget.

Open the folder and run Package.swift to open it in Xcode.

Next, simply press run. Macos swift run2.png
Here's what the VoltageInput example will look like when it's running. Try playing around with the device and experiment with some of its functionality. The next step is configuring a new project and writing your own code. Macos swift output.png
Starting a New Project
Create a new XCode project and select a macOS app. Macos new proj.png
Name the project, select Swift as the language, and continue. Macos new nameproject.png
Now that your project is created, you need to add the Phidget libraries.

Go to File > Add Package Dependencies

Macos swift addpackage.png
This will pop up the Swift package manager. Macos swift packageblank.png
Type this URL into the search bar in the top right:
https://www.phidgets.com/git/phidget22-swift.git

Then select the phidget22-swift package and click Add Package.

Macos swift packageurl.png
Now you can access the Phidget libraries by adding the following line to the top of your files:
import Phidget22Swift

The project now has access to Phidgets you can begin coding. See Phidget Programming Basics for guidance on writing your own code.

iOS

Instructions
Use Our Examples
Start by downloading a Swift example that will work with your Phidget.

Open the folder and run Package.swift to open it in Xcode.

Next, select the type of device you would like the application to run on, and press play. Ios swift select target.png
Here's what the VoltageInput example will look like when it's running. Try playing around with the device and experiment with some of its functionality. The next step is starting a new project and writing your own code. Ios swift output.png
Starting a New Project
Create a new XCode project and select an iOS app. Ios new proj.png
Name the project, select Swift as the language, and choose which devices will be supported. Ios new nameproject.png
Now that your project is created, you need to add the Phidget libraries.

Go to File > Add Package Dependencies

Macos swift addpackage.png
This will pop up the Swift package manager. Macos swift packageblank.png
Type this URL into the search bar in the top right:
https://www.phidgets.com/git/phidget22-swift.git

Then select the phidget22-swift package and click Add Package.

Macos swift packageurl.png
Now you can access the Phidget libraries by adding the following line to the top of your files:
import Phidget22Swift

The project now has access to Phidgets you can begin coding. See Phidget Programming Basics for guidance on writing your own code.

Phidget Programming Basics

To learn more about the structure of the example code, visit our Phidget Programming Basics guide.

API

Phidget22 API