diff --git a/.travis.yml b/.travis.yml index 15d0d9a..18e4cee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,7 +29,7 @@ before_script: ls -ld Carthage/Build/iOS/*framework else echo "Bootstrap carthage dependencies." - travis_wait 60 carthage bootstrap --platform iOS + travis_wait 80 ./wcarthage bootstrap --platform iOS fi - | if [ ! $(git diff --name-only "$TRAVIS_COMMIT_RANGE" | grep -E "gopenpgp_build.sh") ] && [ -d "go/dist/Crypto.framework" ]; then diff --git a/Cartfile.resolved b/Cartfile.resolved index 90267cf..f2479a2 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,5 +1,5 @@ github "SVProgressHUD/SVProgressHUD" "2.2.5" -github "kishikawakatsumi/KeychainAccess" "v4.2.0" +github "kishikawakatsumi/KeychainAccess" "v4.2.1" github "leonbreedt/FavIcon" "3.1.0" github "mattrubin/Base32" "1.1.2+xcode10.2" github "mattrubin/OneTimePassword" "3.2.0" diff --git a/README.md b/README.md index 54e3498..973bd95 100644 --- a/README.md +++ b/README.md @@ -47,10 +47,10 @@ For more, please read the [wiki page](https://github.com/mssun/passforios/wiki). ## Building Pass for iOS 1. Install libtool, automake, cmake, carthage, cocoapods, and go: `brew install libtool automake cmake carthage cocoapods go`. -2. Run carthage bootstrap in the project root directory: `carthage update ` then `carthage bootstrap --platform iOS` (this may take some time). +2. Install dependencies via Carthage in the project root directory: `./wcarthage update` then `./wcarthage bootstrap --platform iOS`. This may take some time. 3. Run `./gopenpgp_build.sh` to build go dependencies. -4. Run pod install in the project root directory: `pod install`. -5. Open `pass.xcworkspace` file in Xcode. +4. Install dependencies via CocoaPods in the project root directory: `pod install`. +5. Open the `pass.xcworkspace` file in Xcode. 6. Build & Run. ## License diff --git a/wcarthage b/wcarthage new file mode 100755 index 0000000..7526598 --- /dev/null +++ b/wcarthage @@ -0,0 +1,18 @@ +#!/bin/sh -e + +echo "Applying Xcode 12 workaround ..." + +xcconfig="/tmp/xc12-carthage.xcconfig" +echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_12A7209 = arm64 arm64e armv7 armv7s armv6 armv8' > $xcconfig +echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200 = $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_$(XCODE_PRODUCT_BUILD_VERSION))' >> $xcconfig +echo 'EXCLUDED_ARCHS = $(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT)__XCODE_$(XCODE_VERSION_MAJOR))' >> $xcconfig +echo 'ONLY_ACTIVE_ARCH=NO' >> $xcconfig +echo 'VALID_ARCHS = $(inherited) x86_64' >> $xcconfig +export XCODE_XCCONFIG_FILE="$xcconfig" + +echo "Workaround has been applied. xcconfig file can be found at '$XCODE_XCCONFIG_FILE'." + +echo "Running Carthage ..." + +carthage $@ +