watchOS comparability issue
Radzievskyi opened this issue · 9 comments
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
- Create watchOS project
- Add CrowdinSDK with Swift Package: https://github.com/crowdin/mobile-sdk-ios.git
- In the WatchKit Extension module open:
Build Phases -> Link Binary With Libraries
and add CrowdinSDK - Open ExtensionDelegate.swift and add
import CrowdinSDK
- Try build project for launch on Apple Watch or Apple Watch Simulator
- You will see 2 errors in LoginFeature.swift (from CrowdinSDK) on line:
import SafariServices
Error:
No such module 'SafariServices'
and:
SafariServices is not available when building for watchOS Simulator. Consider using#if !os(watchOS)
to conditionally import this framework.
Smartphone (please complete the following information):
- Device: Simulator Apple Watch Series 7
- OS: watchOS 8.3
hi team
what are the next steps here? How can we understand when this can be fixed?
This problem is blocking us from fully switching to Crowdin as a source of localization, as our application has to work on both iOS and watchOS
@vance-od replied via email
As soon as we will have any updates, we will let you know immediately
@Radzievskyi Hi. Can you try to integrate SDK from the #185 branch? watchOS support should be fixed.
.package(url: "https://github.com/daltoniam/Starscream.git", .branch("#185"))
@serhii-londar Hello! Thank you for your update!
Unfortunately I have an issue with launch application with integrated branch “#185”.
For test it.
-
I created a new project for iOS with Swift
-
Added to AppDelegate.swift simple initialize Crowdin SDK code, and I get 2 errors:
Please help me fix this problem.
@Radzievskyi The reason is that SDK for watchOS doesn't support login and related features(screenshots and real-time updates), it supports only content delivery feature.
We will note that in Readme.
Please try the following initialisation:
let crowdinProviderConfig = CrowdinProviderConfig(hashString: distributionHash,
sourceLanguage: sourceLanguage)
let crowdinSDKConfig = CrowdinSDKConfig.config().with(crowdinProviderConfig: crowdinProviderConfig)
CrowdinSDK.startWithConfig(crowdinSDKConfig, completion: { })
@Radzievskyi Any updates?
@serhii-londar Thank you! Look like is work. Now I try integrate it to our main project. And I will do more detail tests.
@serhii-londar I integrated SDK to the main project. Is work. Thank you!
What we should do next? Use branch #185 or you will merge it with main?
@Radzievskyi Thank you for the testing! We will merge it to master and prepare a new release.