cocoapods 1.4.0.beta.1 → 1.4.0.beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +81 -2
- data/lib/cocoapods.rb +1 -0
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/app_target_helper.rb +227 -0
- data/lib/cocoapods/generator/embed_frameworks_script.rb +9 -0
- data/lib/cocoapods/generator/info_plist_file.rb +13 -22
- data/lib/cocoapods/generator/xcconfig/pod_xcconfig.rb +1 -0
- data/lib/cocoapods/generator/xcconfig/xcconfig_helper.rb +49 -32
- data/lib/cocoapods/installer.rb +20 -14
- data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +46 -32
- data/lib/cocoapods/installer/xcode/pods_project_generator.rb +20 -12
- data/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_installer.rb +1 -1
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +88 -11
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +101 -0
- data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb +17 -3
- data/lib/cocoapods/target.rb +9 -7
- data/lib/cocoapods/target/aggregate_target.rb +1 -1
- data/lib/cocoapods/target/pod_target.rb +103 -43
- data/lib/cocoapods/validator.rb +25 -66
- metadata +10 -9
- data/lib/cocoapods/installer/pods_project_integrator/pod_target_integrator.rb +0 -85
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 435d85f5f3ea7e2924e657bc8a5511dc477ea0be
|
4
|
+
data.tar.gz: 880a615bf2c28d75295a0e1b6117e1451c696724
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72ed25c0b7a5faab93b0f6576f82db05981206cdeda385f00751bbe4011f512cb1a57be9d9f927211a4833bd641601b3e199fb28dda834fe11db270cdbbcf9ce
|
7
|
+
data.tar.gz: 086ff09352aa6face50b22e8a8910a22c34c38141a7dc11d6e426bc749876082951d5d07ac4675f8d9ca8e85f74febe128ca63c19aa0b6a7b9d5912673778f91
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,85 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
|
|
4
4
|
|
5
5
|
To install release candidates run `[sudo] gem install cocoapods --pre`
|
6
6
|
|
7
|
+
## 1.4.0.beta.2 (2017-10-24)
|
8
|
+
|
9
|
+
##### Enhancements
|
10
|
+
|
11
|
+
* Integrate execution position for shell script phases
|
12
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
13
|
+
[#7101](https://github.com/CocoaPods/CocoaPods/pull/7101)
|
14
|
+
|
15
|
+
* Add support to integrate script phases from podspecs
|
16
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
17
|
+
[#7092](https://github.com/CocoaPods/CocoaPods/pull/7092)
|
18
|
+
|
19
|
+
* Add support for preventing pch file generation with the skip_pch podspec attribute
|
20
|
+
[Paul Beusterien](https://github.com/paulb777)
|
21
|
+
[#7044](https://github.com/CocoaPods/CocoaPods/pull/7044)
|
22
|
+
|
23
|
+
* Add app host support for test specs
|
24
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
25
|
+
[#6953](https://github.com/CocoaPods/CocoaPods/issues/6953)
|
26
|
+
|
27
|
+
* Add support for resources in source static library frameworks
|
28
|
+
[Paul Beusterien](https://github.com/paulb777)
|
29
|
+
[#7100](https://github.com/CocoaPods/CocoaPods/pull/7100)
|
30
|
+
|
31
|
+
##### Bug Fixes
|
32
|
+
|
33
|
+
* Copy .swiftmodule into static_frameworks to enable access to Swift static frameworks
|
34
|
+
[Paul Beusterien](https://github.com/paulb777)
|
35
|
+
[#7140](https://github.com/CocoaPods/CocoaPods/issues/7140)
|
36
|
+
|
37
|
+
* Fix docs for prefix header paths
|
38
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
39
|
+
[#7149](https://github.com/CocoaPods/CocoaPods/pull/7149)
|
40
|
+
|
41
|
+
* Fix integration `prefix_header_file` with test specs
|
42
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
43
|
+
[#7147](https://github.com/CocoaPods/CocoaPods/pull/7147)
|
44
|
+
|
45
|
+
* Set the default Swift version to 3.2 during validation
|
46
|
+
[Victor Hugo Barros](https://github.com/heyzooi)
|
47
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
48
|
+
[#7136](https://github.com/CocoaPods/CocoaPods/pull/7136)
|
49
|
+
|
50
|
+
* Better warning message for which Swift version was used during validation
|
51
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
52
|
+
[#7121](https://github.com/CocoaPods/CocoaPods/issues/7121)
|
53
|
+
|
54
|
+
* Fix static_framework Swift pod dependencies and implement pod access to dependent vendored_framework modules
|
55
|
+
[Paul Beusterien](https://github.com/paulb777)
|
56
|
+
[#7117](https://github.com/CocoaPods/CocoaPods/issues/7117)
|
57
|
+
|
58
|
+
* Strip vendored dSYMs during embed script phase
|
59
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
60
|
+
[#7111](https://github.com/CocoaPods/CocoaPods/issues/7111)
|
61
|
+
|
62
|
+
* Warn when a pod that was added or changed includes script phases
|
63
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
64
|
+
[#7110](https://github.com/CocoaPods/CocoaPods/pull/7110)
|
65
|
+
|
66
|
+
* Build pod targets with script phases and integrate them properly
|
67
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
68
|
+
[#7104](https://github.com/CocoaPods/CocoaPods/pull/7104)
|
69
|
+
|
70
|
+
* Do not set a `CODE_SIGN_IDENTITY` for macOS app hosts or xctest bundles
|
71
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
72
|
+
[#7103](https://github.com/CocoaPods/CocoaPods/pull/7103)
|
73
|
+
|
74
|
+
* Fix framework and resources paths caching
|
75
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
76
|
+
[#7068](https://github.com/CocoaPods/CocoaPods/pull/7068)
|
77
|
+
|
78
|
+
* Build subspecs in static frameworks without error
|
79
|
+
[Paul Beusterien](https://github.com/paulb777)
|
80
|
+
[#7058](https://github.com/CocoaPods/CocoaPods/pull/7058)
|
81
|
+
|
82
|
+
* Ensure `SYMROOT` is properly set for all user configurations
|
83
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
84
|
+
[#7081](https://github.com/CocoaPods/CocoaPods/issues/7081)
|
85
|
+
|
7
86
|
## 1.4.0.beta.1 (2017-09-24)
|
8
87
|
|
9
88
|
##### Enhancements
|
@@ -29,7 +108,7 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
29
108
|
[#6969](https://github.com/CocoaPods/CocoaPods/pull/6969)
|
30
109
|
|
31
110
|
* For source static frameworks, include frameworks from dependent targets and libraries in OTHER_LDFLAGS
|
32
|
-
[
|
111
|
+
[Paul Beusterien](https://github.com/paulb777)
|
33
112
|
[#6988](https://github.com/CocoaPods/CocoaPods/pull/6988)
|
34
113
|
|
35
114
|
##### Bug Fixes
|
@@ -85,7 +164,7 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
85
164
|
|
86
165
|
* Fix validation warnings when using --swift-version
|
87
166
|
[Danielle Tomlinson](https://github.com/dantoml)
|
88
|
-
[#6971](https://github.com/CocoaPods/CocoaPods/
|
167
|
+
[#6971](https://github.com/CocoaPods/CocoaPods/pull/6971)
|
89
168
|
|
90
169
|
* Fix xcconfig boolean merging when substrings include yes or no
|
91
170
|
[Paul Beusterien](https://github.com/paulb777)
|
data/lib/cocoapods.rb
CHANGED
@@ -66,6 +66,7 @@ module Pod
|
|
66
66
|
autoload :PrefixHeader, 'cocoapods/generator/prefix_header'
|
67
67
|
autoload :UmbrellaHeader, 'cocoapods/generator/umbrella_header'
|
68
68
|
autoload :XCConfig, 'cocoapods/generator/xcconfig'
|
69
|
+
autoload :AppTargetHelper, 'cocoapods/generator/app_target_helper'
|
69
70
|
end
|
70
71
|
|
71
72
|
require 'cocoapods/core_overrides'
|
@@ -0,0 +1,227 @@
|
|
1
|
+
module Pod
|
2
|
+
module Generator
|
3
|
+
# Stores the common logic for creating app targets within projects including
|
4
|
+
# generating standard import and main files for app hosts.
|
5
|
+
#
|
6
|
+
module AppTargetHelper
|
7
|
+
# Adds a single app target to the given project with the provided name.
|
8
|
+
#
|
9
|
+
# @param [Project] project
|
10
|
+
# the Xcodeproj to generate the target into.
|
11
|
+
#
|
12
|
+
# @param [Symbol] platform
|
13
|
+
# the platform of the target. Can be `:ios` or `:osx`, etc.
|
14
|
+
#
|
15
|
+
# @param [String] deployment_target
|
16
|
+
# the deployment target for the platform.
|
17
|
+
#
|
18
|
+
# @param [String] name
|
19
|
+
# The name to use for the target, defaults to 'App'.
|
20
|
+
#
|
21
|
+
# @return [PBXNativeTarget] the new target that was created.
|
22
|
+
#
|
23
|
+
def self.add_app_target(project, platform, deployment_target, name = 'App')
|
24
|
+
project.new_target(:application, name, platform, deployment_target)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Creates and links an import file for the given pod target and into the given native target.
|
28
|
+
#
|
29
|
+
# @param [Project] project
|
30
|
+
# the Xcodeproj to generate the target into.
|
31
|
+
#
|
32
|
+
# @param [PBXNativeTarget] target
|
33
|
+
# the native target to link the generated import file into.
|
34
|
+
#
|
35
|
+
# @param [PodTarget] pod_target
|
36
|
+
# the pod target to use for when generating the contents of the import file.
|
37
|
+
#
|
38
|
+
# @param [Symbol] platform
|
39
|
+
# the platform of the target. Can be `:ios` or `:osx`, etc.
|
40
|
+
#
|
41
|
+
# @param [Boolean] use_frameworks
|
42
|
+
# whether to use frameworks or not when generating the contents of the import file.
|
43
|
+
#
|
44
|
+
# @param [String] name
|
45
|
+
# The name to use for the target, defaults to 'App'.
|
46
|
+
#
|
47
|
+
# @return [Array<PBXBuildFile>] the created build file references.
|
48
|
+
#
|
49
|
+
def self.add_app_project_import(project, target, pod_target, platform, use_frameworks, name = 'App')
|
50
|
+
source_file = AppTargetHelper.create_app_import_source_file(project, pod_target, platform, use_frameworks, name)
|
51
|
+
source_file_ref = project.new_group(name, name).new_file(source_file)
|
52
|
+
target.add_file_references([source_file_ref])
|
53
|
+
end
|
54
|
+
|
55
|
+
# Creates and links a default app host 'main.m' file.
|
56
|
+
#
|
57
|
+
# @param [Project] project
|
58
|
+
# the Xcodeproj to generate the target into.
|
59
|
+
#
|
60
|
+
# @param [PBXNativeTarget] target
|
61
|
+
# the native target to link the generated main file into.
|
62
|
+
#
|
63
|
+
# @param [Symbol] platform
|
64
|
+
# the platform of the target. Can be `:ios` or `:osx`, etc.
|
65
|
+
#
|
66
|
+
# @param [String] name
|
67
|
+
# The name to use for the target, defaults to 'App'.
|
68
|
+
#
|
69
|
+
# @return [Array<PBXBuildFile>] the created build file references.
|
70
|
+
#
|
71
|
+
def self.add_app_host_main_file(project, target, platform, name = 'App')
|
72
|
+
source_file = AppTargetHelper.create_app_host_main_file(project, platform, name)
|
73
|
+
source_file_ref = project.new_group(name, name).new_file(source_file)
|
74
|
+
target.add_file_references([source_file_ref])
|
75
|
+
end
|
76
|
+
|
77
|
+
# Adds the xctest framework search paths into the given target.
|
78
|
+
#
|
79
|
+
# @param [PBXNativeTarget] target
|
80
|
+
# the native target to add XCTest into.
|
81
|
+
#
|
82
|
+
# @return [void]
|
83
|
+
#
|
84
|
+
def self.add_xctest_search_paths(target)
|
85
|
+
target.build_configurations.each do |configuration|
|
86
|
+
search_paths = configuration.build_settings['FRAMEWORK_SEARCH_PATHS'] ||= '$(inherited)'
|
87
|
+
search_paths << ' "$(PLATFORM_DIR)/Developer/Library/Frameworks"'
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
# Adds the provided swift version into the given target.
|
92
|
+
#
|
93
|
+
# @param [PBXNativeTarget] target
|
94
|
+
# the native target to add the swift version into.
|
95
|
+
#
|
96
|
+
# @param [String] swift_version
|
97
|
+
# the swift version to set to.
|
98
|
+
#
|
99
|
+
# @return [void]
|
100
|
+
#
|
101
|
+
def self.add_swift_version(target, swift_version)
|
102
|
+
raise 'Cannot set empty Swift version to target.' if swift_version.blank?
|
103
|
+
target.build_configurations.each do |configuration|
|
104
|
+
configuration.build_settings['SWIFT_VERSION'] = swift_version
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
# Creates a default import file for the given pod target.
|
109
|
+
#
|
110
|
+
# @param [Project] project
|
111
|
+
# the Xcodeproj to generate the target into.
|
112
|
+
#
|
113
|
+
# @param [PodTarget] pod_target
|
114
|
+
# the pod target to use for when generating the contents of the import file.
|
115
|
+
#
|
116
|
+
# @param [Symbol] platform
|
117
|
+
# the platform of the target. Can be `:ios` or `:osx`, etc.
|
118
|
+
#
|
119
|
+
# @param [Boolean] use_frameworks
|
120
|
+
# whether to use frameworks or not when generating the contents of the import file.
|
121
|
+
#
|
122
|
+
# @param [String] name
|
123
|
+
# The name of the folder to use and save the generated main file.
|
124
|
+
#
|
125
|
+
# @return [Pathname] the new source file that was generated.
|
126
|
+
#
|
127
|
+
def self.create_app_import_source_file(project, pod_target, platform, use_frameworks, name = 'App')
|
128
|
+
language = pod_target.uses_swift? ? :swift : :objc
|
129
|
+
|
130
|
+
if language == :swift
|
131
|
+
source_file = project.path.dirname.+("#{name}/main.swift")
|
132
|
+
source_file.parent.mkpath
|
133
|
+
import_statement = use_frameworks && pod_target.should_build? ? "import #{pod_target.product_module_name}\n" : ''
|
134
|
+
source_file.open('w') { |f| f << import_statement }
|
135
|
+
else
|
136
|
+
source_file = project.path.dirname.+("#{name}/main.m")
|
137
|
+
source_file.parent.mkpath
|
138
|
+
import_statement = if use_frameworks && pod_target.should_build?
|
139
|
+
"@import #{pod_target.product_module_name};\n"
|
140
|
+
else
|
141
|
+
header_name = "#{pod_target.product_module_name}/#{pod_target.product_module_name}.h"
|
142
|
+
if pod_target.sandbox.public_headers.root.+(header_name).file?
|
143
|
+
"#import <#{header_name}>\n"
|
144
|
+
else
|
145
|
+
''
|
146
|
+
end
|
147
|
+
end
|
148
|
+
source_file.open('w') do |f|
|
149
|
+
f << "@import Foundation;\n"
|
150
|
+
f << "@import UIKit;\n" if platform == :ios || platform == :tvos
|
151
|
+
f << "@import Cocoa;\n" if platform == :osx
|
152
|
+
f << "#{import_statement}int main() {}\n"
|
153
|
+
end
|
154
|
+
end
|
155
|
+
source_file
|
156
|
+
end
|
157
|
+
|
158
|
+
# Creates a default app host 'main.m' file.
|
159
|
+
#
|
160
|
+
# @param [Project] project
|
161
|
+
# the Xcodeproj to generate the target into.
|
162
|
+
#
|
163
|
+
# @param [Symbol] platform
|
164
|
+
# the platform of the target. Can be `:ios` or `:osx`.
|
165
|
+
#
|
166
|
+
# @param [String] name
|
167
|
+
# The name of the folder to use and save the generated main file.
|
168
|
+
#
|
169
|
+
# @return [Pathname] the new source file that was generated.
|
170
|
+
#
|
171
|
+
def self.create_app_host_main_file(project, platform, name = 'App')
|
172
|
+
source_file = project.path.dirname.+("#{name}/main.m")
|
173
|
+
source_file.parent.mkpath
|
174
|
+
source_file.open('w') do |f|
|
175
|
+
case platform
|
176
|
+
when :ios, :tvos
|
177
|
+
f << IOS_APP_HOST_MAIN_CONTENTS
|
178
|
+
when :osx
|
179
|
+
f << MACOS_APP_APP_HOST_MAIN_CONTENTS
|
180
|
+
end
|
181
|
+
end
|
182
|
+
source_file
|
183
|
+
end
|
184
|
+
|
185
|
+
IOS_APP_HOST_MAIN_CONTENTS = <<EOS.freeze
|
186
|
+
#import <Foundation/Foundation.h>
|
187
|
+
#import <UIKit/UIKit.h>
|
188
|
+
|
189
|
+
@interface CPTestAppHostAppDelegate : UIResponder <UIApplicationDelegate>
|
190
|
+
|
191
|
+
@property (nonatomic, strong) UIWindow *window;
|
192
|
+
|
193
|
+
@end
|
194
|
+
|
195
|
+
@implementation CPTestAppHostAppDelegate
|
196
|
+
|
197
|
+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
198
|
+
{
|
199
|
+
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
|
200
|
+
self.window.rootViewController = [UIViewController new];
|
201
|
+
|
202
|
+
[self.window makeKeyAndVisible];
|
203
|
+
|
204
|
+
return YES;
|
205
|
+
}
|
206
|
+
|
207
|
+
@end
|
208
|
+
|
209
|
+
int main(int argc, char *argv[])
|
210
|
+
{
|
211
|
+
@autoreleasepool
|
212
|
+
{
|
213
|
+
return UIApplicationMain(argc, argv, nil, NSStringFromClass([CPTestAppHostAppDelegate class]));
|
214
|
+
}
|
215
|
+
}
|
216
|
+
EOS
|
217
|
+
|
218
|
+
MACOS_APP_APP_HOST_MAIN_CONTENTS = <<EOS.freeze
|
219
|
+
#import <Cocoa/Cocoa.h>
|
220
|
+
|
221
|
+
int main(int argc, const char * argv[]) {
|
222
|
+
return NSApplicationMain(argc, argv);
|
223
|
+
}
|
224
|
+
EOS
|
225
|
+
end
|
226
|
+
end
|
227
|
+
end
|
@@ -102,6 +102,15 @@ module Pod
|
|
102
102
|
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \\"- CVS/\\" --filter \\"- .svn/\\" --filter \\"- .git/\\" --filter \\"- .hg/\\" --filter \\"- Headers\\" --filter \\"- PrivateHeaders\\" --filter \\"- Modules\\" \\"${source}\\" \\"${DWARF_DSYM_FOLDER_PATH}\\""
|
103
103
|
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}"
|
104
104
|
fi
|
105
|
+
|
106
|
+
local basename
|
107
|
+
basename="$(basename -s .framework.dSYM "$source")"
|
108
|
+
binary="${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}"
|
109
|
+
|
110
|
+
# Strip invalid architectures so "fat" simulator / device frameworks work on device
|
111
|
+
if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then
|
112
|
+
strip_invalid_archs "$binary"
|
113
|
+
fi
|
105
114
|
}
|
106
115
|
|
107
116
|
# Signs a framework with the provided identity
|
@@ -5,9 +5,13 @@ module Pod
|
|
5
5
|
# framework. It states public attributes.
|
6
6
|
#
|
7
7
|
class InfoPlistFile
|
8
|
-
# @return [
|
8
|
+
# @return [Version] version The version to use for when generating this Info.plist file.
|
9
9
|
#
|
10
|
-
attr_reader :
|
10
|
+
attr_reader :version
|
11
|
+
|
12
|
+
# @return [Platform] The platform to use for when generating this Info.plist file.
|
13
|
+
#
|
14
|
+
attr_reader :platform
|
11
15
|
|
12
16
|
# @return [Symbol] the CFBundlePackageType of the target this Info.plist
|
13
17
|
# file is for.
|
@@ -16,12 +20,13 @@ module Pod
|
|
16
20
|
|
17
21
|
# Initialize a new instance
|
18
22
|
#
|
19
|
-
# @param [
|
20
|
-
#
|
23
|
+
# @param [Version] version @see version
|
24
|
+
# @param [Platform] platform @see platform
|
21
25
|
# @param [Symbol] bundle_package_type @see bundle_package_type
|
22
26
|
#
|
23
|
-
def initialize(
|
24
|
-
@
|
27
|
+
def initialize(version, platform, bundle_package_type = :fmwk)
|
28
|
+
@version = version
|
29
|
+
@platform = platform
|
25
30
|
@bundle_package_type = bundle_package_type
|
26
31
|
end
|
27
32
|
|
@@ -39,21 +44,6 @@ module Pod
|
|
39
44
|
end
|
40
45
|
end
|
41
46
|
|
42
|
-
# The version associated with the current target
|
43
|
-
#
|
44
|
-
# @note Will return 1.0.0 for the AggregateTarget
|
45
|
-
#
|
46
|
-
# @return [String]
|
47
|
-
#
|
48
|
-
def target_version
|
49
|
-
if target && target.respond_to?(:root_spec)
|
50
|
-
version = target.root_spec.version
|
51
|
-
[version.major, version.minor, version.patch].join('.')
|
52
|
-
else
|
53
|
-
'1.0.0'
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
47
|
# Generates the contents of the Info.plist
|
58
48
|
#
|
59
49
|
# @return [String]
|
@@ -108,7 +98,7 @@ module Pod
|
|
108
98
|
'CFBundleInfoDictionaryVersion' => '6.0',
|
109
99
|
'CFBundleName' => '${PRODUCT_NAME}',
|
110
100
|
'CFBundlePackageType' => bundle_package_type.to_s.upcase,
|
111
|
-
'CFBundleShortVersionString' =>
|
101
|
+
'CFBundleShortVersionString' => version,
|
112
102
|
'CFBundleSignature' => '????',
|
113
103
|
'CFBundleVersion' => '${CURRENT_PROJECT_VERSION}',
|
114
104
|
'NSPrincipalClass' => '',
|
@@ -117,6 +107,7 @@ module Pod
|
|
117
107
|
|
118
108
|
info['CFBundleExecutable'] = '${EXECUTABLE_NAME}' if bundle_package_type != :bndl
|
119
109
|
info['CFBundleVersion'] = '1' if bundle_package_type == :bndl
|
110
|
+
info['NSPrincipalClass'] = 'NSApplication' if bundle_package_type == :appl && platform == :osx
|
120
111
|
|
121
112
|
info
|
122
113
|
end
|
@@ -71,6 +71,7 @@ module Pod
|
|
71
71
|
XCConfigHelper.add_target_specific_settings(target, @xcconfig)
|
72
72
|
recursive_dependent_targets = target.recursive_dependent_targets
|
73
73
|
@xcconfig.merge! XCConfigHelper.search_paths_for_dependent_targets(target, recursive_dependent_targets, @test_xcconfig)
|
74
|
+
XCConfigHelper.generate_vendored_build_settings(target, recursive_dependent_targets, @xcconfig, false) if target.requires_frameworks?
|
74
75
|
if @test_xcconfig
|
75
76
|
test_dependent_targets = [target, *target.recursive_test_dependent_targets].uniq
|
76
77
|
@xcconfig.merge! XCConfigHelper.search_paths_for_dependent_targets(target, test_dependent_targets - recursive_dependent_targets, @test_xcconfig)
|