Как я могу заменить импорт SystemConfiguration, который используется для Reachability на библиотеке watchos? - PullRequest
0 голосов
/ 20 мая 2018

Простите за очень общий вопрос, но я пытаюсь понять, как обновить aws sdk для поддержки watchos, который оказался трудным и очень прибыльным (для разработчиков) проектом.Приносим извинения, вот мой вопрос.

aws-sdk - мощная библиотека, которая предоставляет подмодули на iOS для взаимодействия со службами aws, однако не поддерживается для часовПри попытке скомпилировать рабочее пространство с портом aws-sdk, портированным на watchos, я получил ошибку времени компиляции.

Ld /Users/osxuser/Library/Developer/Xcode/DerivedData/AppName-fvzfbpyutkcifkaajtsobldxanrc/Build/Products/Debug-watchsimulator/AWSCore-watchOS/AWSCore.framework/AWSCore normal i386
    cd "/Users/osxuser/Documents/code/NTDI_Corporate/iwatch apps/AppName/Pods"
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    export WATCHOS_DEPLOYMENT_TARGET=4.3
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator4.3.sdk -L/Users/osxuser/Library/Developer/Xcode/DerivedData/AppName-fvzfbpyutkcifkaajtsobldxanrc/Build/Products/Debug-watchsimulator/AWSCore-watchOS -F/Users/osxuser/Library/Developer/Xcode/DerivedData/AppName-fvzfbpyutkcifkaajtsobldxanrc/Build/Products/Debug-watchsimulator/AWSCore-watchOS -filelist /Users/osxuser/Library/Developer/Xcode/DerivedData/AppName-fvzfbpyutkcifkaajtsobldxanrc/Build/Intermediates.noindex/Pods.build/Debug-watchsimulator/AWSCore-watchOS.build/Objects-normal/i386/AWSCore.LinkFileList -install_name @rpath/AWSCore.framework/AWSCore -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -mwatchos-simulator-version-min=4.3 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/osxuser/Library/Developer/Xcode/DerivedData/AppName-fvzfbpyutkcifkaajtsobldxanrc/Build/Intermediates.noindex/Pods.build/Debug-watchsimulator/AWSCore-watchOS.build/Objects-normal/i386/AWSCore_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -fapplication-extension -lsqlite3 -lz -framework CoreGraphics -framework Foundation -framework Security -framework SystemConfiguration -framework UIKit -framework CoreGraphics -framework Foundation -framework Security -framework SystemConfiguration -framework UIKit -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/osxuser/Library/Developer/Xcode/DerivedData/AppName-fvzfbpyutkcifkaajtsobldxanrc/Build/Intermediates.noindex/Pods.build/Debug-watchsimulator/AWSCore-watchOS.build/Objects-normal/i386/AWSCore_dependency_info.dat -o /Users/osxuser/Library/Developer/Xcode/DerivedData/AppName-fvzfbpyutkcifkaajtsobldxanrc/Build/Products/Debug-watchsimulator/AWSCore-watchOS/AWSCore.framework/AWSCore
> ld: framework not found SystemConfiguration

Я пытаюсь правильно оформить импорт.SystemConfiguration для компиляции watchos не выполняется.Кажется, проблема заключается во включении библиотеки SystemConfiguration здесь .Как я могу заменить строку

#import <SystemConfiguration/SystemConfiguration.h>

чем-то, что компилируется на watchos?Или для более общего вопроса, как разработчик, как я, может заменить импорт библиотеки SystemConfiguration на проекты watchos, которые полагаются на это?

Вот моя ветвь пытается портировать AWS SDK, чтобы не полагаться на SystemConfiguration.h.

Extra

Одна библиотека, которая показалась успешной, может быть найдена здесь .

1 Ответ

0 голосов
/ 21 мая 2018

Вы просматривали документацию Apple о различиях между поддержкой watchOS и iOS?Я сомневаюсь, что watchOS является хорошей платформой для интеграции с AWS, но это только моя личная мысль после быстрого обзора.

Вы смотрели документацию Apple по SystemConfiguration здесь?: https://developer.apple.com/documentation/systemconfiguration

Обратите внимание, что watchOS не указана как поддерживаемая.Это первоначальная причина вашей проблемы.watchOS поддерживает только платформу WatchConnectivity в настоящее время, наряду с ограниченным веб-интерфейсом, использующим NSURLConnection (я немного упрощаю здесь.)

Любой порт для watchOS должен заменить любые части, используя мониторинг подключения и веб-соединенияс более ограниченными возможностями, доступными на watchOS.Вам нужно будет просмотреть все удаленные взаимодействия в API AWS, чтобы увидеть, могут ли они быть реализованы с помощью ограниченных функций, доступных в watchOS.Для вещей, которые watchOS не может сделать, в большинстве случаев возможно передать функциональность связанному приложению iOS.Но вам также нужно будет рассмотреть это, чтобы увидеть, как оно вписывается в ваш дизайн приложения.

...