web-dev-qa-db-ja.com

アセットカタログ(.xcassets)に複数のイメージウェルに同じイメージを使用するように指示するにはどうすればよいですか?

いくつかのXcodeアプリプロジェクトがあり、それらすべてをアップグレードして、アセットカタログ(.xcassets)。

すべてのdefault(起動)画像には、ステータスバーの間隔が既に含まれています。これらの画像をiOS 5,6およびiOS 7起動画像。さらに、私たちはしないでください同じイメージの複数のコピーをプロジェクトに含めたいと考えています。

私たちのプロジェクトの1つは、これらのイメージウェルセットの両方に同じイメージを使用するように正しく設定されています。ただし、これは誤って設定されたものです。

編集Contents.jsonファイルを直接(必要であれば最後の回避策です)、アセットカタログのXcode GUIエディターを使用してこれをどのように実行できますか?

すでに試したもの

1)画像を別の位置にドラッグアンドドロップすると、画像が別のセットに移動します

2)Finderからアセットカタログに同じファイルをドラッグアンドドロップすると、画像の新しいコピーが作成されます

3)optionalt)を押したまま画像をドラッグアンドドロップすると、画像の新しいコピーが作成されます

29
JRG-Developer

.xcassetsファイルを右クリックして、[Finderに表示]を選択します。 「Image.launchimage」フォルダーに移動し、Contents.jsonファイルをテキストエディターで開きます。ここでは、割り当てられていないスロットに「ファイル名」が含まれていないことがわかります。これは手動で追加できます。たとえば、次のように変更します。

{
    "orientation" : "landscape",
    "idiom" : "ipad",
    "extent" : "full-screen",
    "minimum-system-version" : "7.0",
    "scale" : "2x"
}

に:

{
    "orientation" : "landscape",
    "idiom" : "ipad",
    "extent" : "full-screen",
    "minimum-system-version" : "7.0",
    "filename" : "Default-Landscape@2x~ipad.png",
    "scale" : "2x"
}

ファイルを安全に保管してください。

8
Erwin Zwart

私は解決策を見つけたと思います:iOS 6と7に使用したいデフォルトの画像をiOS 6バケットにドラッグするだけです。 iOS7のみのイメージがないという警告が表示されますが、ビルドはiOS7 Simmulato、iOS7 iPhone、およびiOS7 iPadで機能します。

0

ビルドスクリプトを使用して、ターゲットごとに正しいxcassetsファイルをコピーすることで、これを解決しました。詳細 ここ

0
coneybeare

古いxcassetsを削除してこれを解決し、Do n't app app catalogsを使用して新しいxcassetsを追加しました

0
user3540534

私の場合、ココアポッドを使用しています。ココアポッドスクリプトPods-resources.shどういうわけか問題が発生しました。スクリプトからアセットパーツを削除すると、問題が解決しました。

必ずプロジェクトをクリーンアップし、派生データフォルダーを削除してください。

削除するパーツはここにあります:

https://stackoverflow.com/a/21309102/832111

0
d.ennis

ココアポッド0.37にアップグレードし、問題は解決しました。ココアポッドを使用した場合、それはおそらくそのせいでした。

0
Qiulang