Commit 7e075c46 authored by Eloy Duran's avatar Eloy Duran

Merge branch 'master' into mercurial-downloader

parents e08be2fe c66ce499
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
url = https://github.com/samsoffes/sstoolkit.git url = https://github.com/samsoffes/sstoolkit.git
[submodule "external/Xcodeproj"] [submodule "external/Xcodeproj"]
path = external/Xcodeproj path = external/Xcodeproj
url = git@github.com:CocoaPods/Xcodeproj.git url = https://github.com/CocoaPods/Xcodeproj.git
[submodule "spec/fixtures/spec-repos/master"] [submodule "spec/fixtures/spec-repos/master"]
path = spec/fixtures/spec-repos/master path = spec/fixtures/spec-repos/master
url = git@github.com:CocoaPods/Specs.git url = https://github.com/CocoaPods/Specs.git
...@@ -66,6 +66,8 @@ namespace :spec do ...@@ -66,6 +66,8 @@ namespace :spec do
sh "macbacon -a" sh "macbacon -a"
end end
task :ci => [:all, 'examples:build']
desc "Rebuild all the fixture tarballs" desc "Rebuild all the fixture tarballs"
task :rebuild_fixture_tarballs do task :rebuild_fixture_tarballs do
tarballs = FileList['spec/fixtures/**/*.tar.gz'] tarballs = FileList['spec/fixtures/**/*.tar.gz']
......
...@@ -4,7 +4,7 @@ require File.expand_path('../lib/cocoapods', __FILE__) ...@@ -4,7 +4,7 @@ require File.expand_path('../lib/cocoapods', __FILE__)
Gem::Specification.new do |s| Gem::Specification.new do |s|
s.name = "cocoapods" s.name = "cocoapods"
s.version = Pod::VERSION s.version = Pod::VERSION
s.date = "2011-11-13" s.date = "2011-11-17"
s.license = "MIT" s.license = "MIT"
s.email = "eloy.de.enige@gmail.com" s.email = "eloy.de.enige@gmail.com"
s.homepage = "https://github.com/CocoaPods/CocoaPods" s.homepage = "https://github.com/CocoaPods/CocoaPods"
......
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8CEEB69142CEC6E00247B03"
BuildableName = "AFNetworking Mac Example.app"
BlueprintName = "AFNetworking Mac Example"
ReferencedContainer = "container:AFNetworking Mac Example.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8CEEB69142CEC6E00247B03"
BuildableName = "AFNetworking Mac Example.app"
BlueprintName = "AFNetworking Mac Example"
ReferencedContainer = "container:AFNetworking Mac Example.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8CEEB69142CEC6E00247B03"
BuildableName = "AFNetworking Mac Example.app"
BlueprintName = "AFNetworking Mac Example"
ReferencedContainer = "container:AFNetworking Mac Example.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8CEEB69142CEC6E00247B03"
BuildableName = "AFNetworking Mac Example.app"
BlueprintName = "AFNetworking Mac Example"
ReferencedContainer = "container:AFNetworking Mac Example.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8E4695F1395739C00DB05C8"
BuildableName = "AFNetworking iOS Example.app"
BlueprintName = "AFNetworking iOS Example"
ReferencedContainer = "container:AFNetworking iOS Example.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8E4695F1395739C00DB05C8"
BuildableName = "AFNetworking iOS Example.app"
BlueprintName = "AFNetworking iOS Example"
ReferencedContainer = "container:AFNetworking iOS Example.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8E4695F1395739C00DB05C8"
BuildableName = "AFNetworking iOS Example.app"
BlueprintName = "AFNetworking iOS Example"
ReferencedContainer = "container:AFNetworking iOS Example.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8E4695F1395739C00DB05C8"
BuildableName = "AFNetworking iOS Example.app"
BlueprintName = "AFNetworking iOS Example"
ReferencedContainer = "container:AFNetworking iOS Example.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "MGSplitView.app"
BlueprintName = "MGSplitView"
ReferencedContainer = "container:MGSplitView.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "MGSplitView.app"
BlueprintName = "MGSplitView"
ReferencedContainer = "container:MGSplitView.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "MGSplitView.app"
BlueprintName = "MGSplitView"
ReferencedContainer = "container:MGSplitView.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "MGSplitView.app"
BlueprintName = "MGSplitView"
ReferencedContainer = "container:MGSplitView.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51657567144AFA12002A4EFA"
BuildableName = "MacRubySample.app"
BlueprintName = "MacRubySample"
ReferencedContainer = "container:MacRubySample.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51657567144AFA12002A4EFA"
BuildableName = "MacRubySample.app"
BlueprintName = "MacRubySample"
ReferencedContainer = "container:MacRubySample.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51657567144AFA12002A4EFA"
BuildableName = "MacRubySample.app"
BlueprintName = "MacRubySample"
ReferencedContainer = "container:MacRubySample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51657567144AFA12002A4EFA"
BuildableName = "MacRubySample.app"
BlueprintName = "MacRubySample"
ReferencedContainer = "container:MacRubySample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "RKTwitter.app"
BlueprintName = "RKTwitter"
ReferencedContainer = "container:RKTwitter.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "RKTwitter.app"
BlueprintName = "RKTwitter"
ReferencedContainer = "container:RKTwitter.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "RKTwitter.app"
BlueprintName = "RKTwitter"
ReferencedContainer = "container:RKTwitter.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "RKTwitter.app"
BlueprintName = "RKTwitter"
ReferencedContainer = "container:RKTwitter.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "SSCatalog.app"
BlueprintName = "SSCatalog"
ReferencedContainer = "container:SSCatalog.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "SSCatalog.app"
BlueprintName = "SSCatalog"
ReferencedContainer = "container:SSCatalog.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "SSCatalog.app"
BlueprintName = "SSCatalog"
ReferencedContainer = "container:SSCatalog.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "SSCatalog.app"
BlueprintName = "SSCatalog"
ReferencedContainer = "container:SSCatalog.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
platform :ios
target :test, :exclusive => true do
dependency 'JSONKit'
end
PODS:
- JSONKit (1.4)
DEPENDENCIES:
- JSONKit
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51887BB5147465E00005EA71"
BuildableName = "TargetTest.app"
BlueprintName = "TargetTest"
ReferencedContainer = "container:TargetTest.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51887BB5147465E00005EA71"
BuildableName = "TargetTest.app"
BlueprintName = "TargetTest"
ReferencedContainer = "container:TargetTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51887BB5147465E00005EA71"
BuildableName = "TargetTest.app"
BlueprintName = "TargetTest"
ReferencedContainer = "container:TargetTest.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51887BB5147465E00005EA71"
BuildableName = "TargetTest.app"
BlueprintName = "TargetTest"
ReferencedContainer = "container:TargetTest.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Workspace version="1.0"><FileRef location="group:TargetTest.xcodeproj"></FileRef><FileRef location="group:Pods/Pods.xcodeproj"></FileRef></Workspace>
\ No newline at end of file
//
// AppDelegate.h
// TargetTest
//
// Created by Eloy Duran on 16-11-11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
//
// AppDelegate.m
// TargetTest
//
// Created by Eloy Duran on 16-11-11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import "AppDelegate.h"
#import "JSONKit.h"
@implementation AppDelegate
@synthesize window = _window;
- (void)dealloc
{
[_window release];
[super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
[JSONDecoder class];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
/*
Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
*/
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
/*
Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
*/
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
/*
Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
*/
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
/*
Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
*/
}
- (void)applicationWillTerminate:(UIApplication *)application
{
/*
Called when the application is about to terminate.
Save data if appropriate.
See also applicationDidEnterBackground:.
*/
}
@end
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFiles</key>
<array/>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
//
// Prefix header for all source files of the 'TargetTest' target in the 'TargetTest' project
//
#import <Availability.h>
#ifndef __IPHONE_3_0
#warning "This project uses features only available in iOS SDK 3.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
/* Localized versions of Info.plist keys */
//
// main.m
// TargetTest
//
// Created by Eloy Duran on 16-11-11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
module Pod module Pod
VERSION = '0.3.2' VERSION = '0.3.4'
class Informative < StandardError class Informative < StandardError
end end
...@@ -20,6 +20,11 @@ module Pod ...@@ -20,6 +20,11 @@ module Pod
autoload :Pathname, 'pathname' autoload :Pathname, 'pathname'
autoload :FileList, 'cocoapods/file_list' autoload :FileList, 'cocoapods/file_list'
module Generator
autoload :BridgeSupport, 'cocoapods/generator/bridge_support'
autoload :CopyResourcesScript, 'cocoapods/generator/copy_resources_script'
end
end end
module Xcodeproj module Xcodeproj
......
module Pod
class BridgeSupportGenerator
include Config::Mixin
extend Executable
executable :gen_bridge_metadata
attr_reader :headers
def initialize(headers)
@headers = headers
end
def search_paths
@headers.map { |header| "-I '#{header.dirname}'" }.uniq
end
def save_as(pathname)
puts "==> Generating BridgeSupport metadata file at `#{pathname}'" unless config.silent?
gen_bridge_metadata %{-c "#{search_paths.join(' ')}" -o '#{pathname}' '#{headers.join("' '")}'}
end
end
end
module Pod
module Generator
class BridgeSupport
include Config::Mixin
extend Executable
executable :gen_bridge_metadata
attr_reader :headers
def initialize(headers)
@headers = headers
end
def search_paths
@headers.map { |header| "-I '#{header.dirname}'" }.uniq
end
def save_as(pathname)
puts "==> Generating BridgeSupport metadata file at `#{pathname}'" unless config.silent?
gen_bridge_metadata %{-c "#{search_paths.join(' ')}" -o '#{pathname}' '#{headers.join("' '")}'}
end
end
end
end
module Pod
module Generator
class CopyResourcesScript
CONTENT = <<EOS
#!/bin/sh
install_resource()
{
echo "cp -R ${SRCROOT}/Pods/$1 ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
cp -R ${SRCROOT}/Pods/$1 ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}
}
EOS
attr_reader :resources
# A list of files relative to the project pods root.
def initialize(resources)
@resources = resources
end
def save_as(pathname)
pathname.open('w') do |script|
script.puts CONTENT
@resources.each do |resource|
script.puts "install_resource '#{resource}'"
end
end
# TODO use File api
system("chmod +x '#{pathname}'")
end
end
end
end
require 'yaml'
module Pod module Pod
class Installer class Installer
module Shared module Shared
...@@ -16,41 +14,11 @@ module Pod ...@@ -16,41 +14,11 @@ module Pod
end end
end end
class CopyResourcesScript
CONTENT = <<EOS
#!/bin/sh
install_resource()
{
echo "cp -R ${SRCROOT}/Pods/$1 ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
cp -R ${SRCROOT}/Pods/$1 ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}
}
EOS
attr_reader :resources
# A list of files relative to the project pods root.
def initialize(resources)
@resources = resources
end
def save_as(pathname)
pathname.open('w') do |script|
script.puts CONTENT
@resources.each do |resource|
script.puts "install_resource '#{resource}'"
end
end
# TODO use File api
system("chmod +x '#{pathname}'")
end
end
class TargetInstaller class TargetInstaller
include Config::Mixin include Config::Mixin
include Shared include Shared
attr_reader :target attr_reader :podfile, :project, :definition, :target
def initialize(podfile, project, definition) def initialize(podfile, project, definition)
@podfile, @project, @definition = podfile, project, definition @podfile, @project, @definition = podfile, project, definition
...@@ -72,7 +40,7 @@ EOS ...@@ -72,7 +40,7 @@ EOS
end end
def copy_resources_script def copy_resources_script
@copy_resources_script ||= CopyResourcesScript.new(build_specifications.map do |spec| @copy_resources_script ||= Generator::CopyResourcesScript.new(build_specifications.map do |spec|
spec.expanded_resources spec.expanded_resources
end.flatten) end.flatten)
end end
...@@ -82,7 +50,7 @@ EOS ...@@ -82,7 +50,7 @@ EOS
end end
def bridge_support_generator def bridge_support_generator
BridgeSupportGenerator.new(build_specifications.map do |spec| Generator::BridgeSupport.new(build_specifications.map do |spec|
spec.header_files.map do |header| spec.header_files.map do |header|
config.project_pods_root + header config.project_pods_root + header
end end
...@@ -93,7 +61,7 @@ EOS ...@@ -93,7 +61,7 @@ EOS
"#{@definition.lib_name}.bridgesupport" "#{@definition.lib_name}.bridgesupport"
end end
# TODO move out # TODO move out to Generator::PrefixHeader
def save_prefix_header_as(pathname) def save_prefix_header_as(pathname)
pathname.open('w') do |header| pathname.open('w') do |header|
header.puts "#ifdef __OBJC__" header.puts "#ifdef __OBJC__"
...@@ -131,6 +99,12 @@ EOS ...@@ -131,6 +99,12 @@ EOS
end end
xcconfig.merge!('USER_HEADER_SEARCH_PATHS' => user_header_search_paths.sort.uniq.join(" ")) xcconfig.merge!('USER_HEADER_SEARCH_PATHS' => user_header_search_paths.sort.uniq.join(" "))
# Now that we have added all the source files and copy header phases,
# move the compile build phase to the end, so that headers are copied
# to the build products dir first, and thus Pod source files can enjoy
# the same namespacing of headers as the app would.
@target.move_compile_phase_to_end!
# Add all the target related support files to the group, even the copy # Add all the target related support files to the group, even the copy
# resources script although the project doesn't actually use them. # resources script although the project doesn't actually use them.
support_files_group = @project.groups.find do |group| support_files_group = @project.groups.find do |group|
...@@ -189,8 +163,8 @@ EOS ...@@ -189,8 +163,8 @@ EOS
def target_installers def target_installers
@target_installers ||= @podfile.target_definitions.values.map do |definition| @target_installers ||= @podfile.target_definitions.values.map do |definition|
TargetInstaller.new(@podfile, project, definition) TargetInstaller.new(@podfile, project, definition) unless definition.empty?
end end.compact
end end
def install! def install!
...@@ -261,6 +235,7 @@ EOS ...@@ -261,6 +235,7 @@ EOS
# 3. Let the user specify the app target name as an extra argument, but this # 3. Let the user specify the app target name as an extra argument, but this
# seems to be a less good version of the variation on #2. # seems to be a less good version of the variation on #2.
def configure_project(projpath) def configure_project(projpath)
# TODO use more of Pathname’s API here
root = File.dirname(projpath) root = File.dirname(projpath)
xcworkspace = File.join(root, File.basename(projpath, '.xcodeproj') + '.xcworkspace') xcworkspace = File.join(root, File.basename(projpath, '.xcodeproj') + '.xcworkspace')
workspace = Xcodeproj::Workspace.new_from_xcworkspace(xcworkspace) workspace = Xcodeproj::Workspace.new_from_xcworkspace(xcworkspace)
...@@ -293,6 +268,10 @@ EOS ...@@ -293,6 +268,10 @@ EOS
app_project.targets.each { |target| target.buildPhases << copy_resources } app_project.targets.each { |target| target.buildPhases << copy_resources }
app_project.save_as(projpath) app_project.save_as(projpath)
unless config.silent?
puts "[!] From now on use `#{File.basename(xcworkspace)}' instead of `#{File.basename(projpath)}'."
end
end end
end end
end end
...@@ -8,7 +8,13 @@ module Pod ...@@ -8,7 +8,13 @@ module Pod
end end
def lib_name def lib_name
name == :default ? "Pods" : "Pods-#{name}" if name == :default
"Pods"
elsif @parent
"#{@parent.lib_name}-#{name}"
else
"Pods-#{name}"
end
end end
# Returns *all* dependencies of this target, not only the target specific # Returns *all* dependencies of this target, not only the target specific
...@@ -16,6 +22,10 @@ module Pod ...@@ -16,6 +22,10 @@ module Pod
def dependencies def dependencies
@target_dependencies + (@parent ? @parent.dependencies : []) @target_dependencies + (@parent ? @parent.dependencies : [])
end end
def empty?
target_dependencies.empty?
end
end end
def self.from_file(path) def self.from_file(path)
......
...@@ -92,6 +92,10 @@ module Pod ...@@ -92,6 +92,10 @@ module Pod
@specification.name @specification.name
end end
def ==(other)
self.class === other && name == other.name
end
def required_by(specification) def required_by(specification)
before = @specification before = @specification
super(specification) super(specification)
......
...@@ -12,10 +12,23 @@ module Xcodeproj ...@@ -12,10 +12,23 @@ module Xcodeproj
pods.groups.new('name' => name) pods.groups.new('name' => name)
end end
class PBXNativeTarget
def move_compile_phase_to_end!
reflection = self.class.reflection(:buildPhases)
uuids = send(reflection.uuids_getter)
phase = buildPhases.find { |phase| phase.is_a?(PBXSourcesBuildPhase) }
uuids.delete(phase.uuid)
uuids << phase.uuid
phase = buildPhases.find { |phase| phase.is_a?(PBXFrameworksBuildPhase) }
uuids.delete(phase.uuid)
uuids << phase.uuid
end
end
class PBXCopyFilesBuildPhase class PBXCopyFilesBuildPhase
def self.new_pod_dir(project, pod_name, path) def self.new_pod_dir(project, pod_name, path)
new(project, nil, { new(project, nil, {
"dstPath" => "$(PRODUCT_NAME)/#{path}", "dstPath" => "Pods/#{path}",
"name" => "Copy #{pod_name} Public Headers", "name" => "Copy #{pod_name} Public Headers",
}) })
end end
......
Subproject commit 56c5f468351fe0e195ee95a78160f4c18eaec40b Subproject commit a0a6f17c205e76074384af2dbcc18796eff40ce0
...@@ -28,6 +28,7 @@ describe "Pod::Command" do ...@@ -28,6 +28,7 @@ describe "Pod::Command" do
it "updates a spec-repo" do it "updates a spec-repo" do
repo1 = add_repo('repo1', fixture('spec-repos/master')) repo1 = add_repo('repo1', fixture('spec-repos/master'))
git('repo1', 'checkout master') # checkout master, because the fixture is a submodule
repo2 = add_repo('repo2', repo1.dir) repo2 = add_repo('repo2', repo1.dir)
make_change(repo1, 'repo1') make_change(repo1, 'repo1')
command('repo', 'update', 'repo2') command('repo', 'update', 'repo2')
...@@ -36,6 +37,7 @@ describe "Pod::Command" do ...@@ -36,6 +37,7 @@ describe "Pod::Command" do
it "updates all the spec-repos" do it "updates all the spec-repos" do
repo1 = add_repo('repo1', fixture('spec-repos/master')) repo1 = add_repo('repo1', fixture('spec-repos/master'))
git('repo1', 'checkout master') # checkout master, because the fixture is a submodule
repo2 = add_repo('repo2', repo1.dir) repo2 = add_repo('repo2', repo1.dir)
repo3 = add_repo('repo3', repo1.dir) repo3 = add_repo('repo3', repo1.dir)
make_change(repo1, 'repo1') make_change(repo1, 'repo1')
......
require File.expand_path('../spec_helper', __FILE__) require File.expand_path('../spec_helper', __FILE__)
require 'yaml'
module SpecHelper module SpecHelper
class Installer < Pod::Installer class Installer < Pod::Installer
...@@ -98,17 +99,23 @@ else ...@@ -98,17 +99,23 @@ else
dependency do |s| dependency do |s|
s.name = 'JSONKit' s.name = 'JSONKit'
s.version = '1.2' s.version = '1.2'
s.source = { :git => 'https://github.com/johnezang/JSONKit.git', :tag => 'v1.2' } s.source = { :git => SpecHelper.fixture('integration/JSONKit').to_s, :tag => 'v1.2' }
s.source_files = 'JSONKit.*' s.source_files = 'JSONKit.*'
end end
dependency do |s|
s.name = 'SSZipArchive'
s.version = '0.1.0'
s.source = { :git => SpecHelper.fixture('integration/SSZipArchive').to_s, :tag => '0.1.0' }
s.source_files = 'SSZipArchive.*', 'minizip/*.{h,c}'
end
end end
installer = SpecHelper::Installer.new(podfile) installer = SpecHelper::Installer.new(podfile)
installer.install! installer.install!
YAML.load(installer.lock_file.read).should == { YAML.load(installer.lock_file.read).should == {
'PODS' => ['JSONKit (1.2)'], 'PODS' => ['JSONKit (1.2)', 'SSZipArchive (0.1.0)'],
'DEPENDENCIES' => ["JSONKit (defined in Podfile)"] 'DEPENDENCIES' => ["JSONKit (defined in Podfile)", "SSZipArchive (defined in Podfile)"]
} }
change_log = (config.project_pods_root + 'JSONKit/CHANGELOG.md').read change_log = (config.project_pods_root + 'JSONKit/CHANGELOG.md').read
...@@ -125,6 +132,8 @@ else ...@@ -125,6 +132,8 @@ else
podfile = Pod::Podfile.new do podfile = Pod::Podfile.new do
config.rootspec = self config.rootspec = self
self.platform platform self.platform platform
dependency 'SSZipArchive'
post_install do |installer| post_install do |installer|
target = installer.project.targets.first target = installer.project.targets.first
target.buildConfigurations.each do |config| target.buildConfigurations.each do |config|
......
...@@ -11,7 +11,6 @@ require 'cocoapods' ...@@ -11,7 +11,6 @@ require 'cocoapods'
$:.unshift((ROOT + 'spec').to_s) $:.unshift((ROOT + 'spec').to_s)
require 'spec_helper/fixture' require 'spec_helper/fixture'
require 'spec_helper/git' require 'spec_helper/git'
require 'spec_helper/log'
require 'spec_helper/temporary_directory' require 'spec_helper/temporary_directory'
context_class = defined?(BaconContext) ? BaconContext : Bacon::Context context_class = defined?(BaconContext) ? BaconContext : Bacon::Context
......
module SpecHelper
module Log
def log!
puts
logger = Object.new
def logger.debug(msg); puts msg; end
Executioner.logger = logger
end
def self.extended(context)
context.after do
Executioner.logger = nil
end
end
end
end
require File.expand_path('../../spec_helper', __FILE__) require File.expand_path('../../../spec_helper', __FILE__)
describe "Pod::BridgeSupportGenerator" do describe "Pod::Generator::BridgeSupport" do
it "generates a metadata file with the appropriate search paths" do it "generates a metadata file with the appropriate search paths" do
headers = %w{ /some/dir/foo.h /some/dir/bar.h /some/other/dir/baz.h }.map { |h| Pathname.new(h) } headers = %w{ /some/dir/foo.h /some/dir/bar.h /some/other/dir/baz.h }.map { |h| Pathname.new(h) }
generator = Pod::BridgeSupportGenerator.new(headers) generator = Pod::Generator::BridgeSupport.new(headers)
def generator.gen_bridge_metadata(command) def generator.gen_bridge_metadata(command)
@command = command @command = command
end end
......
...@@ -3,7 +3,10 @@ require File.expand_path('../../spec_helper', __FILE__) ...@@ -3,7 +3,10 @@ require File.expand_path('../../spec_helper', __FILE__)
describe "Pod::Installer" do describe "Pod::Installer" do
describe ", by default," do describe ", by default," do
before do before do
@xcconfig = Pod::Installer.new(Pod::Podfile.new { platform :ios }).target_installers.first.xcconfig.to_hash @xcconfig = Pod::Installer.new(Pod::Podfile.new do
platform :ios
dependency 'JSONKit'
end).target_installers.first.xcconfig.to_hash
end end
it "sets the header search paths where installed Pod headers can be found" do it "sets the header search paths where installed Pod headers can be found" do
...@@ -17,8 +20,6 @@ describe "Pod::Installer" do ...@@ -17,8 +20,6 @@ describe "Pod::Installer" do
end end
before do before do
fixture('spec-repos/master') # ensure the archive is unpacked
@config_before = config @config_before = config
Pod::Config.instance = nil Pod::Config.instance = nil
config.silent = true config.silent = true
...@@ -46,4 +47,26 @@ describe "Pod::Installer" do ...@@ -46,4 +47,26 @@ describe "Pod::Installer" do
end end
installer.target_installers.first.bridge_support_generator.headers.should == expected installer.target_installers.first.bridge_support_generator.headers.should == expected
end end
it "omits empty target definitions" do
podfile = Pod::Podfile.new do
platform :ios
target :not_empty do
dependency 'JSONKit'
end
end
installer = Pod::Installer.new(podfile)
installer.target_installers.map(&:definition).map(&:name).should == [:not_empty]
end
it "moves the compile and link phases to the end of the build phases list, so Pod headers are copied first and sources can use the same header dir structure" do
podfile = Pod::Podfile.new do
platform :osx
dependency 'ASIHTTPRequest'
end
installer = Pod::Installer.new(podfile)
installer.target_installers.first.install!
phases = installer.project.targets.first.buildPhases
phases.to_a.last(2).map(&:class).should == [Xcodeproj::Project::PBXSourcesBuildPhase, Xcodeproj::Project::PBXFrameworksBuildPhase]
end
end end
...@@ -60,6 +60,14 @@ describe "Pod::Podfile" do ...@@ -60,6 +60,14 @@ describe "Pod::Podfile" do
end end
describe "concerning targets (dependency groups)" do describe "concerning targets (dependency groups)" do
it "returns wether or not a target has any dependencies" do
Pod::Podfile.new do
end.target_definitions[:default].should.be.empty
Pod::Podfile.new do
dependency 'JSONKit'
end.target_definitions[:default].should.not.be.empty
end
before do before do
@podfile = Pod::Podfile.new do @podfile = Pod::Podfile.new do
target :debug do target :debug do
...@@ -68,6 +76,9 @@ describe "Pod::Podfile" do ...@@ -68,6 +76,9 @@ describe "Pod::Podfile" do
target :test, :exclusive => true do target :test, :exclusive => true do
dependency 'JSONKit' dependency 'JSONKit'
target :subtarget do
dependency 'Reachability'
end
end end
dependency 'ASIHTTPRequest' dependency 'ASIHTTPRequest'
...@@ -75,7 +86,7 @@ describe "Pod::Podfile" do ...@@ -75,7 +86,7 @@ describe "Pod::Podfile" do
end end
it "returns all dependencies of all targets combined, which is used during resolving to enusre compatible dependencies" do it "returns all dependencies of all targets combined, which is used during resolving to enusre compatible dependencies" do
@podfile.dependencies.map(&:name).sort.should == %w{ ASIHTTPRequest JSONKit SSZipArchive } @podfile.dependencies.map(&:name).sort.should == %w{ ASIHTTPRequest JSONKit Reachability SSZipArchive }
end end
it "adds dependencies outside of any explicit target block to the default target" do it "adds dependencies outside of any explicit target block to the default target" do
...@@ -98,6 +109,12 @@ describe "Pod::Podfile" do ...@@ -98,6 +109,12 @@ describe "Pod::Podfile" do
target.lib_name.should == 'Pods-test' target.lib_name.should == 'Pods-test'
target.dependencies.should == [Pod::Dependency.new('JSONKit')] target.dependencies.should == [Pod::Dependency.new('JSONKit')]
end end
it "adds dependencies of the outer target to nested targets" do
target = @podfile.target_definitions[:subtarget]
target.lib_name.should == 'Pods-test-subtarget'
target.dependencies.should == [Pod::Dependency.new('Reachability'), Pod::Dependency.new('JSONKit')]
end
end end
describe "concerning validations" do describe "concerning validations" do
......
...@@ -27,7 +27,7 @@ describe 'Xcodeproj::Project' do ...@@ -27,7 +27,7 @@ describe 'Xcodeproj::Project' do
phase = @project.targets.first.copy_files_build_phases.new_pod_dir("SomePod", "Path/To/Source") phase = @project.targets.first.copy_files_build_phases.new_pod_dir("SomePod", "Path/To/Source")
find_object({ find_object({
'isa' => 'PBXCopyFilesBuildPhase', 'isa' => 'PBXCopyFilesBuildPhase',
'dstPath' => '$(PRODUCT_NAME)/Path/To/Source', 'dstPath' => 'Pods/Path/To/Source',
'name' => 'Copy SomePod Public Headers' 'name' => 'Copy SomePod Public Headers'
}).should.not == nil }).should.not == nil
@project.targets.first.buildPhases.should.include phase @project.targets.first.buildPhases.should.include phase
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment