programing

libarclite_iphoneos.a 파일 누락(Xcode 14.3)

css3 2023. 7. 24. 22:40

libarclite_iphoneos.a 파일 누락(Xcode 14.3)

내 ios 16.3 iPhone XS에서 내 앱을 실행하기 위해 Xcode 14.3을 설치한 후.다음 오류가 발생합니다.

파일을 찾을 수 없습니다. /Applications/Xcode-beta.app/콘텐츠/개발자/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a

이 일을 피할 수 있는 사람이 있습니까?

포드 파일에 아래 코드를 추가하면 저에게 도움이 됩니다.버전 14.3 베타 2(14E5207e)

post_install do |installer|
    installer.generated_projects.each do |project|
          project.targets.each do |target|
              target.build_configurations.each do |config|
                  config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
               end
          end
   end
end

터미널을 열고 다음 폴더로 이동합니다.

cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/

폴더 호를 작성합니다.

시스템 기본 설정 - 보안 및 개인 정보 - 전체 디스크 액세스 - 터미널로 이동합니다.

sudo mkdir arc
cd  arc
sudo git clone https://github.com/kamyarelyasi/Libarclite-Files.git .

필요한 권한을 부여합니다.

sudo chmod +x *

이제 빌드 및 실행은 가능하지만 보관은 불가능합니다.

이 문제를 해결하려면 다음 단계를 수행합니다.

In your Xcode navigate to:

Pods \ Target Support Files \ Pods-Runner or Pods-App  

Open Pods-Runner-frameworks.sh  or Pods-App-frameworks.sh

Find the line: source="$(readlink "${source}")" 

Replace it by: source="$(readlink -f "${source}")"

그러면...보관

enter image description here

타사 프레임워크의 최소 배포 버전을 수동으로 수정할 수 있습니다.

예: iOS 8.0 --> iOS 11.0

enter image description here

post_install do |installer|
  installer.generated_projects.each do |project|
        project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
             end
        end
 end
    installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

이것은 포드 파일에 대한 올바른 코드입니다.

업데이트했습니다.post_install에서 드내파서에일포내서▁in▁my

post_install do |installer|
  installer.generated_projects.each do |project|
    project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
      end
    end
  end

  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

또한 최소 배포를 13으로 설정했습니다(Runner > Targets > Runner).

Xcode target minimum deployment target

이후 터미널에서 실행하여 프로젝트의 포드를 업데이트했습니다.

cd ios;
# remove the pods
pod deintegrate;
# remove the Podfile.lock
rm -f Podfile.lock;
# installs the pods
pod install --repo-update;

IDE에서 앱을 실행해 보십시오. 지금 작동합니다.

문제가 계속 발생하면 Xcode 내에서 빌드 폴더를 정리하고 Xcode 내에서도 앱을 실행해 보십시오.

Xcode clean build folder

Xcode에서 앱을 성공적으로 실행했으면 IDE로 돌아가서 앱을 실행할 수 있습니다.

XCode 14.3으로 업데이트한 후 질문에 설명된 것과 동일한 오류 메시지가 표시되었습니다.저의 경우는 표시된 포드의 오류였습니다.제 프로젝트는 네이티브 iOS 앱이며 다른 사람들의 답변처럼 설레지 않습니다.

다음은 저에게 효과가 있었습니다.

  1. 추가하여 포드 파일의 모든 포드를 주석 처리합니다.# in front of each pod.
  2. XCode를 닫습니다.
  3. 려달을 합니다.pod install(모든 포드가 제거됩니다.)
  4. 을 엽니다.xcworkspace(XCode는 XCode로 다시 프로젝트를 합니다.command-shift-k).
  5. Uncomment pods 끝 합니다(Pod파서마끝앞추다니가합에지막일에).change 11.0 to the minimum version you want to support):
post_install do |installer|
    installer.generated_projects.each do |project|
        project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
            end
        end
    end
end
  1. XCode를 닫습니다.
  2. 포드 설치를 실행합니다.
  3. XCode에서 xcworkspace 프로젝트를 열면 오류가 사라집니다.

저한테는 효과가 있어요.

cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/

sudo mkdir arc

#While executing the above command, the OS will block it and give an error. Allow permission from the settings and run the command again.

cd  arc
sudo git clone https://github.com/kamyarelyasi/Libarclite-Files.git .

도 실행해야 할 수 sudo 편집: 할야명실행해수있습다니. sudochmod +x *

저는 몇 시간을 소비했고 문제를 발견했습니다. xcode 버전 14.3이었습니다.

위의 제안(podfile 업데이트)을 시도해보니 효과가 있었지만, 문제는 IPA나 XCA 아카이브를 구축할 수 없다는 것입니다.

제 경우에는 다음과 같이 했습니다.

  1. xcode 버전 14.2를 여기에서 다운로드했습니다. https://xcodereleases.com/

  2. 명령줄 도구를 Xcode14.2로 설정하기만 하면 됩니다.

추신: 만약을 위해 일반적인 것을 먼저 실행하십시오.

flutter clean && flutter pub get

이를 통해 XCA 아카이브를 구축하고 생성할 수 있었습니다.이것이 다른 개발자들을 설레게 하는 데 도움이 되기를 바랍니다!

Xcode Settings

다음 경로에 'arc'라는 폴더를 만들기만 하면 됩니다.

/Xcode.app/콘텐츠/개발자/툴체인/XcodeDefault.xctoolchain/usr/lib/

이 리포지토리의 내용을 다운로드하여 방금 만든 폴더에 붙여넣은 다음 다시 빌드합니다.

https://github.com/kamyarelyasi/Libarclite-Files

Flooth 팀에서.

방법이 . 를 최신 하십시오.3.7.11그리고 실행flutter upgrade당신의 프로젝트에서, 그리고 당신은 잘해야 합니다.

https://github.com/flutter/flutter/issues/124433 .

Flutter 프로젝트에서 방금 테스트했으며 xcode 프로젝트를 빌드하고 보관할 수 있는지 확인할 수 있습니다.

tl;dr: 포드를 다운그레이드하지 않고 배포 대상 변경

여기에 있는 많은 대답은 업데이트에 관한 것입니다.IPHONEOS_DEPLOYMENT_TARGET에 시대에post_install코코파드의 갈고리제 프로젝트는 이미 더 높은 배포 대상을 가진 포드를 사용하고 제공된 솔루션은 포드를 다운그레이드하여 빌드가 손상되도록 하기 때문에 이 솔루션을 약간 수정해야 했습니다(예: 포드가 새로운 API를 사용하는 경우).

구축 목표가 너무 낮은 경우에만 변경하는 패치 방식은 다음과 같습니다.

post_install do | installer |
  installer.generated_projects.each do |project|
    project.targets.each do |target|
      target.build_configurations.each do |config|
        if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].split('.').first.to_i < 11
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
        end
      end
    end
  end
end

사실, 다른 답들은 정확하지만, 아마추어들에게, 그것을 알아내는 것은 여전히 꽤 어렵습니다.

답변:

iOS가 iOS 8 지원을 중단한 것 같으니 최소 11.0이어야 합니다.

iOS를 업그레이드하는 두 가지 방법이 있습니다.

1 - 최소 11.0 전개로 모든 대상을 수동으로 업데이트합니다.

enter image description here

완벽하게 작동하지만 피곤할 거예요, 그래서...

2 - 포드 코드를 조정하여 11.0에서 최소 전개로 모든 대상을 강제로 배치합니다.

enter image description here

post_install do |installer|
    installer.generated_projects.each do |project|
          project.targets.each do |target|
              target.build_configurations.each do |config|
                  config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
               end
          end
   end
end

포드를 청소하고 통합을 해제한 후 다시 설치해야 합니다.

cd [project directory]
pod deintegrate
pod clean
pod install

저는 그 문제를 알아냈습니다.iOS 15.0에 오류를 일으킨 Pod 모듈의 배포 대상을 늘려야 했습니다.적어도, 그것이 저에게 효과가 있었습니다.

아무 것도 효과가 없었어요.방금 X 코드를 14.2로 다운그레이드했고 작동합니다!!

업데이트 첫째데트이업번▁first트이데.PodFile.

post_install do |installer|
  installer.generated_projects.each do |project|
    project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
        end
    end
  end
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

필요에 따라 대상을 업데이트합니다.나를 위해.11.0최소 요구사항이었습니다.으로 기적으로됩다니트를 업데이트합니다.minimum deployments 모든 에서 엇이든할수있는한무한있는▁you▁from수▁anything▁have할.11.0수동으로 업데이트할 필요가 없습니다.

지금이다Missing file libarclite_iphoneos.a수정해야 합니다.그러나 빌드를 생성하는 동안 다른 문제가 발생할 수 있습니다.그렇다면 다음 단계를 수행하십시오.

빌드를 생성할 수 없습니까?

.sh 경로: flutter-project-folder/ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh

스텝

  1. 을 엽니다.Pods-Runner-frameworks.sh 고한또파일다른는숭다)▁from파▁sub일▁file또▁(한.
  2. 을 합니다.source="$(readlink "${source}")"그리고 그것을 대체합니다.source="$(readlink -f "${source}")"
  3. 려달을 합니다.flutter build ipa --release
  4. [important]이제 다시 숭고함을 열어보세요.제거되는 것을 보게 될 것입니다.-f 이때즉추를 합니다.-f파일을 다시 저장합니다.이제 빌드가 성공적이어야 합니다.

이것은 저에게 효과가 있었습니다.이게 도움이 되길 바랍니다.

감사해요.

macOS 프로젝트의 경우 해당 대상에 대한 최소 배포 버전을 늘립니다.

swift/objective-c에서 작업하는 경우 다음을 제외하고는 추가 작업이 필요하지 않습니다.

  1. 프로젝트 탐색기에서 [Pods] 프로젝트로 이동합니다.
  2. 아래의 "각" 대상을 선택하고 아래의 3단계를 수행합니다.
  3. 최소 배포 값을 해당 드롭다운 목록에서 사용 가능한 가장 낮은 버전으로 변경합니다. (입력하지 마십시오. 수동으로)

enter image description here

그런 다음 제품 메뉴에서 빌드 폴더를 정리하면 프로젝트를 성공적으로 빌드할 수 있습니다.


내 시스템:맥북 프로 M1

Xcode: 14.3


이 문제를 해결하려면 포드의 iOS 배포 대상이 11.0인지 확인해야 합니다. iOS 배포 대상이 8.0인 포드가 문제를 일으켰습니다.

예: iOS 배포 대상 8.0으로 설정된 포드: leveldb-library, nanob.

빌드할 때 8.0으로 설정된 모든 포드에 대해 이 오류가 발생하므로 수동으로 또는 Pod 파일에 설치 후 스크립트를 사용하여 11.0으로 변경합니다.

Float 3.7.11에서 수정됨

flutter upgrade

https://github.com/flutter/flutter/issues/124340

https://github.com/flutter/flutter/wiki/Hotfixes-to-the-Stable-Channel

당신은 'libarclite_syspos'를 복사할 수 있습니다.a'는 Xcode 14.2에서 Xcode 14.3으로 저에게 효과가 있었습니다.

Levelb CocoPod(Firebase Firestore 및 Firebase Database의 종속성)에서 이 문제가 발생한 경우 Xcode 14와 호환되도록 업데이트된 최소 Apple 플랫폼 버전이 포함된 버전 Levelb-library 버전 1.22.2를 게시했습니다. 실행pod update1.22.2를 얻기 위해.

Inside script "Pods-${TARGET}-frameworks.sh"
Inside function install_framework()
...
# Use filter instead of exclude so missing patterns don't throw errors.
# 
# 1. fix framework path at $source variable
#    framework not found at script location
source="${1}"

echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""

# 2. replace rsync --links flag with --copy-links 
#    rsync will copy files and directories instead do symlinkink
#    if don't do this, later code sign failed, when try to codesign symbolic link
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --copy-links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
...
That's all ctrl+s and archive

MoveFastLink의 솔루션을 개선하고 싶습니다.

제가 생각하기에 개선할 수 있는 것은 두 가지입니다.

  • FastLink의 솔루션을 이동하는 과정에서 포드 중 하나에 이미 더 높은 구축 목표가 있는 경우 다음과 같이 "다운그레이드"됩니다.13.0.
  • OP는 자신의 문제를 해결할 해결책을 요청합니다.문제를 해결하기 위해 필요하지 않으므로 모든 포드의 대상 버전을 다음과 같이 설정합니다.13.0.대신,11.0충분한 양

이러한 이유로 저는 이것을 추가할 것을 제안합니다.Podfile프로젝트:

wanted_project_target = 11.0

post_install do |installer|
  installer.generated_projects.each do |project|
    project.targets.each do |target|
      target.build_configurations.each do |config|
        current_project_target = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f

        if current_project_target < wanted_project_target
            config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = wanted_project_target.to_s
        end
      end
    end
  end
end

이 코드는 전류가IPHONEOS_DEPLOYMENT_TARGET보다 낮음wanted_project_target그리고 오직 그것을 재지정합니다.wanted_project_target이 경우에는

오류(노란색)에서 문제가 있는 포드를 볼 수 있습니다.방금 제 목표로 바꿨습니다 (14)

Pods를 사용하여 Firebase를 앱에 추가할 때 이 문제가 발생했습니다.왼쪽의 파일 탐색에서 'Pods' 프로젝트를 선택한 다음 'General' 탭을 선택하고 'leveldb-library' 대상을 선택하고 최소 배포를 iOS 11.0으로 설정합니다.

언급URL : https://stackoverflow.com/questions/75574268/missing-file-libarclite-iphoneos-a-xcode-14-3