🔧 Build swift pods statically

This commit is contained in:
Ben Chatelain 2018-07-04 18:25:37 -06:00
parent 45decf1a84
commit 025e38cf83
3 changed files with 63 additions and 68 deletions

15
Podfile
View file

@ -3,15 +3,18 @@
# mas-cli
#
platform :osx, '10.13'
platform :osx, '10.9'
target 'mas' do
use_frameworks!
# Building swift pods statically since executable doesn't have a bundle.
# use_frameworks!
use_modular_headers!
pod 'Commandant', git: "https://github.com/phatblat/Commandant.git", branch: "cocoapods"
pod 'Result'
target 'mas-tests' do
platform :osx, '10.10'
inherit! :search_paths
pod 'Quick'
@ -20,3 +23,11 @@ target 'mas' do
end
end
# https://stackoverflow.com/questions/50922311/workspace-warning-target-pods-cannot-link-framework-foundation-framework/51052908
# post_install do |installer|
# podsTargets = installer.pods_project.targets.find_all { |target| target.name.start_with?('Pods') }
# podsTargets.each do |target|
# target.frameworks_build_phase.clear
# end
# end

View file

@ -33,6 +33,6 @@ SPEC CHECKSUMS:
Quick: 03278013f71aa05fe9ecabc94fbcc6835f1ee76f
Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713
PODFILE CHECKSUM: f574a9b5903a28c63252361352a4bac6a1b227a0
PODFILE CHECKSUM: 1395297d6299169db43f34b58e3d82186af28e6a
COCOAPODS: 1.5.3

View file

@ -7,13 +7,13 @@
objects = {
/* Begin PBXBuildFile section */
2E92A3D91BCE26B74A4B6818 /* Pods_mas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E07314D3137EE7D56A2AB781 /* Pods_mas.framework */; };
10BFE064C068F0D602B3D737 /* libPods-mas-tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E699853CA22F704500D0F018 /* libPods-mas-tests.a */; };
4762DDE207E8A2231553B32D /* libPods-mas.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 29090AA87DC29A23FA933D23 /* libPods-mas.a */; };
4913269B1F48921D0010EB86 /* CKSoftwareMap+AppLookup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4913269A1F48921D0010EB86 /* CKSoftwareMap+AppLookup.swift */; };
693A98991CBFFA760004D3B4 /* Search.swift in Sources */ = {isa = PBXBuildFile; fileRef = 693A98981CBFFA760004D3B4 /* Search.swift */; };
693A989B1CBFFAAA0004D3B4 /* NSURLSession+Synchronous.swift in Sources */ = {isa = PBXBuildFile; fileRef = 693A989A1CBFFAAA0004D3B4 /* NSURLSession+Synchronous.swift */; };
8078FAA81EC4F2FB004B5B3F /* Lucky.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8078FAA71EC4F2FB004B5B3F /* Lucky.swift */; };
900A1E811DBAC8CB0069B1A8 /* Info.swift in Sources */ = {isa = PBXBuildFile; fileRef = 900A1E801DBAC8CB0069B1A8 /* Info.swift */; };
BC00291E36C9BC974B3C6E59 /* Pods_mas_tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5EEB31E76970252A017510D3 /* Pods_mas_tests.framework */; };
ED031A7C1B5127C00097692E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED031A7B1B5127C00097692E /* main.swift */; };
ED0F237F1B87522400AE40CD /* Install.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0F237E1B87522400AE40CD /* Install.swift */; };
ED0F23831B87533A00AE40CD /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0F23821B87533A00AE40CD /* List.swift */; };
@ -59,16 +59,16 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
09C9EDFF416F0BDAC1E7F77A /* Pods-mas.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mas.debug.xcconfig"; path = "Pods/Target Support Files/Pods-mas/Pods-mas.debug.xcconfig"; sourceTree = "<group>"; };
21AF31A18424A9AC0333ECB1 /* Pods-mas.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mas.release.xcconfig"; path = "Pods/Target Support Files/Pods-mas/Pods-mas.release.xcconfig"; sourceTree = "<group>"; };
29090AA87DC29A23FA933D23 /* libPods-mas.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-mas.a"; sourceTree = BUILT_PRODUCTS_DIR; };
4913269A1F48921D0010EB86 /* CKSoftwareMap+AppLookup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CKSoftwareMap+AppLookup.swift"; sourceTree = "<group>"; };
522981647B3556C75610CED6 /* Pods-mas-tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mas-tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-mas-tests/Pods-mas-tests.debug.xcconfig"; sourceTree = "<group>"; };
5EEB31E76970252A017510D3 /* Pods_mas_tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_mas_tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5A69175AC7646DE30D1F20C9 /* Pods-mas-tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mas-tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-mas-tests/Pods-mas-tests.release.xcconfig"; sourceTree = "<group>"; };
693A98981CBFFA760004D3B4 /* Search.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Search.swift; sourceTree = "<group>"; };
693A989A1CBFFAAA0004D3B4 /* NSURLSession+Synchronous.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSURLSession+Synchronous.swift"; sourceTree = "<group>"; };
8078FAA71EC4F2FB004B5B3F /* Lucky.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Lucky.swift; sourceTree = "<group>"; };
8C36D6578FD2B2CF3254B9FE /* Pods-mas-tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mas-tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-mas-tests/Pods-mas-tests.release.xcconfig"; sourceTree = "<group>"; };
900A1E801DBAC8CB0069B1A8 /* Info.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Info.swift; sourceTree = "<group>"; };
93F48CA44E5C9A0F55515D2F /* Pods-mas.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mas.release.xcconfig"; path = "Pods/Target Support Files/Pods-mas/Pods-mas.release.xcconfig"; sourceTree = "<group>"; };
E07314D3137EE7D56A2AB781 /* Pods_mas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_mas.framework; sourceTree = BUILT_PRODUCTS_DIR; };
E699853CA22F704500D0F018 /* libPods-mas-tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-mas-tests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
ED031A781B5127C00097692E /* mas */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mas; sourceTree = BUILT_PRODUCTS_DIR; };
ED031A7B1B5127C00097692E /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
ED0F237E1B87522400AE40CD /* Install.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Install.swift; sourceTree = "<group>"; };
@ -113,10 +113,11 @@
EDEAA1551B5C576D00F2FC3F /* CKUpdateController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CKUpdateController.h; sourceTree = "<group>"; };
EDEAA1661B5C576D00F2FC3F /* ISStoreURLOperationDelegate-Protocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ISStoreURLOperationDelegate-Protocol.h"; sourceTree = "<group>"; };
EDEAA17C1B5C579100F2FC3F /* CommerceKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CommerceKit.framework; path = /System/Library/PrivateFrameworks/CommerceKit.framework; sourceTree = "<absolute>"; };
F0503AD4FF25D07C99DDBDB7 /* Pods-mas.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mas.debug.xcconfig"; path = "Pods/Target Support Files/Pods-mas/Pods-mas.debug.xcconfig"; sourceTree = "<group>"; };
F8233C87201EBDF000268278 /* mas-tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mas-tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
F8233C8B201EBDF100268278 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
F865880A2030F6DE0093DE57 /* MASErrorTestCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MASErrorTestCase.swift; sourceTree = "<group>"; };
F876BB4A20ED717800EB9FD1 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
FC1AE3BA07E7DEC5CED36469 /* Pods-mas-tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mas-tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-mas-tests/Pods-mas-tests.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -126,7 +127,7 @@
files = (
EDEAA17D1B5C579100F2FC3F /* CommerceKit.framework in Frameworks */,
EDEAA0C01B51CE6200F2FC3F /* StoreFoundation.framework in Frameworks */,
2E92A3D91BCE26B74A4B6818 /* Pods_mas.framework in Frameworks */,
4762DDE207E8A2231553B32D /* libPods-mas.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -134,20 +135,20 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
BC00291E36C9BC974B3C6E59 /* Pods_mas_tests.framework in Frameworks */,
10BFE064C068F0D602B3D737 /* libPods-mas-tests.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
A3502A46D447CE2467D0874C /* Pods */ = {
10DC3EEDF21809022F0EBF72 /* Pods */ = {
isa = PBXGroup;
children = (
F0503AD4FF25D07C99DDBDB7 /* Pods-mas.debug.xcconfig */,
93F48CA44E5C9A0F55515D2F /* Pods-mas.release.xcconfig */,
522981647B3556C75610CED6 /* Pods-mas-tests.debug.xcconfig */,
8C36D6578FD2B2CF3254B9FE /* Pods-mas-tests.release.xcconfig */,
09C9EDFF416F0BDAC1E7F77A /* Pods-mas.debug.xcconfig */,
21AF31A18424A9AC0333ECB1 /* Pods-mas.release.xcconfig */,
FC1AE3BA07E7DEC5CED36469 /* Pods-mas-tests.debug.xcconfig */,
5A69175AC7646DE30D1F20C9 /* Pods-mas-tests.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
@ -160,7 +161,7 @@
EDFC76381B642A2E00D0DBD7 /* Frameworks */,
EDEAA0C11B51CEBD00F2FC3F /* PrivateHeaders */,
ED031A791B5127C00097692E /* Products */,
A3502A46D447CE2467D0874C /* Pods */,
10DC3EEDF21809022F0EBF72 /* Pods */,
);
sourceTree = "<group>";
};
@ -270,10 +271,11 @@
EDFC76381B642A2E00D0DBD7 /* Frameworks */ = {
isa = PBXGroup;
children = (
F876BB4A20ED717800EB9FD1 /* Cocoa.framework */,
EDEAA17C1B5C579100F2FC3F /* CommerceKit.framework */,
EDEAA0BF1B51CE6200F2FC3F /* StoreFoundation.framework */,
E07314D3137EE7D56A2AB781 /* Pods_mas.framework */,
5EEB31E76970252A017510D3 /* Pods_mas_tests.framework */,
29090AA87DC29A23FA933D23 /* libPods-mas.a */,
E699853CA22F704500D0F018 /* libPods-mas-tests.a */,
);
name = Frameworks;
sourceTree = "<group>";
@ -294,7 +296,7 @@
isa = PBXNativeTarget;
buildConfigurationList = ED031A7F1B5127C00097692E /* Build configuration list for PBXNativeTarget "mas" */;
buildPhases = (
05B8B496C481137D8FFE9D9F /* [CP] Check Pods Manifest.lock */,
EDD0BBAFDDFD63A1A54E18A0 /* [CP] Check Pods Manifest.lock */,
ED031A741B5127C00097692E /* Sources */,
ED031A751B5127C00097692E /* Frameworks */,
ED031A761B5127C00097692E /* CopyFiles */,
@ -313,11 +315,10 @@
isa = PBXNativeTarget;
buildConfigurationList = F8233C8C201EBDF100268278 /* Build configuration list for PBXNativeTarget "mas-tests" */;
buildPhases = (
F80181D9642BE508913BCCF7 /* [CP] Check Pods Manifest.lock */,
2761F515F3797D1393459BEC /* [CP] Check Pods Manifest.lock */,
F8233C83201EBDF000268278 /* Sources */,
F8233C84201EBDF000268278 /* Frameworks */,
F8233C85201EBDF000268278 /* Resources */,
CFC34CABD32D3AA79CAB6C32 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -386,45 +387,7 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
05B8B496C481137D8FFE9D9F /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-mas-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
CFC34CABD32D3AA79CAB6C32 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/Pods/Target Support Files/Pods-mas-tests/Pods-mas-tests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/Nimble/Nimble.framework",
"${BUILT_PRODUCTS_DIR}/Quick/Quick.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Nimble.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Quick.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-mas-tests/Pods-mas-tests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
F80181D9642BE508913BCCF7 /* [CP] Check Pods Manifest.lock */ = {
2761F515F3797D1393459BEC /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@ -442,6 +405,24 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
EDD0BBAFDDFD63A1A54E18A0 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-mas-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@ -552,6 +533,7 @@
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.mphys.mas-cli";
SDKROOT = macosx;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.0;
VERSIONING_SYSTEM = "apple-generic";
@ -610,6 +592,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.9;
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = "com.mphys.mas-cli";
SDKROOT = macosx;
SWIFT_VERSION = 4.0;
VERSIONING_SYSTEM = "apple-generic";
};
@ -617,8 +600,9 @@
};
ED031A801B5127C00097692E /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = F0503AD4FF25D07C99DDBDB7 /* Pods-mas.debug.xcconfig */;
baseConfigurationReference = 09C9EDFF416F0BDAC1E7F77A /* Pods-mas.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
PRODUCT_BUNDLE_IDENTIFIER = "com.mphys.mas-cli";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "App/mas-cli-Bridging-Header.h";
@ -627,9 +611,9 @@
};
ED031A811B5127C00097692E /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 93F48CA44E5C9A0F55515D2F /* Pods-mas.release.xcconfig */;
baseConfigurationReference = 21AF31A18424A9AC0333ECB1 /* Pods-mas.release.xcconfig */;
buildSettings = {
CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build";
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
PRODUCT_BUNDLE_IDENTIFIER = "com.mphys.mas-cli";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "App/mas-cli-Bridging-Header.h";
@ -639,7 +623,7 @@
};
F8233C8D201EBDF100268278 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 522981647B3556C75610CED6 /* Pods-mas-tests.debug.xcconfig */;
baseConfigurationReference = FC1AE3BA07E7DEC5CED36469 /* Pods-mas-tests.debug.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@ -664,7 +648,7 @@
};
F8233C8E201EBDF100268278 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 8C36D6578FD2B2CF3254B9FE /* Pods-mas-tests.release.xcconfig */;
baseConfigurationReference = 5A69175AC7646DE30D1F20C9 /* Pods-mas-tests.release.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;