picon 0.0.1 → 1.0.0

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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.travis.yml +4 -0
  4. data/README.md +12 -2
  5. data/images/picon_after.png +0 -0
  6. data/images/picon_before.png +0 -0
  7. data/lib/picon/generator.rb +23 -9
  8. data/lib/picon/version.rb +1 -1
  9. data/picon.gemspec +0 -1
  10. data/spec/PiconSampleProject/PiconSampleProject.xcodeproj/project.pbxproj +489 -0
  11. data/spec/PiconSampleProject/PiconSampleProject.xcodeproj/project.pbxproj.orig +489 -0
  12. data/spec/PiconSampleProject/PiconSampleProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  13. data/spec/PiconSampleProject/PiconSampleProject.xcodeproj/project.xcworkspace/xcuserdata/naoty.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  14. data/spec/PiconSampleProject/PiconSampleProject.xcodeproj/xcuserdata/naoty.xcuserdatad/xcschemes/PiconSampleProject.xcscheme +96 -0
  15. data/spec/PiconSampleProject/PiconSampleProject.xcodeproj/xcuserdata/naoty.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
  16. data/spec/PiconSampleProject/PiconSampleProject/AppDelegate.h +15 -0
  17. data/spec/PiconSampleProject/PiconSampleProject/AppDelegate.m +46 -0
  18. data/spec/PiconSampleProject/PiconSampleProject/Base.lproj/Main_iPad.storyboard +26 -0
  19. data/spec/PiconSampleProject/PiconSampleProject/Base.lproj/Main_iPhone.storyboard +26 -0
  20. data/spec/PiconSampleProject/PiconSampleProject/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  21. data/spec/PiconSampleProject/PiconSampleProject/Images.xcassets/LaunchImage.launchimage/Contents.json +51 -0
  22. data/spec/PiconSampleProject/PiconSampleProject/PiconSampleProject-Info.plist +49 -0
  23. data/spec/PiconSampleProject/PiconSampleProject/PiconSampleProject-Prefix.pch +16 -0
  24. data/spec/PiconSampleProject/PiconSampleProject/ViewController.h +13 -0
  25. data/spec/PiconSampleProject/PiconSampleProject/ViewController.m +29 -0
  26. data/spec/PiconSampleProject/PiconSampleProject/en.lproj/InfoPlist.strings +2 -0
  27. data/spec/PiconSampleProject/PiconSampleProject/main.m +18 -0
  28. data/spec/PiconSampleProject/PiconSampleProjectTests/PiconSampleProjectTests-Info.plist +22 -0
  29. data/spec/PiconSampleProject/PiconSampleProjectTests/PiconSampleProjectTests.m +34 -0
  30. data/spec/PiconSampleProject/PiconSampleProjectTests/en.lproj/InfoPlist.strings +2 -0
  31. data/spec/PiconSampleWorkspace/PiconSampleWorkspace.xcodeproj/project.pbxproj +1125 -0
  32. data/spec/PiconSampleWorkspace/PiconSampleWorkspace.xcodeproj/project.pbxproj.orig +1125 -0
  33. data/spec/PiconSampleWorkspace/PiconSampleWorkspace.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  34. data/spec/PiconSampleWorkspace/PiconSampleWorkspace.xcodeproj/project.xcworkspace/xcshareddata/PiconSampleWorkspace.xccheckout +41 -0
  35. data/spec/PiconSampleWorkspace/PiconSampleWorkspace.xcodeproj/project.xcworkspace/xcuserdata/naoty.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  36. data/spec/PiconSampleWorkspace/PiconSampleWorkspace.xcodeproj/xcuserdata/naoty.xcuserdatad/xcschemes/PiconSampleWorkspace.xcscheme +96 -0
  37. data/spec/PiconSampleWorkspace/PiconSampleWorkspace.xcodeproj/xcuserdata/naoty.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
  38. data/spec/PiconSampleWorkspace/PiconSampleWorkspace.xcworkspace/contents.xcworkspacedata +1 -0
  39. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/AppDelegate.h +15 -0
  40. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/AppDelegate.m +46 -0
  41. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/Base.lproj/Main_iPad.storyboard +26 -0
  42. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/Base.lproj/Main_iPhone.storyboard +26 -0
  43. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  44. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/Images.xcassets/LaunchImage.launchimage/Contents.json +51 -0
  45. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/PiconSampleWorkspace-Info.plist +49 -0
  46. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/PiconSampleWorkspace-Prefix.pch +16 -0
  47. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/ViewController.h +13 -0
  48. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/ViewController.m +29 -0
  49. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/en.lproj/InfoPlist.strings +2 -0
  50. data/spec/PiconSampleWorkspace/PiconSampleWorkspace/main.m +18 -0
  51. data/spec/PiconSampleWorkspace/PiconSampleWorkspaceTests/PiconSampleWorkspaceTests-Info.plist +22 -0
  52. data/spec/PiconSampleWorkspace/PiconSampleWorkspaceTests/PiconSampleWorkspaceTests.m +34 -0
  53. data/spec/PiconSampleWorkspace/PiconSampleWorkspaceTests/en.lproj/InfoPlist.strings +2 -0
  54. data/spec/PiconSampleWorkspace/Podfile +3 -0
  55. data/spec/PiconSampleWorkspace/Podfile.lock +29 -0
  56. data/spec/picon/generator_spec.rb +68 -0
  57. data/spec/spec_helper.rb +2 -0
  58. metadata +102 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8da695750f607ff1465b53f4e163e410acf06ffb
4
- data.tar.gz: 1d0d378cae9eb5ce597e71b52ec135d52087534a
3
+ metadata.gz: b3d460fe9620520808bd2dda249a08bbb916b69e
4
+ data.tar.gz: 07c93f138f472c26ae0961c7b83869397b9df24a
5
5
  SHA512:
6
- metadata.gz: 02761bce783bf2a15a91f5b242abccf4aaaaf8047b96d06227afe1b6d236c167760d66117964ecfe2b212b02e0a2421a4caed97fd34e7f321c51faae2f4fb32a
7
- data.tar.gz: ffada1f9cad45ca510af8a2d273e4d1b029d23aa62e0244d7e32fa718b6855a966f40594773d8d9cac41fbb4e85530fdd9edbe06c250a0855c7396ae27002674
6
+ metadata.gz: 5aefd3c2022c6e9097ff048892624c8b008ef76eb3b102492d8c569932fec2e155a97d1a3fddce3f984008cff104536b3c63213c0bd59a6901cd518bbdb1cab6
7
+ data.tar.gz: 382fd81d8bfb15e825b528635cfe7016856d976ce5356556cb7c9c22e29f399dfb3eb7eaf1d79f02cecaa59918b53dd685d74fd4f30fb192d14a21d1e94f88e3
data/.gitignore CHANGED
@@ -3,6 +3,7 @@
3
3
  .bundle
4
4
  .config
5
5
  .yardoc
6
+ .rspec
6
7
  Gemfile.lock
7
8
  InstalledFiles
8
9
  _yardoc
@@ -17,3 +18,4 @@ test/version_tmp
17
18
  tmp
18
19
 
19
20
  vendor/bundle/
21
+ Pods/
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ script: bundle exec rspec
data/README.md CHANGED
@@ -1,7 +1,17 @@
1
- # Picon
1
+ # Picon [![Build Status](https://travis-ci.org/naoty/picon.png?branch=master)](https://travis-ci.org/naoty/picon)
2
2
 
3
3
  This gem generates [identicons](http://en.wikipedia.org/wiki/Identicon) for iOS apps. It is helpful for developers who cannot create icons with tools such as Adobe Illustrator. Apps under development are usually have the save default icon, and so cannot be tell apart at a glance. However, apps with identicons generated by this gem are can be identified by their icons.
4
4
 
5
+ <div>
6
+ <img src="images/picon_before.png" alt="picon_before.png" />
7
+ <span />
8
+ <img src="images/picon_after.png" alt="picon_after.png" />
9
+ </div>
10
+
11
+ ## Requirements
12
+
13
+ - Xcode 5.0 or later
14
+
5
15
  ## Installation
6
16
 
7
17
  ```sh
@@ -12,7 +22,7 @@ $ gem install picon
12
22
 
13
23
  At the root of Xcode project,
14
24
 
15
- ```
25
+ ```sh
16
26
  $ picon generate
17
27
  ```
18
28
 
Binary file
Binary file
@@ -12,7 +12,14 @@ module Picon
12
12
  new.run
13
13
  end
14
14
 
15
- def initialize
15
+ def initialize(args = {})
16
+ if args[:current_path]
17
+ @current_path = Pathname.new(File.expand_path(args[:current_path]))
18
+ else
19
+ @current_path = Pathname.pwd
20
+ end
21
+
22
+ @product_name = get_product_name
16
23
  @appiconset_path = get_appiconset_path
17
24
  @bundle_identifier = get_bundle_identifier
18
25
  end
@@ -25,22 +32,24 @@ module Picon
25
32
 
26
33
  private
27
34
 
35
+ def get_product_name
36
+ xcodeproj_path = Pathname.glob(@current_path.to_s + "/**/*.xcodeproj").first
37
+ File.basename(xcodeproj_path.to_s, ".xcodeproj")
38
+ end
39
+
28
40
  def get_appiconset_path
29
- path = Pathname.glob("**/*.xcassets").first
41
+ path = Pathname.glob(@current_path.to_s + "/**/*.xcassets").first
30
42
  path = path.join("Picon.appiconset")
31
43
  path.mkdir unless path.exist?
32
44
  path
33
45
  end
34
46
 
35
47
  def get_bundle_identifier
36
- xcodeproj_path = Pathname.glob("**/*.xcodeproj").first
37
- product_name = File.basename(xcodeproj_path.to_s, ".xcodeproj")
38
-
39
- pathnames = Pathname.glob("**/*-Info.plist")
48
+ pathnames = Pathname.glob(@current_path.to_s + "/**/*-Info.plist")
40
49
  pathnames.reject! { |pathname| pathname.to_s =~ /Test/ }
41
50
  pathname = pathnames.first
42
51
  plist = Plist.parse_xml(pathname.to_s)
43
- plist["CFBundleIdentifier"].gsub!(/\${PRODUCT_NAME.*}$/) { product_name }
52
+ plist["CFBundleIdentifier"].gsub!(/\${PRODUCT_NAME.*}$/) { @product_name }
44
53
  end
45
54
 
46
55
  def generate_identicons
@@ -87,12 +96,17 @@ module Picon
87
96
  def edit_project_pbxproj
88
97
  data = ""
89
98
 
90
- pbxproj_path = Pathname.glob("**/project.pbxproj").first
99
+ pbxproj_path = Pathname.glob(@current_path.to_s + "/**/project.pbxproj").first
91
100
  pbxproj_path.open("rb") do |file|
92
101
  data = file.read
93
102
  end
94
103
 
95
- data.gsub!(/(ASSETCATALOG_COMPILER_APPICON_NAME = )AppIcon/) { "#{$1}Picon" }
104
+ xcworkspace_path = Pathname.glob(@current_path.to_s + "/**/#{@product_name}.xcworkspace").first
105
+ if xcworkspace_path && xcworkspace_path.exist?
106
+ data.gsub!(/(<key>ASSETCATALOG_COMPILER_APPICON_NAME<\/key>\n\t+<string>).+(<\/string>)/) { "#{$1}Picon#{$2}" }
107
+ else
108
+ data.gsub!(/(ASSETCATALOG_COMPILER_APPICON_NAME = )AppIcon/) { "#{$1}Picon" }
109
+ end
96
110
 
97
111
  pbxproj_path.open("wb") do |file|
98
112
  file.flush
@@ -1,3 +1,3 @@
1
1
  module Picon
2
- VERSION = "0.0.1"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -24,5 +24,4 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "bundler", "~> 1.3"
25
25
  spec.add_development_dependency "rake"
26
26
  spec.add_development_dependency "rspec"
27
- spec.add_development_dependency "pry"
28
27
  end
@@ -0,0 +1,489 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 3D9757B618325C1A00224F3E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9757B518325C1A00224F3E /* Foundation.framework */; };
11
+ 3D9757B818325C1A00224F3E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9757B718325C1A00224F3E /* CoreGraphics.framework */; };
12
+ 3D9757BA18325C1A00224F3E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9757B918325C1A00224F3E /* UIKit.framework */; };
13
+ 3D9757C018325C1A00224F3E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3D9757BE18325C1A00224F3E /* InfoPlist.strings */; };
14
+ 3D9757C218325C1A00224F3E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D9757C118325C1A00224F3E /* main.m */; };
15
+ 3D9757C618325C1A00224F3E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D9757C518325C1A00224F3E /* AppDelegate.m */; };
16
+ 3D9757C918325C1A00224F3E /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3D9757C718325C1A00224F3E /* Main_iPhone.storyboard */; };
17
+ 3D9757CC18325C1A00224F3E /* Main_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3D9757CA18325C1A00224F3E /* Main_iPad.storyboard */; };
18
+ 3D9757CF18325C1A00224F3E /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D9757CE18325C1A00224F3E /* ViewController.m */; };
19
+ 3D9757D118325C1A00224F3E /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3D9757D018325C1A00224F3E /* Images.xcassets */; };
20
+ 3D9757D818325C1A00224F3E /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9757D718325C1A00224F3E /* XCTest.framework */; };
21
+ 3D9757D918325C1A00224F3E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9757B518325C1A00224F3E /* Foundation.framework */; };
22
+ 3D9757DA18325C1A00224F3E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9757B918325C1A00224F3E /* UIKit.framework */; };
23
+ 3D9757E218325C1A00224F3E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3D9757E018325C1A00224F3E /* InfoPlist.strings */; };
24
+ 3D9757E418325C1A00224F3E /* PiconSampleProjectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D9757E318325C1A00224F3E /* PiconSampleProjectTests.m */; };
25
+ /* End PBXBuildFile section */
26
+
27
+ /* Begin PBXContainerItemProxy section */
28
+ 3D9757DB18325C1A00224F3E /* PBXContainerItemProxy */ = {
29
+ isa = PBXContainerItemProxy;
30
+ containerPortal = 3D9757AA18325C1A00224F3E /* Project object */;
31
+ proxyType = 1;
32
+ remoteGlobalIDString = 3D9757B118325C1A00224F3E;
33
+ remoteInfo = PiconSampleProject;
34
+ };
35
+ /* End PBXContainerItemProxy section */
36
+
37
+ /* Begin PBXFileReference section */
38
+ 3D9757B218325C1A00224F3E /* PiconSampleProject.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PiconSampleProject.app; sourceTree = BUILT_PRODUCTS_DIR; };
39
+ 3D9757B518325C1A00224F3E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
40
+ 3D9757B718325C1A00224F3E /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
41
+ 3D9757B918325C1A00224F3E /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
42
+ 3D9757BD18325C1A00224F3E /* PiconSampleProject-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PiconSampleProject-Info.plist"; sourceTree = "<group>"; };
43
+ 3D9757BF18325C1A00224F3E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
44
+ 3D9757C118325C1A00224F3E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
45
+ 3D9757C318325C1A00224F3E /* PiconSampleProject-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PiconSampleProject-Prefix.pch"; sourceTree = "<group>"; };
46
+ 3D9757C418325C1A00224F3E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
47
+ 3D9757C518325C1A00224F3E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
48
+ 3D9757C818325C1A00224F3E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPhone.storyboard; sourceTree = "<group>"; };
49
+ 3D9757CB18325C1A00224F3E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPad.storyboard; sourceTree = "<group>"; };
50
+ 3D9757CD18325C1A00224F3E /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
51
+ 3D9757CE18325C1A00224F3E /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
52
+ 3D9757D018325C1A00224F3E /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
53
+ 3D9757D618325C1A00224F3E /* PiconSampleProjectTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PiconSampleProjectTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
54
+ 3D9757D718325C1A00224F3E /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
55
+ 3D9757DF18325C1A00224F3E /* PiconSampleProjectTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PiconSampleProjectTests-Info.plist"; sourceTree = "<group>"; };
56
+ 3D9757E118325C1A00224F3E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
57
+ 3D9757E318325C1A00224F3E /* PiconSampleProjectTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PiconSampleProjectTests.m; sourceTree = "<group>"; };
58
+ /* End PBXFileReference section */
59
+
60
+ /* Begin PBXFrameworksBuildPhase section */
61
+ 3D9757AF18325C1A00224F3E /* Frameworks */ = {
62
+ isa = PBXFrameworksBuildPhase;
63
+ buildActionMask = 2147483647;
64
+ files = (
65
+ 3D9757B818325C1A00224F3E /* CoreGraphics.framework in Frameworks */,
66
+ 3D9757BA18325C1A00224F3E /* UIKit.framework in Frameworks */,
67
+ 3D9757B618325C1A00224F3E /* Foundation.framework in Frameworks */,
68
+ );
69
+ runOnlyForDeploymentPostprocessing = 0;
70
+ };
71
+ 3D9757D318325C1A00224F3E /* Frameworks */ = {
72
+ isa = PBXFrameworksBuildPhase;
73
+ buildActionMask = 2147483647;
74
+ files = (
75
+ 3D9757D818325C1A00224F3E /* XCTest.framework in Frameworks */,
76
+ 3D9757DA18325C1A00224F3E /* UIKit.framework in Frameworks */,
77
+ 3D9757D918325C1A00224F3E /* Foundation.framework in Frameworks */,
78
+ );
79
+ runOnlyForDeploymentPostprocessing = 0;
80
+ };
81
+ /* End PBXFrameworksBuildPhase section */
82
+
83
+ /* Begin PBXGroup section */
84
+ 3D9757A918325C1A00224F3E = {
85
+ isa = PBXGroup;
86
+ children = (
87
+ 3D9757BB18325C1A00224F3E /* PiconSampleProject */,
88
+ 3D9757DD18325C1A00224F3E /* PiconSampleProjectTests */,
89
+ 3D9757B418325C1A00224F3E /* Frameworks */,
90
+ 3D9757B318325C1A00224F3E /* Products */,
91
+ );
92
+ sourceTree = "<group>";
93
+ };
94
+ 3D9757B318325C1A00224F3E /* Products */ = {
95
+ isa = PBXGroup;
96
+ children = (
97
+ 3D9757B218325C1A00224F3E /* PiconSampleProject.app */,
98
+ 3D9757D618325C1A00224F3E /* PiconSampleProjectTests.xctest */,
99
+ );
100
+ name = Products;
101
+ sourceTree = "<group>";
102
+ };
103
+ 3D9757B418325C1A00224F3E /* Frameworks */ = {
104
+ isa = PBXGroup;
105
+ children = (
106
+ 3D9757B518325C1A00224F3E /* Foundation.framework */,
107
+ 3D9757B718325C1A00224F3E /* CoreGraphics.framework */,
108
+ 3D9757B918325C1A00224F3E /* UIKit.framework */,
109
+ 3D9757D718325C1A00224F3E /* XCTest.framework */,
110
+ );
111
+ name = Frameworks;
112
+ sourceTree = "<group>";
113
+ };
114
+ 3D9757BB18325C1A00224F3E /* PiconSampleProject */ = {
115
+ isa = PBXGroup;
116
+ children = (
117
+ 3D9757C418325C1A00224F3E /* AppDelegate.h */,
118
+ 3D9757C518325C1A00224F3E /* AppDelegate.m */,
119
+ 3D9757C718325C1A00224F3E /* Main_iPhone.storyboard */,
120
+ 3D9757CA18325C1A00224F3E /* Main_iPad.storyboard */,
121
+ 3D9757CD18325C1A00224F3E /* ViewController.h */,
122
+ 3D9757CE18325C1A00224F3E /* ViewController.m */,
123
+ 3D9757D018325C1A00224F3E /* Images.xcassets */,
124
+ 3D9757BC18325C1A00224F3E /* Supporting Files */,
125
+ );
126
+ path = PiconSampleProject;
127
+ sourceTree = "<group>";
128
+ };
129
+ 3D9757BC18325C1A00224F3E /* Supporting Files */ = {
130
+ isa = PBXGroup;
131
+ children = (
132
+ 3D9757BD18325C1A00224F3E /* PiconSampleProject-Info.plist */,
133
+ 3D9757BE18325C1A00224F3E /* InfoPlist.strings */,
134
+ 3D9757C118325C1A00224F3E /* main.m */,
135
+ 3D9757C318325C1A00224F3E /* PiconSampleProject-Prefix.pch */,
136
+ );
137
+ name = "Supporting Files";
138
+ sourceTree = "<group>";
139
+ };
140
+ 3D9757DD18325C1A00224F3E /* PiconSampleProjectTests */ = {
141
+ isa = PBXGroup;
142
+ children = (
143
+ 3D9757E318325C1A00224F3E /* PiconSampleProjectTests.m */,
144
+ 3D9757DE18325C1A00224F3E /* Supporting Files */,
145
+ );
146
+ path = PiconSampleProjectTests;
147
+ sourceTree = "<group>";
148
+ };
149
+ 3D9757DE18325C1A00224F3E /* Supporting Files */ = {
150
+ isa = PBXGroup;
151
+ children = (
152
+ 3D9757DF18325C1A00224F3E /* PiconSampleProjectTests-Info.plist */,
153
+ 3D9757E018325C1A00224F3E /* InfoPlist.strings */,
154
+ );
155
+ name = "Supporting Files";
156
+ sourceTree = "<group>";
157
+ };
158
+ /* End PBXGroup section */
159
+
160
+ /* Begin PBXNativeTarget section */
161
+ 3D9757B118325C1A00224F3E /* PiconSampleProject */ = {
162
+ isa = PBXNativeTarget;
163
+ buildConfigurationList = 3D9757E718325C1A00224F3E /* Build configuration list for PBXNativeTarget "PiconSampleProject" */;
164
+ buildPhases = (
165
+ 3D9757AE18325C1A00224F3E /* Sources */,
166
+ 3D9757AF18325C1A00224F3E /* Frameworks */,
167
+ 3D9757B018325C1A00224F3E /* Resources */,
168
+ );
169
+ buildRules = (
170
+ );
171
+ dependencies = (
172
+ );
173
+ name = PiconSampleProject;
174
+ productName = PiconSampleProject;
175
+ productReference = 3D9757B218325C1A00224F3E /* PiconSampleProject.app */;
176
+ productType = "com.apple.product-type.application";
177
+ };
178
+ 3D9757D518325C1A00224F3E /* PiconSampleProjectTests */ = {
179
+ isa = PBXNativeTarget;
180
+ buildConfigurationList = 3D9757EA18325C1A00224F3E /* Build configuration list for PBXNativeTarget "PiconSampleProjectTests" */;
181
+ buildPhases = (
182
+ 3D9757D218325C1A00224F3E /* Sources */,
183
+ 3D9757D318325C1A00224F3E /* Frameworks */,
184
+ 3D9757D418325C1A00224F3E /* Resources */,
185
+ );
186
+ buildRules = (
187
+ );
188
+ dependencies = (
189
+ 3D9757DC18325C1A00224F3E /* PBXTargetDependency */,
190
+ );
191
+ name = PiconSampleProjectTests;
192
+ productName = PiconSampleProjectTests;
193
+ productReference = 3D9757D618325C1A00224F3E /* PiconSampleProjectTests.xctest */;
194
+ productType = "com.apple.product-type.bundle.unit-test";
195
+ };
196
+ /* End PBXNativeTarget section */
197
+
198
+ /* Begin PBXProject section */
199
+ 3D9757AA18325C1A00224F3E /* Project object */ = {
200
+ isa = PBXProject;
201
+ attributes = {
202
+ LastUpgradeCheck = 0500;
203
+ ORGANIZATIONNAME = "Naoto Kaneko";
204
+ TargetAttributes = {
205
+ 3D9757D518325C1A00224F3E = {
206
+ TestTargetID = 3D9757B118325C1A00224F3E;
207
+ };
208
+ };
209
+ };
210
+ buildConfigurationList = 3D9757AD18325C1A00224F3E /* Build configuration list for PBXProject "PiconSampleProject" */;
211
+ compatibilityVersion = "Xcode 3.2";
212
+ developmentRegion = English;
213
+ hasScannedForEncodings = 0;
214
+ knownRegions = (
215
+ en,
216
+ Base,
217
+ );
218
+ mainGroup = 3D9757A918325C1A00224F3E;
219
+ productRefGroup = 3D9757B318325C1A00224F3E /* Products */;
220
+ projectDirPath = "";
221
+ projectRoot = "";
222
+ targets = (
223
+ 3D9757B118325C1A00224F3E /* PiconSampleProject */,
224
+ 3D9757D518325C1A00224F3E /* PiconSampleProjectTests */,
225
+ );
226
+ };
227
+ /* End PBXProject section */
228
+
229
+ /* Begin PBXResourcesBuildPhase section */
230
+ 3D9757B018325C1A00224F3E /* Resources */ = {
231
+ isa = PBXResourcesBuildPhase;
232
+ buildActionMask = 2147483647;
233
+ files = (
234
+ 3D9757CC18325C1A00224F3E /* Main_iPad.storyboard in Resources */,
235
+ 3D9757D118325C1A00224F3E /* Images.xcassets in Resources */,
236
+ 3D9757C918325C1A00224F3E /* Main_iPhone.storyboard in Resources */,
237
+ 3D9757C018325C1A00224F3E /* InfoPlist.strings in Resources */,
238
+ );
239
+ runOnlyForDeploymentPostprocessing = 0;
240
+ };
241
+ 3D9757D418325C1A00224F3E /* Resources */ = {
242
+ isa = PBXResourcesBuildPhase;
243
+ buildActionMask = 2147483647;
244
+ files = (
245
+ 3D9757E218325C1A00224F3E /* InfoPlist.strings in Resources */,
246
+ );
247
+ runOnlyForDeploymentPostprocessing = 0;
248
+ };
249
+ /* End PBXResourcesBuildPhase section */
250
+
251
+ /* Begin PBXSourcesBuildPhase section */
252
+ 3D9757AE18325C1A00224F3E /* Sources */ = {
253
+ isa = PBXSourcesBuildPhase;
254
+ buildActionMask = 2147483647;
255
+ files = (
256
+ 3D9757CF18325C1A00224F3E /* ViewController.m in Sources */,
257
+ 3D9757C618325C1A00224F3E /* AppDelegate.m in Sources */,
258
+ 3D9757C218325C1A00224F3E /* main.m in Sources */,
259
+ );
260
+ runOnlyForDeploymentPostprocessing = 0;
261
+ };
262
+ 3D9757D218325C1A00224F3E /* Sources */ = {
263
+ isa = PBXSourcesBuildPhase;
264
+ buildActionMask = 2147483647;
265
+ files = (
266
+ 3D9757E418325C1A00224F3E /* PiconSampleProjectTests.m in Sources */,
267
+ );
268
+ runOnlyForDeploymentPostprocessing = 0;
269
+ };
270
+ /* End PBXSourcesBuildPhase section */
271
+
272
+ /* Begin PBXTargetDependency section */
273
+ 3D9757DC18325C1A00224F3E /* PBXTargetDependency */ = {
274
+ isa = PBXTargetDependency;
275
+ target = 3D9757B118325C1A00224F3E /* PiconSampleProject */;
276
+ targetProxy = 3D9757DB18325C1A00224F3E /* PBXContainerItemProxy */;
277
+ };
278
+ /* End PBXTargetDependency section */
279
+
280
+ /* Begin PBXVariantGroup section */
281
+ 3D9757BE18325C1A00224F3E /* InfoPlist.strings */ = {
282
+ isa = PBXVariantGroup;
283
+ children = (
284
+ 3D9757BF18325C1A00224F3E /* en */,
285
+ );
286
+ name = InfoPlist.strings;
287
+ sourceTree = "<group>";
288
+ };
289
+ 3D9757C718325C1A00224F3E /* Main_iPhone.storyboard */ = {
290
+ isa = PBXVariantGroup;
291
+ children = (
292
+ 3D9757C818325C1A00224F3E /* Base */,
293
+ );
294
+ name = Main_iPhone.storyboard;
295
+ sourceTree = "<group>";
296
+ };
297
+ 3D9757CA18325C1A00224F3E /* Main_iPad.storyboard */ = {
298
+ isa = PBXVariantGroup;
299
+ children = (
300
+ 3D9757CB18325C1A00224F3E /* Base */,
301
+ );
302
+ name = Main_iPad.storyboard;
303
+ sourceTree = "<group>";
304
+ };
305
+ 3D9757E018325C1A00224F3E /* InfoPlist.strings */ = {
306
+ isa = PBXVariantGroup;
307
+ children = (
308
+ 3D9757E118325C1A00224F3E /* en */,
309
+ );
310
+ name = InfoPlist.strings;
311
+ sourceTree = "<group>";
312
+ };
313
+ /* End PBXVariantGroup section */
314
+
315
+ /* Begin XCBuildConfiguration section */
316
+ 3D9757E518325C1A00224F3E /* Debug */ = {
317
+ isa = XCBuildConfiguration;
318
+ buildSettings = {
319
+ ALWAYS_SEARCH_USER_PATHS = NO;
320
+ ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
321
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
322
+ CLANG_CXX_LIBRARY = "libc++";
323
+ CLANG_ENABLE_MODULES = YES;
324
+ CLANG_ENABLE_OBJC_ARC = YES;
325
+ CLANG_WARN_BOOL_CONVERSION = YES;
326
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
327
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
328
+ CLANG_WARN_EMPTY_BODY = YES;
329
+ CLANG_WARN_ENUM_CONVERSION = YES;
330
+ CLANG_WARN_INT_CONVERSION = YES;
331
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
332
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
333
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
334
+ COPY_PHASE_STRIP = NO;
335
+ GCC_C_LANGUAGE_STANDARD = gnu99;
336
+ GCC_DYNAMIC_NO_PIC = NO;
337
+ GCC_OPTIMIZATION_LEVEL = 0;
338
+ GCC_PREPROCESSOR_DEFINITIONS = (
339
+ "DEBUG=1",
340
+ "$(inherited)",
341
+ );
342
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
343
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
344
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
345
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
346
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
347
+ GCC_WARN_UNUSED_FUNCTION = YES;
348
+ GCC_WARN_UNUSED_VARIABLE = YES;
349
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
350
+ ONLY_ACTIVE_ARCH = YES;
351
+ SDKROOT = iphoneos;
352
+ TARGETED_DEVICE_FAMILY = "1,2";
353
+ };
354
+ name = Debug;
355
+ };
356
+ 3D9757E618325C1A00224F3E /* Release */ = {
357
+ isa = XCBuildConfiguration;
358
+ buildSettings = {
359
+ ALWAYS_SEARCH_USER_PATHS = NO;
360
+ ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
361
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
362
+ CLANG_CXX_LIBRARY = "libc++";
363
+ CLANG_ENABLE_MODULES = YES;
364
+ CLANG_ENABLE_OBJC_ARC = YES;
365
+ CLANG_WARN_BOOL_CONVERSION = YES;
366
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
367
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
368
+ CLANG_WARN_EMPTY_BODY = YES;
369
+ CLANG_WARN_ENUM_CONVERSION = YES;
370
+ CLANG_WARN_INT_CONVERSION = YES;
371
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
372
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
373
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
374
+ COPY_PHASE_STRIP = YES;
375
+ ENABLE_NS_ASSERTIONS = NO;
376
+ GCC_C_LANGUAGE_STANDARD = gnu99;
377
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
378
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
379
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
380
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
381
+ GCC_WARN_UNUSED_FUNCTION = YES;
382
+ GCC_WARN_UNUSED_VARIABLE = YES;
383
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
384
+ SDKROOT = iphoneos;
385
+ TARGETED_DEVICE_FAMILY = "1,2";
386
+ VALIDATE_PRODUCT = YES;
387
+ };
388
+ name = Release;
389
+ };
390
+ 3D9757E818325C1A00224F3E /* Debug */ = {
391
+ isa = XCBuildConfiguration;
392
+ buildSettings = {
393
+ ASSETCATALOG_COMPILER_APPICON_NAME = Picon;
394
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
395
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
396
+ GCC_PREFIX_HEADER = "PiconSampleProject/PiconSampleProject-Prefix.pch";
397
+ INFOPLIST_FILE = "PiconSampleProject/PiconSampleProject-Info.plist";
398
+ PRODUCT_NAME = "$(TARGET_NAME)";
399
+ WRAPPER_EXTENSION = app;
400
+ };
401
+ name = Debug;
402
+ };
403
+ 3D9757E918325C1A00224F3E /* Release */ = {
404
+ isa = XCBuildConfiguration;
405
+ buildSettings = {
406
+ ASSETCATALOG_COMPILER_APPICON_NAME = Picon;
407
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
408
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
409
+ GCC_PREFIX_HEADER = "PiconSampleProject/PiconSampleProject-Prefix.pch";
410
+ INFOPLIST_FILE = "PiconSampleProject/PiconSampleProject-Info.plist";
411
+ PRODUCT_NAME = "$(TARGET_NAME)";
412
+ WRAPPER_EXTENSION = app;
413
+ };
414
+ name = Release;
415
+ };
416
+ 3D9757EB18325C1A00224F3E /* Debug */ = {
417
+ isa = XCBuildConfiguration;
418
+ buildSettings = {
419
+ ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
420
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/PiconSampleProject.app/PiconSampleProject";
421
+ FRAMEWORK_SEARCH_PATHS = (
422
+ "$(SDKROOT)/Developer/Library/Frameworks",
423
+ "$(inherited)",
424
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
425
+ );
426
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
427
+ GCC_PREFIX_HEADER = "PiconSampleProject/PiconSampleProject-Prefix.pch";
428
+ GCC_PREPROCESSOR_DEFINITIONS = (
429
+ "DEBUG=1",
430
+ "$(inherited)",
431
+ );
432
+ INFOPLIST_FILE = "PiconSampleProjectTests/PiconSampleProjectTests-Info.plist";
433
+ PRODUCT_NAME = "$(TARGET_NAME)";
434
+ TEST_HOST = "$(BUNDLE_LOADER)";
435
+ WRAPPER_EXTENSION = xctest;
436
+ };
437
+ name = Debug;
438
+ };
439
+ 3D9757EC18325C1A00224F3E /* Release */ = {
440
+ isa = XCBuildConfiguration;
441
+ buildSettings = {
442
+ ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
443
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/PiconSampleProject.app/PiconSampleProject";
444
+ FRAMEWORK_SEARCH_PATHS = (
445
+ "$(SDKROOT)/Developer/Library/Frameworks",
446
+ "$(inherited)",
447
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
448
+ );
449
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
450
+ GCC_PREFIX_HEADER = "PiconSampleProject/PiconSampleProject-Prefix.pch";
451
+ INFOPLIST_FILE = "PiconSampleProjectTests/PiconSampleProjectTests-Info.plist";
452
+ PRODUCT_NAME = "$(TARGET_NAME)";
453
+ TEST_HOST = "$(BUNDLE_LOADER)";
454
+ WRAPPER_EXTENSION = xctest;
455
+ };
456
+ name = Release;
457
+ };
458
+ /* End XCBuildConfiguration section */
459
+
460
+ /* Begin XCConfigurationList section */
461
+ 3D9757AD18325C1A00224F3E /* Build configuration list for PBXProject "PiconSampleProject" */ = {
462
+ isa = XCConfigurationList;
463
+ buildConfigurations = (
464
+ 3D9757E518325C1A00224F3E /* Debug */,
465
+ 3D9757E618325C1A00224F3E /* Release */,
466
+ );
467
+ defaultConfigurationIsVisible = 0;
468
+ defaultConfigurationName = Release;
469
+ };
470
+ 3D9757E718325C1A00224F3E /* Build configuration list for PBXNativeTarget "PiconSampleProject" */ = {
471
+ isa = XCConfigurationList;
472
+ buildConfigurations = (
473
+ 3D9757E818325C1A00224F3E /* Debug */,
474
+ 3D9757E918325C1A00224F3E /* Release */,
475
+ );
476
+ defaultConfigurationIsVisible = 0;
477
+ };
478
+ 3D9757EA18325C1A00224F3E /* Build configuration list for PBXNativeTarget "PiconSampleProjectTests" */ = {
479
+ isa = XCConfigurationList;
480
+ buildConfigurations = (
481
+ 3D9757EB18325C1A00224F3E /* Debug */,
482
+ 3D9757EC18325C1A00224F3E /* Release */,
483
+ );
484
+ defaultConfigurationIsVisible = 0;
485
+ };
486
+ /* End XCConfigurationList section */
487
+ };
488
+ rootObject = 3D9757AA18325C1A00224F3E /* Project object */;
489
+ }