programing

코코아 포드에서 use_frameworks!를 사용하는 이유는 무엇입니까?

css3 2023. 6. 24. 09:26

코코아 포드에서 use_frameworks!를 사용하는 이유는 무엇입니까?

사용한 적이 있습니다.use_frameworks!코코아 포드로Podfile여러 번왜 우리가 그것을 사용하는지 궁금합니다.저는 그것에 대한 단도직입적인 대답을 얻을 수 없었습니다.

예:

platform :ios, '8.0'
use_frameworks!

target "CityWhether" do
    pod 'Alamofire'
    pod 'SwiftyJSON'
end

use_frameworks!에서는 정적 라이브러리 대신 프레임워크를 사용할 것임을 코코아 포드에 알립니다.Swift는 정적 라이브러리를 지원하지 않으므로 프레임워크를 사용해야 합니다.


다른 답변에서 정적 라이브러리와 프레임워크의 차이점을 설명했습니다.

코코아 터치 프레임워크

그것들은 항상 오픈 소스이며 당신의 앱처럼 만들어질 것입니다. (따라서 Xcode는 때때로 당신이 앱을 실행할 때 그리고 항상 당신이 프로젝트를 청소한 후에 그것을 컴파일할 것입니다.)프레임워크는 iOS 8 이상만 지원하지만 프레임워크에서 Swift와 Objective-C를 사용할 수 있습니다.

코코아 터치 정적 라이브러리

이름에서 알 수 있듯이, 그들은 정적입니다.따라서 프로젝트로 가져올 때 이미 컴파일되어 있습니다.코드를 표시하지 않고 다른 사용자와 공유할 수 있습니다.정적 라이브러리는 현재 Swift를 지원하지 않습니다.라이브러리 내에서 Objective-C를 사용해야 합니다.앱 자체는 여전히 스위프트로 작성할 수 있습니다.

출처:나의 다른 대답 | AddThis.com 블로그

use_frameworks!코코아 포드에 동적 라이브러리를 사용하도록 지시하고, 특히 정적 라이브러리를 신속하게 지원하지 않기 때문에 한 시점에 매우 널리 퍼졌습니다. 즉, 선택의 여지가 없었지만 종종 필요하지는 않습니다.use_frameworks!더이상.

Xcode 9 베타 4 및 코코아 포드 1.5.0부터는 swift static 라이브러리가 지원됩니다.가장 큰 장점은 앱 시작 시간이 더 빠르다는 것입니다. 특히 포드가 많은 경우 iOS 10과 11은 다이브가 많을 때 가장 빠르지 않습니다.

코코아팟 1.5.0은 2018년 4월 초에 출시되었으므로 업그레이드해야 합니다.sudo gem install cocoapods.

아직 정적 라이브러리에서 올바르게 작동하지 않는 포드를 여러 개 발견했기 때문에 주행 거리가 달라질 수 있습니다.

use_frameworks!정적 라이브러리 대신 동적 프레임워크를 사용할 것임을 선언합니다.

Xcode 9.0과 코코아 포드 1.5.0이 출시된 상태에서, 만약 당신이 사용하지 않는다면 당신은 swift로 정적 라이브러리를 사용할 수 있습니다.use_frameworks!.

한가지 문제점use_frameworks!즉, 포드/제품의 모든 프레임워크가 프레임워크입니다.

관련 기사: iOS의 정적 동적 프레임워크에 대한 기본 개요입니다.

코코파드는 _frameworks를 사용합니다.

코코파드류[정보] use_frameworks!이진 유형은 다음과 같습니다.

  • 한다면use_frameworks!있음 -dynamic framework
  • 한다면use_frameworks!없음 -static library

use_frameworks!는 에반되어있다에 되어 있습니다.Mach-O Type[정보] 의 그에 상응하는 목표로Pods프로젝트.

시간 표시 막대:

  1. 코코아팟 0.36 도입use_frameworks!것.
  2. 코코아팟 1.5.0 및 Xcode 9를 통해 선택 가능

[어휘]

추가 중

use_sys!

Podfile에서는 나열된 프레임워크를 정적 프레임워크로 대신 동적으로 설치하는 것을 의미합니다.

언급URL : https://stackoverflow.com/questions/41210249/why-do-we-use-use-frameworks-in-cocoapods