Currently, Project Rome is implemented for iOS-client-to-Windows-host scenarios. You will need an iOS app development IDE and an iOS device or emulator to use this feature.
- Download the iOS SDK from the binaries folder. The SDK is also compatible with the CocoaPods dependency manager.
- View the API reference documentation in the reference documentation folder.
- See code samples for Rome iOS apps in the sample folder.
Before implementing device discovery and connectivity, there are a few steps you'll need to take to give your iOS app the capability to connect to remote Windows devices.
First, you must register your app with Microsoft by following the instructions on the Microsoft developer portal. This will allow your app to access Microsoft's Connected Devices platform by having users sign in to their Microsoft accounts (MSAs).
The simplest way to add the Connected Devices platform to your iOS app is by using the CocoaPods dependency manager. Go to your iOS project's Podfile and insert the following entry:
platform :ios, '10.0'
target 'ProjectName' do
pod 'ProjectRomeSdk', '~>0.0.3'
end
As this is a preview release, there are some known bugs in the Connected Devices platform for iOS.
Description | Workaround |
---|---|
Discovery may stop working if the application has been running for over an hour. | Reinitialize the platform by calling CDPlatform::shutdown and then CDPlatform::initWithOAuthCodeProviderDelegate |
Devices may connect over the cloud and not proximally (if available) on first discovery. | Initiate another discovery using CDRemoteSystemDiscovery. |
You will receive a linker error regarding bit code in your new project. | Disable bitcode by selecting your project and going to Build Settings -> All -> Enable Bitcode |
Any consuming app's documents on drive will grow monotonically in size over time. | No current workaround. |
App crashes without CFBundleDisplayName entry. | Create a CFBundleDisplayName entry in your Info.plist file. |
Connected Devices framework includes simulator (x86, x86_64) slices which will fail App Store ingestion. | Remove using lipo |