반응형

Automatically assigning platform `iOS` with version `11.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile

 

flutter  ios 개발시에 해당 오류를 겪는 상황이 생긴다 

Automatically assigning platform `iOS` with version `11.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile

 

나의 경우는 firebase의 dynamic link 세팅중 android는 잘 됐지만 아이폰에서 빌드시 에러가 났다.

 

인터넷에 많이 나와있는 해결방법인. 

 

/ios/Podfile 위치에 있는 파일의 내용을 수정하는 방법이 자주 나와있었는데 해방 방법은 아래와 같다

 

제일 상단

# Uncomment this line to define a global platform for your project
# platform :ios, '11.0'

 

이렇게 된 곳이 있다. 해당 부분에서

# platform :ios, '11.0'

 ->

platform :ios, '11.0'

이렇게 주석을 해제하는 방법이었는데 나에게는 해당 방법이 적용되지 않았다.

 

 

두번째 방법으론  위 방법을 적용 한 상태에서 아래에 있는 

target 'RunnerTests' do
  inherit! :search_paths
end

이부분을 주석처리를 따로 해주는 것이었는데. 테스트 해주는 부분으로 

해당 부분을 주석처리 해주었다.

 

#   target 'RunnerTests' do
#     inherit! :search_paths
#   end

하지만 이 경우에도 에러가 발생했기 때문에 다른 해결책이 필요했다.

 

에러 발생 로그창 잘 읽어보면 마지막에

Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
  pod repo update

Error running pod install
Error launching application on iPhone 14 Pro.

해당 문구가 뜬다.  처음부터 가이드를 읽을껄.. pod repo update 명령어부터 먼저 실행!

오 업데이트 진행 후 정상 진행 앱이 실행됐는데 

 

이때 1,2번에서 실행했던 내용을 복구 한뒤 pod repo update  만 된 상태로 실행

 

잘된다.

 

에러를 먼저 읽고 flutter doctor에서 제시하는 방법을 먼저 써야겠다.. 읽지도 않고 찾아보다 발생한 시간 허비 

 

Automatically assigning platform `iOS` with version `11.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile 완료

반응형
반응형

Firebase Dynamic link 세팅 (1)

 

Firebase Dynamic link 세팅 (1)

새로 개발하는 앱에 , 컨텐츠 공유 기능이 필요하게 됐는데 이 기능을 위해선 공유하기 -> 공유 -> 링크선택 순서로 진행 후 앱이 설치되어 있으면 앱을 연 후 공유된 컨텐츠로 이동 , 위 방법 진

marvingood.tistory.com

 에서 한 내용 

1. flutter firebase 연동

2. firebase dynamick link 세팅

을 진행했다 이어서 이번편에서는 

1. ios, android 세팅

2 링크 연결 공유

를 목표로 잡고 진행함

 

A. Android

  • flutter. 앱에 firebase_dynamic_links 패키지를 설치 한다
flutter pub add firebase_dynamic_links
  • 프로젝트 폴더의 /android/app/src/main/AndroidManifest.xml 파일에 설정 값 작성
<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data
        android:host="example.com"
        android:scheme="https"/>
</intent-filter>

deeplink 수신 방법과 동일 example.com 위치에는 Firebase Dynamic link 세팅 (1) 에서 작성한 domain을 넣어주면 된다 

 

B-1. ios xcode 사용

  • Xcode 앱을 연후 TARGETS 헤더에서 앱을 연다.
  • 서명 및 기능 페이지에서 팀이 등록되어 있고 프로비저닝 프로필이 설정되어 있는지 확인
  • 서명 및 기능 페이지에서 연결된 도메인을 사용 설정하고 연결된 도메인 목록에 다음을 추가
applinks:example.page.link

뒤 example.page.link 는 내가 설정한 도메인으로 등록 

  • 정보 페이지에서 프로젝트에 URL 유형을 추가합니다. URL 스키마 필드를 앱의 번들 ID로 설정
  • Firebase 프로젝트의 커스텀 도메인을 설정한 경우 FirebaseDynamicLinksCustomDomains 키를 사용하여 iOS 프로젝트의 Info.plist 파일에 동적 링크 URL 프리픽스를 추가
<?xml version="1.0" encoding="UTF-8"?>
http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>FirebaseDynamicLinksCustomDomains</key>
<array>
    <string>https://custom.domain.io/path1</string>
    <string>https://custom.domain.io/path2</string>
</array>

...other settings

</dict>
</plist>

B-2. ios 플루터 ( IDE ) 사용시

 

ios/Runner/Runner.entitlements 파일오픈 후 

    <?xml version="1.0" encoding="UTF-8"?>
    http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.developer.associated-domains</key>
    <array>
        <string>applinks:example.app</string>
    </array>
</dict>
</plist>

아래 코드 입력 여기서 example.app은 설정한 도메인으로 변경 해주면 된다.

 

만약 도메인을 무료제공이 아닌 커스텀을 등록했다면 ios/Runner/Info.plist 아래에 이와같이 추가 

<key>FirebaseDynamicLinksCustomDomains</key>
<array>
   https://example.app/share
</array>

세팅이 완료 되었다면 

Future<String> share(String screenName, String id) async {
  String dynamicLinkPrefix = 'https://{도메인}/{prefix를 설정했을 경우 여기 세팅 }';
  final dynamicLinkParams = DynamicLinkParameters(
    uriPrefix: dynamicLinkPrefix,
    link: Uri.parse('$dynamicLinkPrefix/$screenName?id=$id'),
    androidParameters: const AndroidParameters(
      packageName: '앱의 패키지명',
      minimumVersion: 0,
    ),
    iosParameters: const IOSParameters(
      bundleId: '앱의 패키지명',
      minimumVersion: '0',
    ),
  );
  final dynamicLink =
      await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);

  return dynamicLink.shortUrl.toString();
}

위와같은 함수를 세팅해준다  링크를 log, print로 찍어보면 생성된 링크가 나오는데 

해당 링크를 url 접속을 하면 안나오고 

모바일 기기에서 붙여넣기나 브라우저로 실행하면 된다.

반응형
반응형

새로 개발하는 앱에 , 컨텐츠 공유 기능이 필요하게 됐는데 이 기능을 위해선 

공유하기 -> 공유 -> 링크선택 순서로 진행 후 앱이 설치되어 있으면 앱을 연 후 공유된 컨텐츠로 이동 , 

위 방법 진행중 앱이 설치되어 있지 않으면 안드로이드 마켓, 아이폰 앱 스토어로 이동 후 다운받게 하는 링크가 필요 했다. 

 

링크 공유 후 해당 링크는 앱이 없으면 스토어에서 다운받게 유도를 시켜야 하는 기능이었는데. 

이 과정에서 Firebase Dynamic link 를 세팅해서 사용하기로 했다. 

 

하지만 2025.08.28일을 마지막으로 기존 링크들도 모두 서비스가 종료되는데. 

 

1. 웹페이지 오픈 후 웹에서 앱 설치여부 판단 후 없을경우 스토어 이동 있을경우 오픈 

2. Firebase Dynamic link  그대로 사용 

두 방법중 고민하는중 앱은 이벤트 성으로 종료일이 2025.08.25일까지 유지 가능성? 이 없을것 같아 그대로 사용하기로 한다.

 

Firebase Dynamic link 종료 예정 공지

세팅 진행 순서 ( mac os ) 

A. dynamic lick를 사용하기 위해 flutter app을 firebase에 등록하기  

 

      1. node 16.13.0 버전 이상을 필요로 하며 노드사용자가 아닐 경우 https://firebase.google.com/docs/cli?hl=ko#mac-linux-npm 를 사용

 

firebase-tools 설치

       2. android / ios 별 설치후  flutterfire_cli 설치 

           IOS : https://firebase.google.com/docs/flutter/setup?platform=ios&source=post_page-----ce41cb9baf2c--------------------------------&hl=ko 

 

Flutter 앱에 Firebase 추가

의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Flutter 앱에 Firebase 추가 plat_ios plat_android plat_web iOS+ Android 웹 기본 요건 아직 Flutter 앱이 없다면

firebase.google.com

    android: https://firebase.google.com/docs/flutter/setup?platform=android&source=post_page-----ce41cb9baf2c--------------------------------&hl=ko

 

Flutter 앱에 Firebase 추가

의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Flutter 앱에 Firebase 추가 plat_ios plat_android plat_web iOS+ Android 웹 기본 요건 아직 Flutter 앱이 없다면

firebase.google.com

  위 방법대로 설치. flutterfire command not found 오류가 난다면 아래 방법 으로 bin 등록 

  1. Run vim ~/.zshrc
  2. Press i
  3. Paste export PATH="$PATH":"$HOME/.pub-cache/bin"
  4. Press esc
  5. Type :wq! and press enter
  6. Restart the terminal

세팅이 완료되면 관련된 플러그인들을 사용 할 수 있다.

firebase 플러그인 목록

 

1. 위 화면에서 계속하기를 누르면 url 프리픽스 추가 팝업  계속하기 클릭

2. 프리픽스 추가를 누르면 기본으로 제공되는 도메인이 있고 , 커스텀 도메인을 사용 할 수 있다. (아래 커스텀 도메인 세팅 방법 공유 ) 

Firebase Dynamic link 도메인 세팅

도메인을 설정하고 앱 prefix를 정해주고 완료를 누르면 초기 세팅 완료

 

 

다음편은 Firebase Dynamic link 세팅(2)

 

반응형

+ Recent posts