2016-08-02 7 views
0

フレームワークを含む複雑なプロジェクトが含まれているので、エクスポート/インポートXLIFFファイルスクリプトを使用しながら問題を解決し始めました。 /ライブラリのアサーションの失敗:XCode 7.3.1 importLocalizationクラッシュ

--- xcodebuild2016-04-13 11:56:20.933 xcodebuild [3927:40233] [MT] DVTAssertions問題は、次のエラーを投げたインポートスクリプト、周りを実際にしました/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-10183.3/IDEFoundation/Localization/IDELocalizationWork.m:177
詳細:(グループ)はゼロであってはいけません。
オブジェクト:
方法:+ groupStreamFromFileReference:言語:
スレッド:{数= 1、名前=メイン}
ヒント:なし
バックトレース:
0 - [DVTAssertionHandler handleFailureInMethod:目的:ファイル名:行番号:assertionSignature :のMessageFormat:引数:(DVTFoundation中)(DVTFoundationで)
1 _DVTAssertionHandler(DVTFoundationで)
2 _DVTAssertionFailureHandler

誰も私にこのバグを乗り越えるための何かを提案することはできますか?

答えて

0

Appleが、7.3.1で一部のローカリゼーションクラッシュを修正したことを知るために費やした1日で、他のバグも紹介されました。そのため、7.2.1のコマンドラインツールで同じスクリプトをテストすることは魅力的でした。しかし、それは掘り出して解決策を見つけるのをやめたわけではないので、ここではスクリプトが正しく実行されたフローがあります。

入力:

  • コードからのみ局在したプロジェクト。
  • それぞれがターゲットバイナリ+ターゲットユニットテストを持ついくつかのサブプロジェクト/フレームワーク。
  • は、プロジェクト

階段から任意のLocalizable.stringsファイルを削除するアシュアード: 1.プロジェクトを選択し、ローカライズ輸出行う(編集>ローカライズのために輸出を...)。 2.私の場合(しかし、それはタグを含まないエクスポートのバグかもしれません)、エクスポートされたen.xliffファイルを編集し、それぞれ<file .. target-language="en">ブロックの最後にtarget-language="en"を追加する必要がありました。 3.ファイルをインポートして戻します(エディタ>ローカリゼーションのインポート..)

しかし、それだけではありません...最初のエクスポートでは常にすべてのものがエクスポートされるわけではないので、同じものを実行する必要があるかもしれません数回処理する。私が再びエクスポートするたびに、XLIFFファイルにはローカライゼーションのブロックが追加されました。

たとえば、appターゲット+ユニットテストターゲットを持つプロジェクトを作成すると、最初のエクスポートプロセスで3つのファイル(2 InfoPlist.strings + 1 Localizable.strings)が生成されました。次回は、すでに4つのファイル(2つのInfoPlist.strings + 2 Localizable.strings)がエクスポートされています。

XCodeから書き出したときに、新しいローカリゼーションファイルの追加が中止されると、スクリプトが動作し始めました。

関連する問題