This document describes how to build and run the Soundscape iOS app.
As of Soundscape version 5.3.1 (October 2022):
- macOS 12.6.1
- Xcode 13.4.1
- iOS 14.1
- CocoaPods 1.11.3
- CocoaPods Patch 1.0.2
The Soundscape iOS app is developed on the Xcode IDE.
Download Xcode from the App Store or the Apple Developer website.
Open Xcode and you should be prompted with installing the command line tools, or run this in a Terminal window:
xcode-select --install
Soundscape uses CocoaPods as a dependency managers along with Swift Package Manager, and CocoaPods-Patch to add changes to a third party CocoaPods framework.
Note: before the next step, make sure you have Ruby installed on your machine.
In the iOS project folder, run the following command to install the dependencies from the Gemfile
:
bundle install
Install the CocoaPods dependencies by running the following command in Terminal:
pod install
At this point, you can open the GuideDogs.xcworkspace
file, which is the main entry point to the Xcode project.
Soundscape uses Azure Notification Hub to send push notifications to users. In order for this to work in your app, you will need to create an account in Azure.
In your Azure account:
- Setup a Notification Hubs service (you can have one for Production and one for AdHoc)
- Copy the connection strings and paths
- Open the project file at
/Soundscape/Assets/PropertyLists/Info.plist
- Copy the to the following keys and values:
SOUNDSCAPE_AZURE_NH_CONNECTION_STRING
- The production connection stringSOUNDSCAPE_AZURE_NH_PATH
- The production Notification Hub pathSOUNDSCAPE_AZURE_DF_NH_CONNECTION_STRING
- The adhoc connection stringSOUNDSCAPE_AZURE_DF_NH_PATH
- The adhoc Notification Hub path
If these values are not set, receiving push notifications will not work.
Soundscape uses a backend service to download map tiles and other information. In the following files, replace the static URL properties with the address of your services.
ServiceModel.swift
UniversalLinkComponents.swift
At this point, you should be able to build and run the Soundsacpe
target on an iOS simulator. In order to run the app on a real device, you will need to add your Apple Developer account signing info in the Signing & Capabilities section of the project settings.
Additional personalization options:
- In the General section of the project settings, you can change the following properties:
Display Name
Bundle Identifier
- In the Build Settings section of the project settings, you can change the following properties:
Primary App Icon Set Name
BUNDLE_SPOKEN_NAME
- In
AppContext.swift
you can change the following properties:appDisplayName
appStoreId
- Do a general search and replace instances of
CompanyName
andAppName
. - Do a general search for
TODOs
and make changes as needed.