lanekit 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (20) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +3 -1
  3. data/lib/lanekit/generate/model.rb +61 -19
  4. data/lib/lanekit/generate/provider.rb +27 -6
  5. data/lib/lanekit/generate/urbanairship.rb +0 -44
  6. data/lib/lanekit/lanefile.rb +44 -0
  7. data/lib/lanekit/version.rb +1 -1
  8. data/lib/lanekit.rb +69 -6
  9. data/lib/template/lanekit-ios-project/Lanefile +6 -0
  10. data/lib/template/lanekit-ios-project/Podfile +2 -0
  11. data/lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project/Supporting Files/lanekit-ios-project-Prefix.pch +3 -0
  12. data/lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project.xcodeproj/project.pbxproj +78 -42
  13. data/lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project.xcodeproj/project.xcworkspace/xcuserdata/larry.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  14. data/lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project.xcodeproj/xcuserdata/larry.xcuserdatad/xcschemes/lanekit-ios-project.xcscheme +10 -0
  15. data/lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project.xcodeproj/xcuserdata/larry.xcuserdatad/xcschemes/xcschememanagement.plist +5 -0
  16. data/lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-projectTests/lanekit-ios-projectTests-Prefix.pch +19 -0
  17. data/lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-projectTests/lanekit-ios-projectTests.m +7 -5
  18. data/lib/template/lanekit-ios-project/lanekit-ios-project.xcworkspace/xcuserdata/larry.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  19. data/lib/template/lanekit-ios-project/lanekit-ios-project.xcworkspace/xcuserdata/larry.xcuserdatad/WorkspaceSettings.xcsettings +20 -0
  20. metadata +16 -7
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZWEwMTViOWNmYjliMjYxMWNjZDFlYjhhNTc5MTBlZmFkZmRkZGZiMA==
4
+ NDBjMDYxZWZiNDI0NmIzNGNkODNlMjhhNzRjZmUyYTU3MzU2MjM1Mg==
5
5
  data.tar.gz: !binary |-
6
- NmRmOTQxYTI4YzczZjRjMTc1ZDlmYTNjYzRjMjE0ZjFiNGI1NThhMw==
6
+ ZTdiNGU4NGQxMTFhNjg3OTA0MTc3MjI0YzI5MTU5N2Q1OGI1NjE3Nw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- M2NjM2FhYjNlMDVmZDJkZjJiYzA4MTgzMWE5MzU5OGQ2ZTgyZjA2YTgzNWNk
10
- M2VjODM5NzFmNjgwNTg0YjUxMGZhOGEyYWQ2ZTFlMTQ4ZTg1NTFmZTg5ZWFj
11
- OTZiYjc0NTczM2U3ZDdmN2JmYmIxYmY2ZTU3NTRjMjQ0Y2ZkZTI=
9
+ YTRhZmUxYzIzOTViODgxMmRjMWRjYTA4ZTlhZDFhNmE0NTgwMDQzMjExZDJk
10
+ ZDg3ZDE2N2FkY2NjZWE1NTBmMDg4MjE4ZDRlNjNlOTk1OTNmMmQ1ZmZkODIz
11
+ YzU1MjllMjk2MzU0NWFmNjZjMWIyZWIwOTVkMDU5MmMyMWZhN2I=
12
12
  data.tar.gz: !binary |-
13
- Mzk0NTIzZWIxMjk1NWJiMmZiN2IzZmIzZTAxNDkyNTUyYWFlMDhmNWVlYmM1
14
- OWE1N2I1N2M4YzhkY2M4M2VmNzEwZDRmZjIxOWU3Njg1YjRmM2M1ZTc3NTgw
15
- NmRiODNmNDMzNTg1MGU4YjUxYWM5YjNkOWU1N2VjNmI0NDA5ZTg=
13
+ NzlmOGM3ZmVkZjEzZTVlYjgxYmRkM2QzNjEyODdhZTc5MDY1NjJjMWUxYmI2
14
+ YWRmNTUyOWFmYmY3N2RhZGU1ODVjZjdkYTBhZDg0NWE3YjFjZDY2Njc0NzU3
15
+ MDZmZDdhODQ3OGRhYTJlNWI2ZjcxMjU5NjgxZDhjZmViYWVhMjI=
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  ## LaneKit
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/lanekit.png)](http://badge.fury.io/rb/lanekit)
4
+
3
5
  LaneKit is an iOS Objective-C code generator for integration with [RestKit](https://github.com/RestKit/RestKit). It generates
4
6
  models, resource providers, and full iOS apps with mimimal effort. There is support for unit testing with SenTestingKit
5
7
  including fixtures and tests. LaneKit is a command line app written in Ruby and packaged as a Ruby Gem.
@@ -11,7 +13,7 @@ including fixtures and tests. LaneKit is a command line app written in Ruby and
11
13
  * properly implemented models and resource providers
12
14
  * easy integration with RestKit
13
15
  * consistent Objective-C code
14
- * unit tests
16
+ * unit tests with OCUnit (SenTestingKit)
15
17
  * test fixtures in JSON and Objective-C
16
18
  * iOS app creation fully integrated with [CocoaPods](https://github.com/CocoaPods/CocoaPods) and RestKit, and .gitignore file
17
19
  * tested code
@@ -13,11 +13,7 @@ module LaneKit
13
13
 
14
14
  def model(model_name, *attributes)
15
15
  @using_core_data = options[:use_core_data]
16
- #puts " using Core Data: #{@using_core_data}"
17
- #puts " name: #{model_name}"
18
-
19
16
  @model_name = LaneKit.derive_model_name(model_name)
20
-
21
17
  @model_file_name = LaneKit.derive_file_name(@model_name)
22
18
  @model_fixtures_file_name = "#{@model_file_name}Fixtures"
23
19
  @model_tests_file_name = "#{@model_file_name}Test"
@@ -42,6 +38,14 @@ module LaneKit
42
38
  }
43
39
  @any_relationships = relationship ? true : @any_relationships
44
40
  }
41
+
42
+ @lanefile = LaneKit::Lanefile.new
43
+ lanefile_error = LaneKit.validate_lanefile(@lanefile)
44
+ if lanefile_error
45
+ say lanefile_error, :red
46
+ return
47
+ end
48
+ @app_project_path = @lanefile.app_project_path
45
49
 
46
50
  self.initialize_model
47
51
  self.create_model_folders
@@ -54,73 +58,111 @@ module LaneKit
54
58
  @model_base_name = "LKModel"
55
59
  @model_base_class_name = "LKModel"
56
60
  @model_base_file_name = "LKModel"
57
-
58
- @models_folder = "Classes/Models"
59
- @tests_fixtures_folder = "Classes/Tests/Fixtures"
60
- @tests_models_folder = "Classes/Tests/Models"
61
-
61
+
62
+ @models_folder = "#{@lanefile.app_project_name}/#{@lanefile.app_project_name}/Models"
63
+ @models_group = "#{@lanefile.app_project_name}/Models"
64
+
65
+ @tests_fixtures_folder = "#{@lanefile.app_project_name}/#{@lanefile.app_project_name}Tests/Fixtures"
66
+ @tests_fixtures_group = "#{@lanefile.app_project_name}Tests/Fixtures"
67
+
68
+ @tests_models_folder = "#{@lanefile.app_project_name}/#{@lanefile.app_project_name}Tests/Models"
69
+ @tests_models_group = "#{@lanefile.app_project_name}Tests/Models"
70
+
71
+ @tests_resources_folder = "#{@lanefile.app_project_name}/#{@lanefile.app_project_name}Tests/Resources"
72
+ @tests_resources_group = "#{@lanefile.app_project_name}Tests/Resources"
62
73
  end
63
74
 
64
75
  def create_model_folders
65
76
  empty_directory @models_folder
66
77
  empty_directory @tests_fixtures_folder
67
78
  empty_directory @tests_models_folder
79
+ empty_directory @tests_resources_folder
68
80
  end
69
81
 
70
82
  def create_model_files
71
83
  # 1) Create the Models
72
84
  # Create the .h file
73
85
  source = "model.h.erb"
74
- target = File.join(@models_folder, "#{@model_file_name}.h")
86
+ target_file = "#{@model_file_name}.h"
87
+ target = File.join(@models_folder, target_file)
75
88
  template(source, target, @@template_opts)
89
+
90
+ LaneKit.add_file_to_project("Models/"+target_file, @models_group, @app_project_path)
76
91
 
77
92
  # Create the .m file
78
93
  source = "model.m.erb"
79
- target = File.join(@models_folder, "#{@model_file_name}.m")
94
+ target_file = "#{@model_file_name}.m"
95
+ target = File.join(@models_folder, target_file)
80
96
  template(source, target, @@template_opts)
81
97
 
98
+ LaneKit.add_file_to_project("Models/"+target_file, @models_group, @app_project_path, "@all")
99
+
82
100
  # 2) Create the Model Test Fixtures
83
101
  # Create the .h file
84
102
  source = "model_fixture.h.erb"
85
- target = File.join(@tests_fixtures_folder, "#{@model_fixtures_file_name}.h")
103
+ target_file = "#{@model_fixtures_file_name}.h"
104
+ target = File.join(@tests_fixtures_folder, target_file)
86
105
  template(source, target, @@template_opts)
87
106
 
107
+ LaneKit.add_file_to_project("Fixtures/"+target_file, @tests_fixtures_group, @app_project_path)
108
+
88
109
  # Create the .m file
89
110
  source = "model_fixture.m.erb"
90
- target = File.join(@tests_fixtures_folder, "#{@model_fixtures_file_name}.m")
111
+ target_file = "#{@model_fixtures_file_name}.m"
112
+ target = File.join(@tests_fixtures_folder, target_file)
91
113
  template(source, target, @@template_opts)
92
114
 
115
+ LaneKit.add_file_to_project("Fixtures/"+target_file, @tests_fixtures_group, @app_project_path, @lanefile.app_target_tests_name)
116
+
93
117
  # Create the one json file
94
118
  source = "model_fixture.json.erb"
95
- target = File.join(@tests_fixtures_folder, "#{@model_fixtures_file_name}.one.json")
119
+ target_file = "#{@model_fixtures_file_name}.one.json"
120
+ target = File.join(@tests_resources_folder, target_file)
96
121
  template(source, target, @@template_opts)
97
122
 
123
+ LaneKit.add_file_to_project("Resources/"+target_file, @tests_resources_group, @app_project_path, nil)
124
+
98
125
  # Create the two json file
99
126
  source = "model_fixture.json.erb"
100
- target = File.join(@tests_fixtures_folder, "#{@model_fixtures_file_name}.two.json")
127
+ target_file = "#{@model_fixtures_file_name}.two.json"
128
+ target = File.join(@tests_resources_folder, target_file)
101
129
  template(source, target, @@template_opts)
102
130
 
131
+ LaneKit.add_file_to_project("Resources/"+target_file, @tests_resources_group, @app_project_path, nil)
132
+
103
133
  # 3) Create the Model Tests
104
134
  # Create the .h file
105
135
  source = "model_test.h.erb"
106
- target = File.join(@tests_models_folder, "#{@model_tests_file_name}.h")
136
+ target_file = "#{@model_tests_file_name}.h"
137
+ target = File.join(@tests_models_folder, target_file)
107
138
  template(source, target, @@template_opts)
108
139
 
140
+ LaneKit.add_file_to_project("Models/"+target_file, @tests_models_group, @app_project_path)
141
+
109
142
  # Create the .m file
110
143
  source = "model_test.m.erb"
111
- target = File.join(@tests_models_folder, "#{@model_tests_file_name}.m")
144
+ target_file = "#{@model_tests_file_name}.m"
145
+ target = File.join(@tests_models_folder, target_file)
112
146
  template(source, target, @@template_opts)
147
+
148
+ LaneKit.add_file_to_project("Models/"+target_file, @tests_models_group, @app_project_path, @lanefile.app_target_tests_name)
113
149
 
114
150
  # 4) Create the base model
115
151
  # Create the .h file
116
152
  source = "model_base.h.erb"
117
- target = File.join(@models_folder, "#{@model_base_file_name}.h")
153
+ target_file = "#{@model_base_file_name}.h"
154
+ target = File.join(@models_folder, target_file)
118
155
  template(source, target, @@template_opts)
119
156
 
157
+ LaneKit.add_file_to_project("Models/"+target_file, @models_group, @app_project_path)
158
+
120
159
  # Create the .m file
121
160
  source = "model_base.m.erb"
122
- target = File.join(@models_folder, "#{@model_base_file_name}.m")
161
+ target_file = "#{@model_base_file_name}.m"
162
+ target = File.join(@models_folder, target_file)
123
163
  template(source, target, @@template_opts)
164
+
165
+ LaneKit.add_file_to_project("Models/"+target_file, @models_group, @app_project_path, "@all")
124
166
  end
125
167
  }
126
168
  end
@@ -24,6 +24,14 @@ module LaneKit
24
24
  @model_file_name = LaneKit.derive_file_name(@model_name)
25
25
  @provider_url = url
26
26
 
27
+ @lanefile = LaneKit::Lanefile.new
28
+ lanefile_error = LaneKit.validate_lanefile(@lanefile)
29
+ if lanefile_error
30
+ say lanefile_error, :red
31
+ return
32
+ end
33
+ @app_project_path = @lanefile.app_project_path
34
+
27
35
  self.initialize_provider
28
36
  self.create_provider_folders
29
37
  self.create_provider_files
@@ -32,14 +40,15 @@ module LaneKit
32
40
  no_commands do
33
41
 
34
42
  def initialize_provider
35
- @providers_folder = "Classes/Controllers"
36
-
37
43
  # Resource Provider Base Class
38
44
  @provider_base_name = "LKResourceProvider"
39
45
  @provider_base_class_name = "LKResourceProvider"
40
46
  @provider_base_file_name = "LKResourceProvider"
41
47
 
42
48
  @provider_file_name = @provider_name
49
+
50
+ @providers_folder = "#{@lanefile.app_project_name}/#{@lanefile.app_project_name}/Controllers"
51
+ @controllers_group = "#{@lanefile.app_project_name}/Controllers"
43
52
  end
44
53
 
45
54
  def create_provider_folders
@@ -50,24 +59,36 @@ module LaneKit
50
59
  # 1) Create the base resource provider
51
60
  # Create the .h file
52
61
  source = "provider_base.h.erb"
53
- target = File.join(@providers_folder, "#{@provider_base_file_name}.h")
62
+ target_file = "#{@provider_base_file_name}.h"
63
+ target = File.join(@providers_folder, target_file)
54
64
  template(source, target, @@template_opts)
65
+
66
+ LaneKit.add_file_to_project("Controllers/"+target_file, @controllers_group, @app_project_path)
55
67
 
56
68
  # Create the .m file
57
69
  source = "provider_base.m.erb"
58
- target = File.join(@providers_folder, "#{@provider_base_file_name}.m")
70
+ target_file = "#{@provider_base_file_name}.m"
71
+ target = File.join(@providers_folder, target_file)
59
72
  template(source, target, @@template_opts)
60
73
 
74
+ LaneKit.add_file_to_project("Controllers/"+target_file, @controllers_group, @app_project_path, "@all")
75
+
61
76
  # 2) Create the resource provider
62
77
  # Create the .h file
63
78
  source = "provider.h.erb"
64
- target = File.join(@providers_folder, "#{@provider_file_name}.h")
79
+ target_file = "#{@provider_file_name}.h"
80
+ target = File.join(@providers_folder, target_file)
65
81
  template(source, target, @@template_opts)
82
+
83
+ LaneKit.add_file_to_project("Controllers/"+target_file, @controllers_group, @app_project_path)
66
84
 
67
85
  # Create the .m file
68
86
  source = "provider.m.erb"
69
- target = File.join(@providers_folder, "#{@provider_file_name}.m")
87
+ target_file = "#{@provider_file_name}.m"
88
+ target = File.join(@providers_folder, target_file)
70
89
  template(source, target, @@template_opts)
90
+
91
+ LaneKit.add_file_to_project("Controllers/"+target_file, @controllers_group, @app_project_path, "@all")
71
92
  end
72
93
  end
73
94
  end
@@ -1,53 +1,9 @@
1
1
  module LaneKit
2
2
  class Generate
3
3
 
4
- include Thor::Actions
5
-
6
4
  desc "urbanairship", "Generates classes for Urban Airship integration"
7
5
  def urbanairship()
8
6
  LaneKit.add_pod_to_podfile('UrbanAirship-iOS-SDK')
9
7
  end
10
-
11
- no_commands do
12
-
13
- def initialize_provider
14
- @providers_folder = "Classes/Controllers"
15
-
16
- # Resource Provider Base Class
17
- @provider_base_name = "LKResourceProvider"
18
- @provider_base_class_name = "LKResourceProvider"
19
- @provider_base_file_name = "LKResourceProvider"
20
-
21
- @provider_file_name = @provider_name
22
- end
23
-
24
- def create_provider_folders
25
- empty_directory @providers_folder
26
- end
27
-
28
- def create_provider_files
29
- # 1) Create the base resource provider
30
- # Create the .h file
31
- source = "provider_base.h.erb"
32
- target = File.join(@providers_folder, "#{@provider_base_file_name}.h")
33
- template(source, target, @@template_opts)
34
-
35
- # Create the .m file
36
- source = "provider_base.m.erb"
37
- target = File.join(@providers_folder, "#{@provider_base_file_name}.m")
38
- template(source, target, @@template_opts)
39
-
40
- # 2) Create the resource provider
41
- # Create the .h file
42
- source = "provider.h.erb"
43
- target = File.join(@providers_folder, "#{@provider_file_name}.h")
44
- template(source, target, @@template_opts)
45
-
46
- # Create the .m file
47
- source = "provider.m.erb"
48
- target = File.join(@providers_folder, "#{@provider_file_name}.m")
49
- template(source, target, @@template_opts)
50
- end
51
- end
52
8
  end
53
9
  end
@@ -0,0 +1,44 @@
1
+ require 'yaml'
2
+
3
+ module LaneKit
4
+ class Lanefile
5
+ def initialize
6
+ @lane_file = File.expand_path('Lanefile')
7
+ if self.exists?
8
+ @contents = load_file
9
+
10
+ if !File.exists?(self.app_project_path)
11
+ say "Error: cannot find project: #{self.app_project_path}", :red
12
+ end
13
+
14
+ end
15
+ end
16
+
17
+ def exists?
18
+ File.exists?(@lane_file)
19
+ end
20
+
21
+ def app_project_name
22
+ @contents['app_project_name']
23
+ end
24
+
25
+ def app_project_path
26
+ @contents['app_project_path']
27
+ end
28
+
29
+ def app_target_name
30
+ @contents['app_target_name']
31
+ end
32
+
33
+ def app_target_tests_name
34
+ @contents['app_target_tests_name']
35
+ end
36
+
37
+ private
38
+
39
+ def load_file
40
+ YAML.load_file(@lane_file)
41
+ end
42
+ end
43
+ end
44
+
@@ -1,3 +1,3 @@
1
1
  module LaneKit
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  end
data/lib/lanekit.rb CHANGED
@@ -4,6 +4,7 @@ require 'xcodeproj'
4
4
  require 'active_support'
5
5
  require 'active_support/inflector'
6
6
  require 'lanekit/version'
7
+ require 'lanekit/lanefile'
7
8
 
8
9
  module LaneKit
9
10
  @@objc_types = {
@@ -14,6 +15,45 @@ module LaneKit
14
15
  def self.template_folders
15
16
  [@template_folder]
16
17
  end
18
+
19
+ # Adds a file to a group in an Xcode project
20
+ # For example: LaneKit.add_file_to_project('Message.m', 'Models', 'SportsFrames', 'SportsFrames')
21
+ def self.add_file_to_project(file_name, group_name, project_path, target_name=nil)
22
+ # Open the existing Xcode project
23
+ project = Xcodeproj::Project.open(project_path)
24
+
25
+ #puts "group_name: #{group_name}"
26
+ #puts "groups: #{project.groups}"
27
+ #puts "group: #{project[group_name]}"
28
+
29
+ group = project[group_name]
30
+
31
+ # Avoid duplicates
32
+ ref = group.find_file_by_path(file_name)
33
+ return if ref
34
+
35
+ # Add a file to the project in the main group
36
+ file = group.new_reference(file_name)
37
+
38
+ if target_name == "@all"
39
+ # Add the file to the main target
40
+
41
+ project.targets.each do |target|
42
+ target.add_file_references([file])
43
+ end
44
+ elsif target_name
45
+ # Add the file to the main target
46
+
47
+ unless target = project.targets.find { |target| target.name == target_name }
48
+ raise ArgumentError, "Target by name `#{target_name}' not found in the project."
49
+ end
50
+
51
+ target.add_file_references([file])
52
+ end
53
+
54
+ # Save the project file
55
+ project.save
56
+ end
17
57
 
18
58
  # Adds a pod file line to a CocoaPods Podfile
19
59
  def self.add_pod_to_podfile(pod_name)
@@ -164,12 +204,35 @@ module LaneKit
164
204
  end
165
205
 
166
206
  def self.gem_available?(gemname)
167
- if Gem::Specification.methods.include?(:find_all_by_name)
168
- not Gem::Specification.find_all_by_name(gemname).empty?
169
- else
170
- Gem.available?(gemname)
171
- end
172
- end
207
+ if Gem::Specification.methods.include?(:find_all_by_name)
208
+ not Gem::Specification.find_all_by_name(gemname).empty?
209
+ else
210
+ Gem.available?(gemname)
211
+ end
212
+ end
213
+
214
+ def self.validate_lanefile(lanefile)
215
+ if !lanefile.exists?
216
+ return "Error: Cannot find 'Lanefile' in the current folder. Is this a LaneKit generated app folder?"
217
+ end
218
+
219
+ app_project_path = lanefile.app_project_path
220
+ if !File.exists?(app_project_path)
221
+ return "Lanefile Error: cannot find project: #{app_project_path}"
222
+ end
223
+
224
+ if !lanefile.app_project_name || !lanefile.app_project_name.length
225
+ return "Lanefile Error: missing app_project_name"
226
+ end
227
+
228
+ if !lanefile.app_target_name || !lanefile.app_target_name.length
229
+ return "Lanefile Error: missing app_target_name"
230
+ end
231
+
232
+ if !lanefile.app_target_tests_name || !lanefile.app_target_tests_name.length
233
+ return "Lanefile Error: missing app_target_tests_name"
234
+ end
235
+ end
173
236
 
174
237
  end
175
238
 
@@ -0,0 +1,6 @@
1
+ app_project_name: lanekit-ios-project
2
+
3
+ app_project_path: lanekit-ios-project/lanekit-ios-project.xcodeproj
4
+
5
+ app_target_name: lanekit-ios-project
6
+ app_target_tests_name: lanekit-ios-projectTests
@@ -2,4 +2,6 @@ xcodeproj 'lanekit-ios-project/lanekit-ios-project.xcodeproj'
2
2
 
3
3
  platform :ios, "6.0"
4
4
 
5
+ link_with ['lanekit-ios-project', 'lanekit-ios-projectTests']
6
+
5
7
  pod 'RestKit', '0.20.3'
@@ -13,4 +13,7 @@
13
13
  #ifdef __OBJC__
14
14
  #import <UIKit/UIKit.h>
15
15
  #import <Foundation/Foundation.h>
16
+
17
+ #import <MobileCoreServices/MobileCoreServices.h>
18
+ #import <SystemConfiguration/SystemConfiguration.h>
16
19
  #endif
@@ -14,19 +14,19 @@
14
14
  461263CF180B401300771CF8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 461263CE180B401300771CF8 /* main.m */; };
15
15
  461263D3180B401300771CF8 /* LKAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 461263D2180B401300771CF8 /* LKAppDelegate.m */; };
16
16
  461263D5180B401300771CF8 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 461263D4180B401300771CF8 /* Images.xcassets */; };
17
- 461263DC180B401300771CF8 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 461263DB180B401300771CF8 /* XCTest.framework */; };
18
- 461263DD180B401300771CF8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 461263C2180B401300771CF8 /* Foundation.framework */; };
19
- 461263DE180B401300771CF8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 461263C6180B401300771CF8 /* UIKit.framework */; };
20
- 461263E6180B401300771CF8 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 461263E4180B401300771CF8 /* InfoPlist.strings */; };
21
- 461263E8180B401300771CF8 /* lanekit-ios-projectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 461263E7180B401300771CF8 /* lanekit-ios-projectTests.m */; };
22
17
  466CCC20181CA7010028AD47 /* LKDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 466CCC1D181CA7010028AD47 /* LKDetailViewController.m */; };
23
18
  466CCC21181CA7010028AD47 /* LKMasterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 466CCC1F181CA7010028AD47 /* LKMasterViewController.m */; };
24
19
  466CCC26181CA7CA0028AD47 /* Main_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 466CCC22181CA7CA0028AD47 /* Main_iPad.storyboard */; };
25
20
  466CCC27181CA7CA0028AD47 /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 466CCC24181CA7CA0028AD47 /* Main_iPhone.storyboard */; };
21
+ 46C411901824966400B19AB2 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4688500518248B3600EDAAA8 /* SenTestingKit.framework */; };
22
+ 46C411911824966400B19AB2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 461263C2180B401300771CF8 /* Foundation.framework */; };
23
+ 46C411921824966400B19AB2 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 461263C6180B401300771CF8 /* UIKit.framework */; };
24
+ 46C411A21824977D00B19AB2 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 461263E4180B401300771CF8 /* InfoPlist.strings */; };
25
+ 46C411A51824995C00B19AB2 /* lanekit-ios-projectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 46C411A41824995C00B19AB2 /* lanekit-ios-projectTests.m */; };
26
26
  /* End PBXBuildFile section */
27
27
 
28
28
  /* Begin PBXContainerItemProxy section */
29
- 461263DF180B401300771CF8 /* PBXContainerItemProxy */ = {
29
+ 46C4119C1824966400B19AB2 /* PBXContainerItemProxy */ = {
30
30
  isa = PBXContainerItemProxy;
31
31
  containerPortal = 461263B7180B401300771CF8 /* Project object */;
32
32
  proxyType = 1;
@@ -47,17 +47,18 @@
47
47
  461263D1180B401300771CF8 /* LKAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LKAppDelegate.h; path = Controllers/LKAppDelegate.h; sourceTree = "<group>"; };
48
48
  461263D2180B401300771CF8 /* LKAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LKAppDelegate.m; path = Controllers/LKAppDelegate.m; sourceTree = "<group>"; };
49
49
  461263D4180B401300771CF8 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Resources/Images.xcassets; sourceTree = "<group>"; };
50
- 461263DA180B401300771CF8 /* lanekit-ios-projectTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "lanekit-ios-projectTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
51
- 461263DB180B401300771CF8 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
52
50
  461263E3180B401300771CF8 /* lanekit-ios-projectTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "lanekit-ios-projectTests-Info.plist"; sourceTree = "<group>"; };
53
51
  461263E5180B401300771CF8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
54
- 461263E7180B401300771CF8 /* lanekit-ios-projectTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "lanekit-ios-projectTests.m"; sourceTree = "<group>"; };
55
52
  466CCC1C181CA7010028AD47 /* LKDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LKDetailViewController.h; path = Controllers/LKDetailViewController.h; sourceTree = "<group>"; };
56
53
  466CCC1D181CA7010028AD47 /* LKDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LKDetailViewController.m; path = Controllers/LKDetailViewController.m; sourceTree = "<group>"; };
57
54
  466CCC1E181CA7010028AD47 /* LKMasterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LKMasterViewController.h; path = Controllers/LKMasterViewController.h; sourceTree = "<group>"; };
58
55
  466CCC1F181CA7010028AD47 /* LKMasterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LKMasterViewController.m; path = Controllers/LKMasterViewController.m; sourceTree = "<group>"; };
59
56
  466CCC23181CA7CA0028AD47 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Resources/Base.lproj/Main_iPad.storyboard; sourceTree = "<group>"; };
60
57
  466CCC25181CA7CA0028AD47 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Resources/Base.lproj/Main_iPhone.storyboard; sourceTree = "<group>"; };
58
+ 4688500518248B3600EDAAA8 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
59
+ 46C4118F1824966400B19AB2 /* lanekit-ios-projectTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "lanekit-ios-projectTests.octest"; sourceTree = BUILT_PRODUCTS_DIR; };
60
+ 46C411A41824995C00B19AB2 /* lanekit-ios-projectTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "lanekit-ios-projectTests.m"; sourceTree = "<group>"; };
61
+ 46C411A618249A9600B19AB2 /* lanekit-ios-projectTests-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "lanekit-ios-projectTests-Prefix.pch"; sourceTree = "<group>"; };
61
62
  /* End PBXFileReference section */
62
63
 
63
64
  /* Begin PBXFrameworksBuildPhase section */
@@ -71,13 +72,13 @@
71
72
  );
72
73
  runOnlyForDeploymentPostprocessing = 0;
73
74
  };
74
- 461263D7180B401300771CF8 /* Frameworks */ = {
75
+ 46C4118C1824966400B19AB2 /* Frameworks */ = {
75
76
  isa = PBXFrameworksBuildPhase;
76
77
  buildActionMask = 2147483647;
77
78
  files = (
78
- 461263DC180B401300771CF8 /* XCTest.framework in Frameworks */,
79
- 461263DE180B401300771CF8 /* UIKit.framework in Frameworks */,
80
- 461263DD180B401300771CF8 /* Foundation.framework in Frameworks */,
79
+ 46C411901824966400B19AB2 /* SenTestingKit.framework in Frameworks */,
80
+ 46C411921824966400B19AB2 /* UIKit.framework in Frameworks */,
81
+ 46C411911824966400B19AB2 /* Foundation.framework in Frameworks */,
81
82
  );
82
83
  runOnlyForDeploymentPostprocessing = 0;
83
84
  };
@@ -98,7 +99,7 @@
98
99
  isa = PBXGroup;
99
100
  children = (
100
101
  461263BF180B401300771CF8 /* lanekit-ios-project.app */,
101
- 461263DA180B401300771CF8 /* lanekit-ios-projectTests.xctest */,
102
+ 46C4118F1824966400B19AB2 /* lanekit-ios-projectTests.octest */,
102
103
  );
103
104
  name = Products;
104
105
  sourceTree = "<group>";
@@ -109,7 +110,7 @@
109
110
  461263C2180B401300771CF8 /* Foundation.framework */,
110
111
  461263C4180B401300771CF8 /* CoreGraphics.framework */,
111
112
  461263C6180B401300771CF8 /* UIKit.framework */,
112
- 461263DB180B401300771CF8 /* XCTest.framework */,
113
+ 4688500518248B3600EDAAA8 /* SenTestingKit.framework */,
113
114
  );
114
115
  name = Frameworks;
115
116
  sourceTree = "<group>";
@@ -140,7 +141,10 @@
140
141
  461263E1180B401300771CF8 /* lanekit-ios-projectTests */ = {
141
142
  isa = PBXGroup;
142
143
  children = (
143
- 461263E7180B401300771CF8 /* lanekit-ios-projectTests.m */,
144
+ 46C411A41824995C00B19AB2 /* lanekit-ios-projectTests.m */,
145
+ 466AEF76181DF3ED00787305 /* Fixtures */,
146
+ 466AEF77181DF3F200787305 /* Models */,
147
+ 466AEF75181DF3D800787305 /* Resources */,
144
148
  461263E2180B401300771CF8 /* Supporting Files */,
145
149
  );
146
150
  path = "lanekit-ios-projectTests";
@@ -149,12 +153,34 @@
149
153
  461263E2180B401300771CF8 /* Supporting Files */ = {
150
154
  isa = PBXGroup;
151
155
  children = (
156
+ 46C411A618249A9600B19AB2 /* lanekit-ios-projectTests-Prefix.pch */,
152
157
  461263E3180B401300771CF8 /* lanekit-ios-projectTests-Info.plist */,
153
158
  461263E4180B401300771CF8 /* InfoPlist.strings */,
154
159
  );
155
160
  name = "Supporting Files";
156
161
  sourceTree = "<group>";
157
162
  };
163
+ 466AEF75181DF3D800787305 /* Resources */ = {
164
+ isa = PBXGroup;
165
+ children = (
166
+ );
167
+ name = Resources;
168
+ sourceTree = "<group>";
169
+ };
170
+ 466AEF76181DF3ED00787305 /* Fixtures */ = {
171
+ isa = PBXGroup;
172
+ children = (
173
+ );
174
+ name = Fixtures;
175
+ sourceTree = "<group>";
176
+ };
177
+ 466AEF77181DF3F200787305 /* Models */ = {
178
+ isa = PBXGroup;
179
+ children = (
180
+ );
181
+ name = Models;
182
+ sourceTree = "<group>";
183
+ };
158
184
  466CCB7918192CD50028AD47 /* Models */ = {
159
185
  isa = PBXGroup;
160
186
  children = (
@@ -212,23 +238,23 @@
212
238
  productReference = 461263BF180B401300771CF8 /* lanekit-ios-project.app */;
213
239
  productType = "com.apple.product-type.application";
214
240
  };
215
- 461263D9180B401300771CF8 /* lanekit-ios-projectTests */ = {
241
+ 46C4118E1824966400B19AB2 /* lanekit-ios-projectTests */ = {
216
242
  isa = PBXNativeTarget;
217
- buildConfigurationList = 461263EE180B401300771CF8 /* Build configuration list for PBXNativeTarget "lanekit-ios-projectTests" */;
243
+ buildConfigurationList = 46C411A01824966400B19AB2 /* Build configuration list for PBXNativeTarget "lanekit-ios-projectTests" */;
218
244
  buildPhases = (
219
- 461263D6180B401300771CF8 /* Sources */,
220
- 461263D7180B401300771CF8 /* Frameworks */,
221
- 461263D8180B401300771CF8 /* Resources */,
245
+ 46C4118B1824966400B19AB2 /* Sources */,
246
+ 46C4118C1824966400B19AB2 /* Frameworks */,
247
+ 46C4118D1824966400B19AB2 /* Resources */,
222
248
  );
223
249
  buildRules = (
224
250
  );
225
251
  dependencies = (
226
- 461263E0180B401300771CF8 /* PBXTargetDependency */,
252
+ 46C4119D1824966400B19AB2 /* PBXTargetDependency */,
227
253
  );
228
254
  name = "lanekit-ios-projectTests";
229
- productName = "lanekit-ios-projectTests";
230
- productReference = 461263DA180B401300771CF8 /* lanekit-ios-projectTests.xctest */;
231
- productType = "com.apple.product-type.bundle.unit-test";
255
+ productName = "lanekit-ios-project Tests";
256
+ productReference = 46C4118F1824966400B19AB2 /* lanekit-ios-projectTests.octest */;
257
+ productType = "com.apple.product-type.bundle";
232
258
  };
233
259
  /* End PBXNativeTarget section */
234
260
 
@@ -240,7 +266,7 @@
240
266
  LastUpgradeCheck = 0500;
241
267
  ORGANIZATIONNAME = LaneKit;
242
268
  TargetAttributes = {
243
- 461263D9180B401300771CF8 = {
269
+ 46C4118E1824966400B19AB2 = {
244
270
  TestTargetID = 461263BE180B401300771CF8;
245
271
  };
246
272
  };
@@ -259,7 +285,7 @@
259
285
  projectRoot = "";
260
286
  targets = (
261
287
  461263BE180B401300771CF8 /* lanekit-ios-project */,
262
- 461263D9180B401300771CF8 /* lanekit-ios-projectTests */,
288
+ 46C4118E1824966400B19AB2 /* lanekit-ios-projectTests */,
263
289
  );
264
290
  };
265
291
  /* End PBXProject section */
@@ -276,11 +302,11 @@
276
302
  );
277
303
  runOnlyForDeploymentPostprocessing = 0;
278
304
  };
279
- 461263D8180B401300771CF8 /* Resources */ = {
305
+ 46C4118D1824966400B19AB2 /* Resources */ = {
280
306
  isa = PBXResourcesBuildPhase;
281
307
  buildActionMask = 2147483647;
282
308
  files = (
283
- 461263E6180B401300771CF8 /* InfoPlist.strings in Resources */,
309
+ 46C411A21824977D00B19AB2 /* InfoPlist.strings in Resources */,
284
310
  );
285
311
  runOnlyForDeploymentPostprocessing = 0;
286
312
  };
@@ -298,21 +324,21 @@
298
324
  );
299
325
  runOnlyForDeploymentPostprocessing = 0;
300
326
  };
301
- 461263D6180B401300771CF8 /* Sources */ = {
327
+ 46C4118B1824966400B19AB2 /* Sources */ = {
302
328
  isa = PBXSourcesBuildPhase;
303
329
  buildActionMask = 2147483647;
304
330
  files = (
305
- 461263E8180B401300771CF8 /* lanekit-ios-projectTests.m in Sources */,
331
+ 46C411A51824995C00B19AB2 /* lanekit-ios-projectTests.m in Sources */,
306
332
  );
307
333
  runOnlyForDeploymentPostprocessing = 0;
308
334
  };
309
335
  /* End PBXSourcesBuildPhase section */
310
336
 
311
337
  /* Begin PBXTargetDependency section */
312
- 461263E0180B401300771CF8 /* PBXTargetDependency */ = {
338
+ 46C4119D1824966400B19AB2 /* PBXTargetDependency */ = {
313
339
  isa = PBXTargetDependency;
314
340
  target = 461263BE180B401300771CF8 /* lanekit-ios-project */;
315
- targetProxy = 461263DF180B401300771CF8 /* PBXContainerItemProxy */;
341
+ targetProxy = 46C4119C1824966400B19AB2 /* PBXContainerItemProxy */;
316
342
  };
317
343
  /* End PBXTargetDependency section */
318
344
 
@@ -432,6 +458,10 @@
432
458
  buildSettings = {
433
459
  ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
434
460
  ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
461
+ FRAMEWORK_SEARCH_PATHS = (
462
+ "$(inherited)",
463
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
464
+ );
435
465
  GCC_PRECOMPILE_PREFIX_HEADER = YES;
436
466
  GCC_PREFIX_HEADER = "lanekit-ios-project/Supporting Files/lanekit-ios-project-Prefix.pch";
437
467
  INFOPLIST_FILE = "lanekit-ios-project/Supporting Files/lanekit-ios-project-Info.plist";
@@ -445,6 +475,10 @@
445
475
  buildSettings = {
446
476
  ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
447
477
  ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
478
+ FRAMEWORK_SEARCH_PATHS = (
479
+ "$(inherited)",
480
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
481
+ );
448
482
  GCC_PRECOMPILE_PREFIX_HEADER = YES;
449
483
  GCC_PREFIX_HEADER = "lanekit-ios-project/Supporting Files/lanekit-ios-project-Prefix.pch";
450
484
  INFOPLIST_FILE = "lanekit-ios-project/Supporting Files/lanekit-ios-project-Info.plist";
@@ -453,7 +487,7 @@
453
487
  };
454
488
  name = Release;
455
489
  };
456
- 461263EF180B401300771CF8 /* Debug */ = {
490
+ 46C4119E1824966400B19AB2 /* Debug */ = {
457
491
  isa = XCBuildConfiguration;
458
492
  buildSettings = {
459
493
  ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
@@ -464,19 +498,20 @@
464
498
  "$(DEVELOPER_FRAMEWORKS_DIR)",
465
499
  );
466
500
  GCC_PRECOMPILE_PREFIX_HEADER = YES;
467
- GCC_PREFIX_HEADER = "lanekit-ios-project/lanekit-ios-project-Prefix.pch";
501
+ GCC_PREFIX_HEADER = "lanekit-ios-projectTests/lanekit-ios-projectTests-Prefix.pch";
468
502
  GCC_PREPROCESSOR_DEFINITIONS = (
469
503
  "DEBUG=1",
470
504
  "$(inherited)",
471
505
  );
472
506
  INFOPLIST_FILE = "lanekit-ios-projectTests/lanekit-ios-projectTests-Info.plist";
507
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
473
508
  PRODUCT_NAME = "$(TARGET_NAME)";
474
509
  TEST_HOST = "$(BUNDLE_LOADER)";
475
- WRAPPER_EXTENSION = xctest;
510
+ WRAPPER_EXTENSION = octest;
476
511
  };
477
512
  name = Debug;
478
513
  };
479
- 461263F0180B401300771CF8 /* Release */ = {
514
+ 46C4119F1824966400B19AB2 /* Release */ = {
480
515
  isa = XCBuildConfiguration;
481
516
  buildSettings = {
482
517
  ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
@@ -487,11 +522,12 @@
487
522
  "$(DEVELOPER_FRAMEWORKS_DIR)",
488
523
  );
489
524
  GCC_PRECOMPILE_PREFIX_HEADER = YES;
490
- GCC_PREFIX_HEADER = "lanekit-ios-project/lanekit-ios-project-Prefix.pch";
525
+ GCC_PREFIX_HEADER = "lanekit-ios-projectTests/lanekit-ios-projectTests-Prefix.pch";
491
526
  INFOPLIST_FILE = "lanekit-ios-projectTests/lanekit-ios-projectTests-Info.plist";
527
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
492
528
  PRODUCT_NAME = "$(TARGET_NAME)";
493
529
  TEST_HOST = "$(BUNDLE_LOADER)";
494
- WRAPPER_EXTENSION = xctest;
530
+ WRAPPER_EXTENSION = octest;
495
531
  };
496
532
  name = Release;
497
533
  };
@@ -516,11 +552,11 @@
516
552
  defaultConfigurationIsVisible = 0;
517
553
  defaultConfigurationName = Release;
518
554
  };
519
- 461263EE180B401300771CF8 /* Build configuration list for PBXNativeTarget "lanekit-ios-projectTests" */ = {
555
+ 46C411A01824966400B19AB2 /* Build configuration list for PBXNativeTarget "lanekit-ios-projectTests" */ = {
520
556
  isa = XCConfigurationList;
521
557
  buildConfigurations = (
522
- 461263EF180B401300771CF8 /* Debug */,
523
- 461263F0180B401300771CF8 /* Release */,
558
+ 46C4119E1824966400B19AB2 /* Debug */,
559
+ 46C4119F1824966400B19AB2 /* Release */,
524
560
  );
525
561
  defaultConfigurationIsVisible = 0;
526
562
  defaultConfigurationName = Release;
@@ -34,6 +34,16 @@
34
34
  BuildableIdentifier = "primary"
35
35
  BlueprintIdentifier = "461263D9180B401300771CF8"
36
36
  BuildableName = "lanekit-ios-projectTests.xctest"
37
+ BlueprintName = "lanekit-ios-project--Tests"
38
+ ReferencedContainer = "container:lanekit-ios-project.xcodeproj">
39
+ </BuildableReference>
40
+ </TestableReference>
41
+ <TestableReference
42
+ skipped = "NO">
43
+ <BuildableReference
44
+ BuildableIdentifier = "primary"
45
+ BlueprintIdentifier = "46C4118E1824966400B19AB2"
46
+ BuildableName = "lanekit-ios-projectTests.octest"
37
47
  BlueprintName = "lanekit-ios-projectTests"
38
48
  ReferencedContainer = "container:lanekit-ios-project.xcodeproj">
39
49
  </BuildableReference>
@@ -22,6 +22,11 @@
22
22
  <key>primary</key>
23
23
  <true/>
24
24
  </dict>
25
+ <key>46C4118E1824966400B19AB2</key>
26
+ <dict>
27
+ <key>primary</key>
28
+ <true/>
29
+ </dict>
25
30
  </dict>
26
31
  </dict>
27
32
  </plist>
@@ -0,0 +1,19 @@
1
+ //
2
+ // Prefix header
3
+ //
4
+ // The contents of this file are implicitly included at the beginning of every source file.
5
+ //
6
+
7
+ #import <Availability.h>
8
+
9
+ #ifndef __IPHONE_3_0
10
+ #warning "This project uses features only available in iOS SDK 3.0 and later."
11
+ #endif
12
+
13
+ #ifdef __OBJC__
14
+ #import <UIKit/UIKit.h>
15
+ #import <Foundation/Foundation.h>
16
+
17
+ #import <MobileCoreServices/MobileCoreServices.h>
18
+ #import <SystemConfiguration/SystemConfiguration.h>
19
+ #endif
@@ -2,9 +2,9 @@
2
2
  // lanekit_ios_projectTests.m
3
3
  //
4
4
 
5
- #import <XCTest/XCTest.h>
5
+ #import <SenTestingKit/SenTestingKit.h>
6
6
 
7
- @interface lanekit_ios_projectTests : XCTestCase
7
+ @interface lanekit_ios_projectTests : SenTestCase
8
8
 
9
9
  @end
10
10
 
@@ -13,18 +13,20 @@
13
13
  - (void)setUp
14
14
  {
15
15
  [super setUp];
16
- // Put setup code here. This method is called before the invocation of each test method in the class.
16
+
17
+ // Set-up code here.
17
18
  }
18
19
 
19
20
  - (void)tearDown
20
21
  {
21
- // Put teardown code here. This method is called after the invocation of each test method in the class.
22
+ // Tear-down code here.
23
+
22
24
  [super tearDown];
23
25
  }
24
26
 
25
27
  - (void)testExample
26
28
  {
27
- XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
29
+ STAssertTrue(false, @"No test defined.");
28
30
  }
29
31
 
30
32
  @end
@@ -0,0 +1,20 @@
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>BuildLocationStyle</key>
6
+ <string>UseAppPreferences</string>
7
+ <key>CustomBuildLocationType</key>
8
+ <string>RelativeToDerivedData</string>
9
+ <key>DerivedDataLocationStyle</key>
10
+ <string>Default</string>
11
+ <key>IssueFilterStyle</key>
12
+ <string>ShowActiveSchemeOnly</string>
13
+ <key>LiveSourceIssuesEnabled</key>
14
+ <true/>
15
+ <key>SnapshotAutomaticallyBeforeSignificantChanges</key>
16
+ <true/>
17
+ <key>SnapshotLocationStyle</key>
18
+ <string>Default</string>
19
+ </dict>
20
+ </plist>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lanekit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Larry Aasen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-27 00:00:00.000000000 Z
11
+ date: 2013-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods
@@ -52,7 +52,14 @@ dependencies:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.10.0
55
- description: an iOS Objective-C code generator for integration with RestKit.
55
+ description: ! 'LaneKit is an iOS Objective-C code generator for integration with
56
+ RestKit. It generates
57
+
58
+ models, resource providers, and full iOS apps with mimimal effort. There is support
59
+ for unit testing with SenTestingKit
60
+
61
+ including fixtures and tests. LaneKit is a command line app written in Ruby and
62
+ packaged as a Ruby Gem.'
56
63
  email:
57
64
  - larryaasen@gmail.com
58
65
  executables:
@@ -64,6 +71,7 @@ files:
64
71
  - lib/lanekit/generate/provider.rb
65
72
  - lib/lanekit/generate/urbanairship.rb
66
73
  - lib/lanekit/generate.rb
74
+ - lib/lanekit/lanefile.rb
67
75
  - lib/lanekit/new.rb
68
76
  - lib/lanekit/version.rb
69
77
  - lib/lanekit.rb
@@ -80,6 +88,7 @@ files:
80
88
  - lib/template/provider.m.erb
81
89
  - lib/template/provider_base.h.erb
82
90
  - lib/template/provider_base.m.erb
91
+ - lib/template/lanekit-ios-project/Lanefile
83
92
  - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project/Controllers/LKAppDelegate.h
84
93
  - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project/Controllers/LKAppDelegate.m
85
94
  - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project/Controllers/LKDetailViewController.h
@@ -99,14 +108,17 @@ files:
99
108
  Files/main.m
100
109
  - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project.xcodeproj/project.pbxproj
101
110
  - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project.xcodeproj/project.xcworkspace/contents.xcworkspacedata
111
+ - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project.xcodeproj/project.xcworkspace/xcuserdata/larry.xcuserdatad/UserInterfaceState.xcuserstate
102
112
  - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project.xcodeproj/xcuserdata/larry.xcuserdatad/xcschemes/lanekit-ios-project.xcscheme
103
113
  - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-project.xcodeproj/xcuserdata/larry.xcuserdatad/xcschemes/xcschememanagement.plist
104
114
  - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-projectTests/en.lproj/InfoPlist.strings
105
115
  - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-projectTests/lanekit-ios-projectTests-Info.plist
116
+ - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-projectTests/lanekit-ios-projectTests-Prefix.pch
106
117
  - lib/template/lanekit-ios-project/lanekit-ios-project/lanekit-ios-projectTests/lanekit-ios-projectTests.m
107
118
  - lib/template/lanekit-ios-project/lanekit-ios-project.xcworkspace/contents.xcworkspacedata
108
119
  - lib/template/lanekit-ios-project/lanekit-ios-project.xcworkspace/xcshareddata/lanekit-ios-project.xccheckout
109
120
  - lib/template/lanekit-ios-project/lanekit-ios-project.xcworkspace/xcuserdata/larry.xcuserdatad/UserInterfaceState.xcuserstate
121
+ - lib/template/lanekit-ios-project/lanekit-ios-project.xcworkspace/xcuserdata/larry.xcuserdatad/WorkspaceSettings.xcsettings
110
122
  - lib/template/lanekit-ios-project/Podfile
111
123
  - bin/lanekit
112
124
  - README.md
@@ -134,8 +146,5 @@ rubyforge_project:
134
146
  rubygems_version: 2.1.9
135
147
  signing_key:
136
148
  specification_version: 4
137
- summary: LaneKit is an iOS Objective-C code generator for integration with RestKit.
138
- It generates models, resource providers, and full iOS apps with mimimal effort.
139
- There is support for unit testing with SenTestingKit including fixtures and tests.
140
- LaneKit is a command line app written in Ruby and packaged as a Ruby Gem.
149
+ summary: an iOS Objective-C code generator for integration with RestKit.
141
150
  test_files: []