Flutter - iOS에서 빌드 시 the attribute name is invalid 에러 발생 시

thumbnail

갑자기 빌드가 안되었다.

번들 ID 쉽게 바꿔서 개발용 배포용 앱 나누기라는 포스팅에서 소개한 것 처럼 배포용으로 바꾸고 Xcode에서 빌드를 돌렸다.
근데 에러가 발생했고 에러의 문구는 다음과 같다.

The attribute 'name' is invalid

이게 왜 이런지 한참을 찾다가…
StackOverFlow에서 답을 찾을 수 있었다.

img01

이게 왜 문제?

전에 포스팅한 번들 ID 쉽게 바꿔서 개발용 배포용 앱 나누기내용에는 아래의 코드가 있다.

const devAppId = "개발용 Bundle ID";
const prodAppId = "운영용 Bundle ID";

await Process.run('rename', [
    'setBundleId',
    '--targets',
    'ios,android',
    '--value',
    isProdMode ? prodAppId : devAppId
  ]);

그렇다.
내가 쓰는 AppId에는 안드로이드에서 사용한 값을 그대로 써서 -이 들어가 있다.
근데 Apple은 하이픈(-)을 허용하지 않는다.
그래서 이걸 언더바(_)로 변경해줬더니 아주 잘 되었다.

현재 쓰는 코드는 아래와 같이 iOS / Android 를 구분시켰다.

const devAndroidAppId = "dmode_bcow_world";
const prodAndroidAppId = "bcow_world";

const devIosAppId = "dmode-bcow-world";
const prodIosAppId = "bcow-world";

뭔가 에러를 많이 겪는데 하나씩 배워가면서 채워가는게 재미있다.


Written by@MHLab
로또는 흑우집합소 🎲
와인관리, 시음노트, 셀러관리는 마와셀 🥂

🫥 My Service|  📜 Contact|  💻 GitHub