cocoapods 1.4.0.beta.1 → 1.4.0.beta.2
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|