Xcode 10 не может скопировать файл, созданный целевой зависимостью - PullRequest
0 голосов
/ 10 января 2019

У меня есть одна цель A, которая просто запускает скрипт и генерирует кучу файлов (файлы локализации через шпагат). Другие цели, которые копируют эти файлы локализации, имеют целевую зависимость от A, поэтому они не запускаются до создания файлов.

Почему-то это не работает. Несмотря на то, что все файлы были сгенерированы успешно, и я вижу, что фазы копирования файлов выполняются позже, файлы не найдены.

Кроме того, это не работает, только когда я делаю чистую сборку. Во второй сборке сгенерированные файлы уже существуют и копии успешно завершены.

Например, мой скрипт запускает это:

bundle exec twine generate-all-localization-files Strings/ExtensionStrings.txt MyExtension/Resources --format apple --create-folders --tags ios
find /Users/me/proj/myapp -name Localizable.strings

Я вижу вывод /Users/me/proj/myapp/MyExtension/Resources/zh-Hans.lproj/Localizable.strings на ранних этапах процесса сборки, а потом вижу:

builtin-copyStrings --validate --outputencoding binary --outdir /Users/me/Library/Developer/Xcode/DerivedData/myapp-adfoisdfnasdao/Build/Products/Debug-iphonesimulator/MyExtension.appex/zh-Hans.lproj -- /Users/me/proj/myapp/MyExtension/Resources/zh-Hans.lproj/Localizable.strings

error: Build input file cannot be found: '/Users/me/proj/myapp/MyExtension/Resources/zh-Hans.lproj/Localizable.strings'

И снова, если я строю второй раз, это работает. Что, черт возьми, происходит? Я предполагаю, что это как-то связано с параллельными сборками Xcode 10, но я подумал, что размещение генерации / копии в отдельных целях с зависимостью между ними решит эту проблему.

...