Skip to content

Commit 7496dce

Browse files
committed
CocoaPod Support
1 parent 320b4b2 commit 7496dce

File tree

8 files changed

+178
-7
lines changed

8 files changed

+178
-7
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.*
22
xcuserdata/
33
Assets/
4+
Pods/

AutoLayoutVisualFormat.xcodeproj/project.pbxproj

Lines changed: 85 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@
7171
21F88EAB1BB2D95A008AFDDB /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 21F88EA91BB2D95A008AFDDB /* Main.storyboard */; };
7272
21F88EAD1BB2D95A008AFDDB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 21F88EAC1BB2D95A008AFDDB /* Assets.xcassets */; };
7373
21F88EB01BB2D95A008AFDDB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 21F88EAE1BB2D95A008AFDDB /* LaunchScreen.storyboard */; };
74+
3429CC266C20563E2384EEDF /* Pods_AutoLayoutSwiftExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6AB4D4502101233EB1B25B19 /* Pods_AutoLayoutSwiftExample.framework */; };
75+
A21103EC71EAF0BD1D713D7F /* libPods-AutoLayoutVisualFormatExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 16F8A8CC30B50897C2146111 /* libPods-AutoLayoutVisualFormatExample.a */; };
7476
/* End PBXBuildFile section */
7577

7678
/* Begin PBXContainerItemProxy section */
@@ -144,6 +146,8 @@
144146
/* End PBXCopyFilesBuildPhase section */
145147

146148
/* Begin PBXFileReference section */
149+
13FEFDAF817AD5680D7446B4 /* Pods-AutoLayoutSwiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoLayoutSwiftExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-AutoLayoutSwiftExample/Pods-AutoLayoutSwiftExample.release.xcconfig"; sourceTree = "<group>"; };
150+
16F8A8CC30B50897C2146111 /* libPods-AutoLayoutVisualFormatExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AutoLayoutVisualFormatExample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
147151
2106E3D31C1BEF16009539B8 /* SystemVisualLayoutExample.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemVisualLayoutExample.swift; sourceTree = "<group>"; };
148152
210A01921CC4CE710040DE1D /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
149153
210A01941CC4CE710040DE1D /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = "<group>"; };
@@ -202,6 +206,10 @@
202206
21F88EAC1BB2D95A008AFDDB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
203207
21F88EAF1BB2D95A008AFDDB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
204208
21F88EB11BB2D95A008AFDDB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
209+
615156926A49D2F092A9B22D /* Pods-AutoLayoutVisualFormatExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoLayoutVisualFormatExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AutoLayoutVisualFormatExample/Pods-AutoLayoutVisualFormatExample.debug.xcconfig"; sourceTree = "<group>"; };
210+
6AB4D4502101233EB1B25B19 /* Pods_AutoLayoutSwiftExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AutoLayoutSwiftExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
211+
E92864DA827503A8B27B4CAD /* Pods-AutoLayoutSwiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoLayoutSwiftExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AutoLayoutSwiftExample/Pods-AutoLayoutSwiftExample.debug.xcconfig"; sourceTree = "<group>"; };
212+
F01DBAB0A2DD0221213D6D7E /* Pods-AutoLayoutVisualFormatExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoLayoutVisualFormatExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-AutoLayoutVisualFormatExample/Pods-AutoLayoutVisualFormatExample.release.xcconfig"; sourceTree = "<group>"; };
205213
/* End PBXFileReference section */
206214

207215
/* Begin PBXFrameworksBuildPhase section */
@@ -225,6 +233,7 @@
225233
buildActionMask = 2147483647;
226234
files = (
227235
21C6C9D11BAF902E007B6F58 /* libAutoLayoutVisualFormat.a in Frameworks */,
236+
A21103EC71EAF0BD1D713D7F /* libPods-AutoLayoutVisualFormatExample.a in Frameworks */,
228237
);
229238
runOnlyForDeploymentPostprocessing = 0;
230239
};
@@ -248,6 +257,7 @@
248257
buildActionMask = 2147483647;
249258
files = (
250259
217BC2301C1C75E70028A406 /* VFL.framework in Frameworks */,
260+
3429CC266C20563E2384EEDF /* Pods_AutoLayoutSwiftExample.framework in Frameworks */,
251261
);
252262
runOnlyForDeploymentPostprocessing = 0;
253263
};
@@ -298,6 +308,8 @@
298308
217BC2221C1C75D50028A406 /* VFL */,
299309
210A01931CC4CE710040DE1D /* Tests */,
300310
2173704E1BAD2E8600366B5D /* Products */,
311+
9D0556FFF65311DC1E698354 /* Pods */,
312+
4783583DB5A4293D917B300E /* Frameworks */,
301313
);
302314
sourceTree = "<group>";
303315
};
@@ -390,6 +402,26 @@
390402
path = AutoLayoutSwiftExample;
391403
sourceTree = "<group>";
392404
};
405+
4783583DB5A4293D917B300E /* Frameworks */ = {
406+
isa = PBXGroup;
407+
children = (
408+
6AB4D4502101233EB1B25B19 /* Pods_AutoLayoutSwiftExample.framework */,
409+
16F8A8CC30B50897C2146111 /* libPods-AutoLayoutVisualFormatExample.a */,
410+
);
411+
name = Frameworks;
412+
sourceTree = "<group>";
413+
};
414+
9D0556FFF65311DC1E698354 /* Pods */ = {
415+
isa = PBXGroup;
416+
children = (
417+
E92864DA827503A8B27B4CAD /* Pods-AutoLayoutSwiftExample.debug.xcconfig */,
418+
13FEFDAF817AD5680D7446B4 /* Pods-AutoLayoutSwiftExample.release.xcconfig */,
419+
615156926A49D2F092A9B22D /* Pods-AutoLayoutVisualFormatExample.debug.xcconfig */,
420+
F01DBAB0A2DD0221213D6D7E /* Pods-AutoLayoutVisualFormatExample.release.xcconfig */,
421+
);
422+
name = Pods;
423+
sourceTree = "<group>";
424+
};
393425
/* End PBXGroup section */
394426

395427
/* Begin PBXHeadersBuildPhase section */
@@ -460,6 +492,7 @@
460492
isa = PBXNativeTarget;
461493
buildConfigurationList = 217370731BAD2E8600366B5D /* Build configuration list for PBXNativeTarget "AutoLayoutVisualFormatExample" */;
462494
buildPhases = (
495+
35B9B765231FCC76128BA12B /* [CP] Check Pods Manifest.lock */,
463496
217370491BAD2E8600366B5D /* Sources */,
464497
2173704A1BAD2E8600366B5D /* Frameworks */,
465498
2173704B1BAD2E8600366B5D /* Resources */,
@@ -515,6 +548,7 @@
515548
isa = PBXNativeTarget;
516549
buildConfigurationList = 21F88EB21BB2D95A008AFDDB /* Build configuration list for PBXNativeTarget "AutoLayoutSwiftExample" */;
517550
buildPhases = (
551+
34C7EDB64DFF1E99B9A117FD /* [CP] Check Pods Manifest.lock */,
518552
21F88E9D1BB2D95A008AFDDB /* Sources */,
519553
21F88E9E1BB2D95A008AFDDB /* Frameworks */,
520554
21F88E9F1BB2D95A008AFDDB /* Resources */,
@@ -629,6 +663,53 @@
629663
};
630664
/* End PBXResourcesBuildPhase section */
631665

666+
/* Begin PBXShellScriptBuildPhase section */
667+
34C7EDB64DFF1E99B9A117FD /* [CP] Check Pods Manifest.lock */ = {
668+
isa = PBXShellScriptBuildPhase;
669+
buildActionMask = 2147483647;
670+
files = (
671+
);
672+
inputFileListPaths = (
673+
);
674+
inputPaths = (
675+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
676+
"${PODS_ROOT}/Manifest.lock",
677+
);
678+
name = "[CP] Check Pods Manifest.lock";
679+
outputFileListPaths = (
680+
);
681+
outputPaths = (
682+
"$(DERIVED_FILE_DIR)/Pods-AutoLayoutSwiftExample-checkManifestLockResult.txt",
683+
);
684+
runOnlyForDeploymentPostprocessing = 0;
685+
shellPath = /bin/sh;
686+
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";
687+
showEnvVarsInLog = 0;
688+
};
689+
35B9B765231FCC76128BA12B /* [CP] Check Pods Manifest.lock */ = {
690+
isa = PBXShellScriptBuildPhase;
691+
buildActionMask = 2147483647;
692+
files = (
693+
);
694+
inputFileListPaths = (
695+
);
696+
inputPaths = (
697+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
698+
"${PODS_ROOT}/Manifest.lock",
699+
);
700+
name = "[CP] Check Pods Manifest.lock";
701+
outputFileListPaths = (
702+
);
703+
outputPaths = (
704+
"$(DERIVED_FILE_DIR)/Pods-AutoLayoutVisualFormatExample-checkManifestLockResult.txt",
705+
);
706+
runOnlyForDeploymentPostprocessing = 0;
707+
shellPath = /bin/sh;
708+
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";
709+
showEnvVarsInLog = 0;
710+
};
711+
/* End PBXShellScriptBuildPhase section */
712+
632713
/* Begin PBXSourcesBuildPhase section */
633714
210A018E1CC4CE710040DE1D /* Sources */ = {
634715
isa = PBXSourcesBuildPhase;
@@ -950,27 +1031,27 @@
9501031
};
9511032
217370741BAD2E8600366B5D /* Debug */ = {
9521033
isa = XCBuildConfiguration;
1034+
baseConfigurationReference = 615156926A49D2F092A9B22D /* Pods-AutoLayoutVisualFormatExample.debug.xcconfig */;
9531035
buildSettings = {
9541036
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
9551037
GCC_PRECOMPILE_PREFIX_HEADER = YES;
9561038
GCC_PREFIX_HEADER = $PROJECT_DIR/AutoLayoutVisualFormatExample/example.pch;
9571039
INFOPLIST_FILE = "$(SRCROOT)/AutoLayoutVisualFormatExample/Info.plist";
9581040
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
959-
OTHER_LDFLAGS = "-ObjC";
9601041
PRODUCT_BUNDLE_IDENTIFIER = "SW.$(PRODUCT_NAME:rfc1034identifier)";
9611042
PRODUCT_NAME = "$(TARGET_NAME)";
9621043
};
9631044
name = Debug;
9641045
};
9651046
217370751BAD2E8600366B5D /* Release */ = {
9661047
isa = XCBuildConfiguration;
1048+
baseConfigurationReference = F01DBAB0A2DD0221213D6D7E /* Pods-AutoLayoutVisualFormatExample.release.xcconfig */;
9671049
buildSettings = {
9681050
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
9691051
GCC_PRECOMPILE_PREFIX_HEADER = YES;
9701052
GCC_PREFIX_HEADER = $PROJECT_DIR/AutoLayoutVisualFormatExample/example.pch;
9711053
INFOPLIST_FILE = "$(SRCROOT)/AutoLayoutVisualFormatExample/Info.plist";
9721054
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
973-
OTHER_LDFLAGS = "-ObjC";
9741055
PRODUCT_BUNDLE_IDENTIFIER = "SW.$(PRODUCT_NAME:rfc1034identifier)";
9751056
PRODUCT_NAME = "$(TARGET_NAME)";
9761057
};
@@ -1045,14 +1126,14 @@
10451126
};
10461127
21F88EB31BB2D95A008AFDDB /* Debug */ = {
10471128
isa = XCBuildConfiguration;
1129+
baseConfigurationReference = E92864DA827503A8B27B4CAD /* Pods-AutoLayoutSwiftExample.debug.xcconfig */;
10481130
buildSettings = {
10491131
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
10501132
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
10511133
CLANG_ENABLE_MODULES = YES;
10521134
ENABLE_TESTABILITY = YES;
10531135
INFOPLIST_FILE = AutoLayoutSwiftExample/Info.plist;
10541136
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
1055-
OTHER_LDFLAGS = "-ObjC";
10561137
PRODUCT_BUNDLE_IDENTIFIER = SW.AutoLayoutSwiftExample;
10571138
PRODUCT_NAME = "$(TARGET_NAME)";
10581139
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -1062,13 +1143,13 @@
10621143
};
10631144
21F88EB41BB2D95A008AFDDB /* Release */ = {
10641145
isa = XCBuildConfiguration;
1146+
baseConfigurationReference = 13FEFDAF817AD5680D7446B4 /* Pods-AutoLayoutSwiftExample.release.xcconfig */;
10651147
buildSettings = {
10661148
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
10671149
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
10681150
CLANG_ENABLE_MODULES = YES;
10691151
INFOPLIST_FILE = AutoLayoutSwiftExample/Info.plist;
10701152
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
1071-
OTHER_LDFLAGS = "-ObjC";
10721153
PRODUCT_BUNDLE_IDENTIFIER = SW.AutoLayoutSwiftExample;
10731154
PRODUCT_NAME = "$(TARGET_NAME)";
10741155
SWIFT_VERSION = 4.2;

AutoLayoutVisualFormat.xcodeproj/xcshareddata/xcschemes/VFLStatic.xcscheme

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<BuildableReference
1616
BuildableIdentifier = "primary"
1717
BlueprintIdentifier = "212A164D21D50CC7007DB60D"
18-
BuildableName = "VFLStatic.framework"
18+
BuildableName = "VFL.framework"
1919
BlueprintName = "VFLStatic"
2020
ReferencedContainer = "container:AutoLayoutVisualFormat.xcodeproj">
2121
</BuildableReference>
@@ -46,7 +46,7 @@
4646
<BuildableReference
4747
BuildableIdentifier = "primary"
4848
BlueprintIdentifier = "212A164D21D50CC7007DB60D"
49-
BuildableName = "VFLStatic.framework"
49+
BuildableName = "VFL.framework"
5050
BlueprintName = "VFLStatic"
5151
ReferencedContainer = "container:AutoLayoutVisualFormat.xcodeproj">
5252
</BuildableReference>
@@ -64,7 +64,7 @@
6464
<BuildableReference
6565
BuildableIdentifier = "primary"
6666
BlueprintIdentifier = "212A164D21D50CC7007DB60D"
67-
BuildableName = "VFLStatic.framework"
67+
BuildableName = "VFL.framework"
6868
BlueprintName = "VFLStatic"
6969
ReferencedContainer = "container:AutoLayoutVisualFormat.xcodeproj">
7070
</BuildableReference>

AutoLayoutVisualFormat.xcworkspace/contents.xcworkspacedata

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>

Podfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Uncomment the next line to define a global platform for your project
2+
platform :ios, '8.0'
3+
4+
target 'AutoLayoutSwiftExample' do
5+
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
6+
use_frameworks!
7+
8+
podspec
9+
end
10+
11+
target 'AutoLayoutVisualFormatExample' do
12+
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
13+
# use_frameworks!
14+
15+
podspec
16+
end

Podfile.lock

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
PODFILE CHECKSUM: 9efbe6f1a9e6371e1770777267ae9884f234edb2
2+
3+
COCOAPODS: 1.5.3

VFL.podspec

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#
2+
# Be sure to run `pod lib lint MyVFL.podspec' to ensure this is a
3+
# valid spec before submitting.
4+
#
5+
# Any lines starting with a # are optional, but their use is encouraged
6+
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
7+
#
8+
9+
Pod::Spec.new do |s|
10+
s.name = 'VFL'
11+
s.version = '1.1.0'
12+
s.summary = 'Powerful and Easy to use AutoLayout Visual Format Language'
13+
14+
# This description is used to generate tags and improve search results.
15+
# * Think: What does it do? Why did you write it? What is the focus?
16+
# * Try to keep it short, snappy and to the point.
17+
# * Write the description between the DESC delimiters below.
18+
# * Finally, don't worry about the indent, CocoaPods strips it!
19+
20+
s.description = <<-DESC
21+
Powerful and Easy to use AutoLayout Visual Format Language. it is:
22+
23+
* Compatible with Apple's AutoLayout Visual Format Language.
24+
* Super easy to use.
25+
* Can create all needed constraints in one API call.
26+
* Support create each view's constraints individually.
27+
* Syntax is readable and intuitive.
28+
* Support using array index, not limited to dictionary.
29+
* Swift support string interpolation in format string.
30+
DESC
31+
32+
s.homepage = 'https://github.com/SolaWing/AutoLayoutVisualFormatLanguage'
33+
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
34+
s.license = { :type => 'MIT', :file => 'LICENSE' }
35+
s.author = { 'SolaWing' => '316786359@qq.com' }
36+
s.source = { :git => 'https://github.com/SolaWing/AutoLayoutVisualFormatLanguage.git', :tag => s.version.to_s }
37+
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
38+
39+
s.ios.deployment_target = '6.0'
40+
41+
s.default_subspecs = 'Swift'
42+
s.module_name = 'VFL'
43+
s.subspec 'Core' do |ss|
44+
ss.source_files = 'AutoLayoutVisualFormat/*.{h,m}'
45+
ss.public_header_files = 'AutoLayoutVisualFormat/*.h'
46+
end
47+
s.subspec 'Swift' do |ss|
48+
ss.ios.deployment_target = '8.0'
49+
ss.dependency 'VFL/Core'
50+
ss.source_files = 'VFL/*.swift'
51+
end
52+
end

0 commit comments

Comments
 (0)