Skip to content

Conversation

sstadelman
Copy link

I'm a NUI developer, and am working to update the workflow to support Carthage dependency manager for modern swift applications. Carthage is dependent on the shared build scheme(s) in the *.xcodeproj. For modern iOS applications, the *.framework linkage is preferable to the library approach.

I have not touched any of the existing targets, but instead added a new target, of type: iOS, objective-c, framework. iOS 10 SDK, $(ARCHS_STANDARD).

I copied the build phases settings of the MacOS framework target, and added the flag -fno-objc-arc to the necessary source .m files.

Last, I set the new build scheme for the iOS framework to "shared", and pushed the xcscheme, which can be discovered by Carthage dependency manager.


To link CoreParse to an iOS application target, using Carthage, the developer should add the following line to their Cartfile:
github "https://github.com/beelsebob/CoreParse.git" "master" (Idealy, a new release could be created, eliminating the need for the branch name)

Then, run carthage update from the project root. This checks out the source of the CoreParse repo, and attempts to build the shared schemes. The developer should then find the built framework in the $(SRC_ROOT)/carthage/Build folder, and drag to the Linked Frameworks and Libraries section of the target General tab.

To update in the future, re-run the carthage update command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant