Я занимаюсь разработкой на стороне сервера уже несколько лет, используя Swift на стороне сервера, используя Xcode в качестве удобного инструмента редактирования. А теперь, когда в Xcode появилась поддержка пакетов Swift, ситуация в целом улучшилась. Я не нацелен на какое-либо традиционное оборудование Apple, так что это может быть источником моей проблемы, но, поскольку эта проблема начала возникать только недавно, я сообщаю об этом на случай, если другие тоже столкнутся с ней.
С одним из моих пакетов: http://github.com/SyncServerII/ServerDropboxAccount.git I больше не может создавать его с помощью Xcode.
Моим намерением в этом является в первую очередь редактирование и удаление синтаксических ошибок, то есть я использую Xcode в качестве редактора. В некоторых случаях с этими серверными пакетами я могу запускать модульные тесты в Xcode. В некоторых случаях мне приходится запускать тесты на моей целевой платформе Ubuntu.
Буквально за последние несколько дней я больше не могу собрать этот конкретный пакет ни в Xcode, ни в командной строке в Mac OS.
Я получаю такие ошибки:
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds+CloudStorage.swift:140:37: Cannot find type 'APICallResult' in scope
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds.swift:16:29: Cannot find type 'AccountAPICall' in scope
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds.swift:16:45: Cannot find type 'Account' in scope
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds+CloudStorage.swift:49:14: Value of type 'DropboxCreds' has no member 'apiCall'
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds+CloudStorage.swift:49:111: Cannot infer contextual base in reference to member 'string'
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds+CloudStorage.swift:49:147: Cannot infer contextual base in reference to member 'json'
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds+CloudStorage.swift:106:14: Value of type 'DropboxCreds' has no member 'apiCall'
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds+CloudStorage.swift:106:133: Cannot infer contextual base in reference to member 'data'
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds+CloudStorage.swift:106:167: Cannot infer contextual base in reference to member 'json'
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds+CloudStorage.swift:106:190: Unable to infer type of a closure parameter 'apiResult' in the current context
/Users/chris/Desktop/NewSyncServer/ServerDropboxAccount/Sources/ServerDropboxAccount/DropboxCreds+CloudStorage.swift:106:201: Unable to infer type of a closure parameter 'statusCode' in the current context
Я получаю те же ошибки, когда использую swift build
в командной строке в Mac OS. Однако, когда я использую swift build
в Ubuntu, я не получаю ошибок — пакет собирается чисто.
В Mac OS:
MacBook-Pro-4:ServerDropboxAccount chris$ swift --version
Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
Target: x86_64-apple-darwin19.6.0
На Убунту:
root@7b763a0a0a3f:~/Apps/ServerDropboxAccount# swift --version
Swift version 5.3.1 (swift-5.3.1-RELEASE)
Target: x86_64-unknown-linux-gnu
Это может быть второстепенным вариантом использования, но прежде чем я полностью отойду от использования Xcode для этого, я хотел бы понять, почему это происходит. Мысли ценятся. Спасибо!
Я включаю в этот вопрос тег для Kitura
, потому что мой сервер основан на Kitura. И потому, что Китура в последнее время претерпевает некоторые изменения, переходя от IBM к поддержке сообщества.