Commit 715d0f88 authored by Mauro E. Bender's avatar Mauro E. Bender

Close #17 - Move to a Pod Library file structure

parent 6db6c424
# Ignoring mac files
# OS X
.DS_Store
# Ignoring xproject user data
/AMLChat.xcodeproj/xcuserdata/
/AMLChat.xcodeproj/project.xcworkspace/xcuserdata/
/AMLChat.xcworkspace/xcuserdata/
/AMLChat.xcworkspace/xcshareddata/
# Xcode
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
profile
*.moved-aside
DerivedData
*.hmap
*.ipa
#Ignoring pods
Pods/
# Bundler
.bundle
#Ignoring temp files
# Fastlane
.swo
.swp
/Example/build
/Example/html
/Example/metadata
/Example/fastlane/screenshots
/Example/fastlane/report.xml
/Example/fastlane/test_output/
/build
/html
/metadata
/fastlane/screenshots
/fastlane/report.xml
*.gcno
*.gcda
*.ipa
*.mobileprovision
*.dSYM.*
test_output/
/build
compile_commands.json
Carthage
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
# Note: if you ignore the Pods directory, make sure to uncomment
# `pod install` in .travis.yml
#
Pods/
......@@ -5,9 +5,9 @@ build_code:
stage: build
script:
- bundle install
- fastlane test
- cd Example && fastlane test
tags:
- ios
artifacts:
paths:
- fastlane/test_output/
- Example/fastlane/test_output/
Pod::Spec.new do |s|
s.name = "AMLChat"
s.version = "0.1.0"
s.summary = "A chat implementation for iOS."
s.description = <<-DESC
A chat implementation for iOS using PubNub as the Real-Time backend service.
DESC
s.homepage = "https://git.theamalgama.com/ios/chat"
#
# Be sure to run `pod lib lint AMLChat.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "Mauro Bender" => "mauro@theamalgama.com" }
s.source = { :git => "https://git.theamalgama.com/ios/chat.git", :tag => "v0.1.0" }
s.source_files = "AMLChat", "AMLChat/**/*.{h,m}"
s.public_header_files = "AMLChat/**/*.h"
Pod::Spec.new do |s|
s.name = "AMLChat"
s.version = "0.1.0"
s.summary = "A chat implementation for iOS and OSX."
# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!
s.description = <<-DESC
A chat implementation for __iOS__ and __OSX__ using __PubNub__ as the
Real-Time backend service.
DESC
s.homepage = "https://git.theamalgama.com/ios/chat"
s.license = 'MIT'
s.author = { "Mauro Bender" => "mauro@theamalgama.com" }
s.source = { :git => "https://git.theamalgama.com/ios/chat.git", :tag => "v0.1.0" }
s.ios.deployment_target = '8.1'
s.osx.deployment_target = '10.9'
s.dependency "PubNub", "~> 4.2.5"
s.requires_arc = true
s.source_files = 'AMLChat/**/*'
s.public_header_files = 'AMLChat/**/*.h'
s.dependency "PubNub", "~> 4.2.5"
end
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0720"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "986DBA541C60F87F00F3F8FF"
BuildableName = "AMLChatTests.xctest"
BlueprintName = "AMLChatTests"
ReferencedContainer = "container:AMLChat.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?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>SchemeUserState</key>
<dict>
<key>AMLChat.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
<key>AMLChatTests.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>986DBA441C60F86A00F3F8FF</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>986DBA541C60F87F00F3F8FF</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>
This diff is collapsed.
......@@ -14,12 +14,26 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "986DBA441C60F86A00F3F8FF"
BuildableName = "libAMLChat.a"
BlueprintName = "AMLChat"
BlueprintIdentifier = "6003F589195388D20070C39A"
BuildableName = "AMLChat_Example.app"
BlueprintName = "AMLChat_Example"
ReferencedContainer = "container:AMLChat.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "58C5C84419856CF1E335A22CF05902DC"
BuildableName = "AMLChat.framework"
BlueprintName = "AMLChat"
ReferencedContainer = "container:Pods/Pods.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
......@@ -33,9 +47,9 @@
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "986DBA541C60F87F00F3F8FF"
BuildableName = "AMLChatTests.xctest"
BlueprintName = "AMLChatTests"
BlueprintIdentifier = "6003F5AD195388D20070C39A"
BuildableName = "AMLChat_Tests.xctest"
BlueprintName = "AMLChat_Tests"
ReferencedContainer = "container:AMLChat.xcodeproj">
</BuildableReference>
</TestableReference>
......@@ -43,9 +57,9 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "986DBA441C60F86A00F3F8FF"
BuildableName = "libAMLChat.a"
BlueprintName = "AMLChat"
BlueprintIdentifier = "6003F589195388D20070C39A"
BuildableName = "AMLChat_Example.app"
BlueprintName = "AMLChat_Example"
ReferencedContainer = "container:AMLChat.xcodeproj">
</BuildableReference>
</MacroExpansion>
......@@ -62,15 +76,16 @@
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "986DBA441C60F86A00F3F8FF"
BuildableName = "libAMLChat.a"
BlueprintName = "AMLChat"
BlueprintIdentifier = "6003F589195388D20070C39A"
BuildableName = "AMLChat_Example.app"
BlueprintName = "AMLChat_Example"
ReferencedContainer = "container:AMLChat.xcodeproj">
</BuildableReference>
</MacroExpansion>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
......@@ -80,15 +95,16 @@
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "986DBA441C60F86A00F3F8FF"
BuildableName = "libAMLChat.a"
BlueprintName = "AMLChat"
BlueprintIdentifier = "6003F589195388D20070C39A"
BuildableName = "AMLChat_Example.app"
BlueprintName = "AMLChat_Example"
ReferencedContainer = "container:AMLChat.xcodeproj">
</BuildableReference>
</MacroExpansion>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
......
//
// AMLAppDelegate.h
// AMLChat
//
// Created by Mauro Bender on 02/11/2016.
// Copyright (c) 2016 Mauro Bender. All rights reserved.
//
@import UIKit;
@interface AMLAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
//
// AMLAppDelegate.m
// AMLChat
//
// Created by Mauro Bender on 02/11/2016.
// Copyright (c) 2016 Mauro Bender. All rights reserved.
//
#import "AMLAppDelegate.h"
@implementation AMLAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
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>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</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>UIMainStoryboardFile</key>
<string>Main</string>
<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
//
// The contents of this file are implicitly included at the beginning of every source file.
//
#import <Availability.h>
#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif
#ifdef __OBJC__
@import UIKit;
@import Foundation;
#endif
//
// AMLViewController.h
// AMLChat
//
// Created by Mauro Bender on 02/11/2016.
// Copyright (c) 2016 Mauro Bender. All rights reserved.
//
@import UIKit;
@interface AMLViewController : UIViewController
@end
//
// AMLViewController.m
// AMLChat
//
// Created by Mauro Bender on 02/11/2016.
// Copyright (c) 2016 Mauro Bender. All rights reserved.
//
#import "AMLViewController.h"
@interface AMLViewController ()
@end
@implementation AMLViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
{
"images" : [
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "83.5x83.5",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"subtype" : "retina4",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "1x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "1x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "2x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="whP-gf-Uak">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="wQg-tq-qST">
<objects>
<viewController id="whP-gf-Uak" customClass="AMLViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="uEw-UM-LJ8"/>
<viewControllerLayoutGuide type="bottom" id="Mvr-aV-6Um"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="TpU-gO-2f1">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="tc2-Qw-aMS" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="305" y="433"/>
</scene>
</scenes>
</document>
/* Localized versions of Info.plist keys */