Swift version embedded in external Framework

add external framework to xcode project
xcode framework embed and sign
create framework with pod dependencies
add custom framework to xcode project
swift dynamic framework
xcode copy files build phase
xcode linked frameworks and libraries
xcode framework greyed out

A third part company has provide me a Framework. I would like to check the swift version embedded in the framework (2.2, 2.3 or 3.x) The framework directory include libswift dylib files.

How to check the swift version used in the framework ?

Thanks !

You can use otool to print all versions of included binaries in the framework:

otool -l /path/to/your/FrameworkName.framework/Versions/A/FrameworkName

How do I use an external framework in my project?, I haven't been able to use any third-party frameworks in an Xcode project. instance of the library is to be used with Release, Debug, Simulator, or Device builds) then you likely want to link them as *embedded frameworks. That means the guy using your closed-source framework has to be using the same version of Swift in their Xcode for their project as you did for compiling the library, even if he's not using Swift in his code because ultimately it's his version of Swift that gets bundled into the app and your SDK runs against.

You can use Oskars answer to get the swiftlang version (in your case: 703.0.18).

Now you just have to lookup for the Swift version in the following table:

Swiftlang version            Swift version
-                            -
swiftlang-602.0.49.3         1.2
swiftlang-602.0.49.6         1.2
swiftlang-602.0.53.1         1.2
swiftlang-700.0.59           2.0
swiftlang-700.1.101.6        2.1
swiftlang-700.1.101.15       2.1.1
swiftlang-703.0.18.1         2.2
swiftlang-703.0.18.8         2.2
swiftlang-800.0.46.2         3.0
swiftlang-800.0.58.6         3.0.1
swiftlang-800.0.63           3.0.2
swiftlang-802.0.48           3.1
swiftlang-802.0.51           3.1
swiftlang-802.0.53           3.1

Source: Wikipedia

So 703.0.18 means Swift version 2.2.

Technical Note TN2435: Embedding Frameworks In An App, TN2435: demonstrates how to embed a framework for different project Embedding a Framework in iOS, macOS, watchOS, and tvOS Apps Rebuild your app using the current public (GM) version of Xcode and resubmit it. I don’t know which technology Apple uses for their Apps but assume the Music app is built with Swift 4.1 while the Weather App is built with Swift 2.1. Both versions of Swift are incompatible to

I used the -Swift.h Header file.

$ cat FrameworkName.framework/Headers/FrameworkName-Swift.h

First line is the information you need:

// Generated by Apple Swift version 5.1 (swiftlang-1100.0.270.13 clang-1100.0.33.7)

Is there a way to make embedded bi…, My situation is that I have a pair of iOS frameworks in binary form. the debug version of the app and the release framework is inside the release version. phases) was designed at a time when frameworks were typically public and external. What you are trying to create is called an Umbrella Framework. With some hacks and usage of a custom bash script you can create such a framework with nested frameworks as described here. However, Apple highly discourages to create umbrella frameworks because this method can create all kings of weird runtime and / or linking errors. Also, it is

Adding a third party framework inside a first party framework in , A main IOS project can explicitly include, replace, or delete frameworks as required, however a framework you create can depend on other third� To add a package dependency to your Xcode project, select File > Swift Packages > Add Package Dependency and enter its repository URL. You can also navigate to your target’s General pane, and in the “Frameworks, Libraries, and Embedded Content” section, click the + button, select Add Other, and choose Add Package Dependency.

iOS: Embedding frameworks into extensions, debugging issues, But how should properly embedded frameworks look like and how version 1.0. 0, current version 1238.0.0) /System/Library/Frameworks/� In this post you will learn how you can create a framework and how you can use it in your projects. Hint: This post is using Xcode 8.2.1 and Swift 3.0.2. Creating a Framework. You can simply create a project by using “File -> New -> Project…” and then choosing “Cocoa Touch Framework”:

Swift 5.0: How to migrate your project and frameworks, Migrate your project and frameworks and get the most out of Swift 5.0 within a few Swift 5.0 has been released in March 2019 and is the first ABI stable Swift release. You can skip this for any external dependencies. your app will shrink as apps don't have to embed the Swift standard library anymore. Swift Frameworks are Just Awesome!. “Swift Framework — Ch: 1 . Develop a Swift Framework” is published by Mohammad Zaid Pathan in Captain — iOS Experts.

Comments
  • Load command 48 cmd LC_LOAD_DYLIB cmdsize 60 name @rpath/libswiftCoreLocation.dylib (offset 24) time stamp 2 Thu Jan 1 01:00:02 1970 current version 703.0.18 compatibility version 1.0.0
  • Thanks for your reply. This is the output for otool for 1 dylib library. How to know if swift version used is swift 2.2, swift 2.3 or swift 3 ?
  • in my case the path to binary was slightly different: otool -l /path/to/your/FrameworkName.framework/FrameworkName
  • Note that otool -l did not work for me, as the framework did not have a Versions folder. I used otool -L on the binary within instead.