MailCore 2 is available through Swift Package Manager.
- In Xcode click
File->Swift Packages->Add Package Dependency... - Paste the following URL:
https://github.com/MailCore/mailcore2 - On the
Choose Package Optionsscreen, underRulesswitch fromVersiontoBranch(Branch: master) will be the default - Click
Next->Next->Finish
The following steps are to resolve an issue with the current version of Xcode 12, once the issue is fixed they will be unnecessary and removed.
- Select
<YOUR_PROJECT>-><YOUR_TARGET>->Build Phases - Click
+->New Copy Files Phase, then changeDestinationtoFrameworksin new build phase - Click
+->New Run Script Phase, then paste the script box:
if [ "$PLATFORM_NAME" == "macosx" ]
then
FRAMEWORK_PATH="$CODESIGNING_FOLDER_PATH"/Contents/Frameworks/MailCore.framework/Versions/A/MailCore
else
FRAMEWORK_PATH="$CODESIGNING_FOLDER_PATH"/Frameworks/MailCore.framework
fi
echo "Signing framework at: $FRAMEWORK_PATH"
/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$FRAMEWORK_PATH"
MailCore 2 is available through Carthage.
Add this line to the Cartfile
github "MailCore/mailcore2"
Here you can find Instructions for install Carthage.
MailCore 2 is available on CocoaPods.
For iOS:
pod 'mailcore2-ios'
For OS X:
pod 'mailcore2-osx'
For iOS: Download the latest build for iOS.
For OS X: Download the latest build for OS X.
- If you're migrating from MailCore1, you should first clean your build folder.
- Checkout MailCore2 into a directory relative to your project.
- Under the
build-macdirectory, locate themailcore2.xcodeprojfile, and drag this into your Xcode project. - For Mac - If you're building for Mac, you can either link against MailCore 2 as a framework, or as a static library:
- Mac framework
- Go to Build Phases from your build target, and under 'Link Binary With Libraries', add
MailCore.frameworkandSecurity.framework. - Make sure to use LLVM C++ standard library. Open Build Settings, scroll down to 'C++ Standard Library', and select
libc++. - In Build Phases, add a Target Dependency of
mailcore osx(it's the one with a little toolbox icon). - Goto
Editor > Add Build Phase > Copy Files. - Expand the newly created Build Phase and change it's destination to "Frameworks".
- Click the
+icon and selectMailCore.framework.
- Go to Build Phases from your build target, and under 'Link Binary With Libraries', add
- Mac static library
- Go to Build Phases from your build target, and under 'Link Binary With Libraries', add
libMailCore.aandSecurity.framework. - Set 'Other Linker Flags' under Build Settings:
-lctemplate -letpan -lxml2 -lsasl2 -liconv -ltidy -lz-lc++ -stdlib=libc++ -ObjC -lresolv - Make sure to use LLVM C++ standard library. In Build Settings, locate 'C++ Standard Library', and select
libc++. - In Build Phases, add a Target Dependency of
static mailcore2 osx.
- Go to Build Phases from your build target, and under 'Link Binary With Libraries', add
- Mac framework
- For iOS - If you're targeting iOS, you have to link against MailCore 2 as a static library:
- Add
libMailCore-ios.a - Add
CFNetwork.framework - Add
Security.framework - Set 'Other Linker Flags':
-lctemplate-ios -letpan-ios -lxml2 -lsasl2 -liconv -ltidy -lz-lc++ -lresolv -stdlib=libc++ -ObjC - Make sure to use LLVM C++ standard library. Open Build Settings, scroll down to 'C++ Standard Library', and select
libc++. - In Build Phases, add a Target Dependency of
static mailcore2 ios.
- Add
- For Swift - If you are using Mailcore in a Swift project you also need to complete the following steps:
- Create a new header file in your project and name it
Project-Name-Bridging-Header.h. - Remove any template code from the file and add
#import <MailCore/MailCore.h> - In your target settings search for Objective-c Bridging Header and add a link to your bridging header.
- You do not need to import Mailcore in any of your classes as the bridging header takes care of this automatically.
- Create a new header file in your project and name it
- Profit.
Here's a video that shows all the steps for iOS: http://www.youtube.com/watch?v=9fAo6oBzlQI