🧑‍💻/Swift

SF Symbol 사용 불가 Warning 해결하기

유리맥 2022. 3. 15. 22:28
반응형

Storyboard를 사용해 UI를 구성하다 보면 이런 warning 을 발견하게 됩니다.

warning: Asset Unavailable: SF Symbol 'arrow.backward' is unavailable prior to iOS 14.0. Add a fallback image of the same name to the asset catalog for backward deployment.

 

제 Deploy Target은 iOS 13.0이고, iOS 14.0 이상 버전에서 지원하는 시스템 이미지를 사용하여 에러가 발생했습니다.
경고를 무시하고 iOS 14.0 미만 버전에서 앱 실행하게 되면..? 이미지가 그냥 비어버립니다.

친절하게도 해결책을 알려줍니다. asset catalog에 동일한 이름의 이미지를 추가하세요!

asset catalog는 Assets.xcassets 파일을 말합니다. 이 곳에 arrow.backward 이름으로 이미지를 넣으라는 거죠.

개인적으로 이미지를 넣어도 되지만, 애초에 이런 오류가 난다는 건 Apple의 깔끔한 아이콘을 사용하고 싶었던 건데 .. 😇 (저작권 문제도 없고)

이러한 버전 문제 없이 Apple 아이콘을 사용하기 위해서는 직접 Assets에 Apple 아이콘을 넣어주면 해결됩니다.

 

먼저 SF Symbols 앱을 설치합니다.
SF Symbols는 Customize를 위해 WWDC19에 소개된 기능입니다 ~

https://developer.apple.com/sf-symbols/

 

Apple Developer

There’s never been a better time to develop for Apple platforms.

developer.apple.com

 

Download를 클릭하면 SF-Symbols-3.2.dmg 파일이 다운로드됩니다.

Download 클릭

 

SF Symbols.pkg를 더블클릭하여 설치를 진행합니다. 아이콘을 모두 다운받는 거기 때문에 300MB가 넘는 고용량이네요 ㅎㅎ ~

 

이제 Command + Space 또는 Spotlight 검색으로 SF Symbols를 열어 실행합니다.
문제가 됐던 arrow.backward를 검색해 클릭하고, 파일 > 기호 내보내기를 선택하면 svg 파일이 다운로드 됩니다.

 

Xcode로 돌아와서 Assets > + > Symbol Image Set 하여 아까 받은 svg 파일을 드래그 앤 드롭 해줬는데 오류가 납니다 .. ㅜ

The SVG file provided for the symbol image set 'Symbol' is not suitable

 

원인을 찾아 보니 버전 문제 였습니다.
기호 내보내기 할 때 버전을 체크할 수 있었는데 3.0과 2.0이 있습니다.
3.0은 Xcode 13 이상 버전(macOS Monterey) 부터 지원하기 때문에 Xcode 12.5.1 버전을 쓰는 저는 2.0을 다운받아야 했습니다.

 

2.0 버전으로 다운받아 넣어주니 문제 없이 동작하네요 !

Rebuild 후 warning이 사라진 것을 볼 수 있었습니다.
끝 ~ 😊😊

반응형