Permalink
Browse files

rework iOS static library for better header use

the older direct referencing of headers still works, this is just cooler
  • Loading branch information...
1 parent f929a91 commit e9400e9ce03f212cf072f1411adb5e1891a2e476 @pizthewiz committed Mar 6, 2013
View
39 Examples/PonyExpress iOS Example/PonyExpress iOS Example.xcodeproj/project.pbxproj
@@ -37,13 +37,6 @@
remoteGlobalIDString = D83E1B741411528100CB1258;
remoteInfo = "PonyExpress Mac Tests";
};
- D8A1724B16901D28002CFCC8 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = D8A1724016901D28002CFCC8 /* PonyExpress.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = D83E1BD71412F87A00CB1258;
- remoteInfo = OrphanExample;
- };
D8A1724D16901D28002CFCC8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D8A1724016901D28002CFCC8 /* PonyExpress.xcodeproj */;
@@ -58,6 +51,13 @@
remoteGlobalIDString = D89B6F00165AFBB400446361;
remoteInfo = "PonyExpress iOS";
};
+ D8A2992D16E6B6F00067C19C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D8A1724016901D28002CFCC8 /* PonyExpress.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = D8975A8C168B5D0C0090FEB6;
+ remoteInfo = "PonyExpress iOS Tests";
+ };
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
@@ -164,9 +164,9 @@
isa = PBXGroup;
children = (
D8A1724816901D28002CFCC8 /* PonyExpress.framework */,
- D8A1724A16901D28002CFCC8 /* PonyExpressTests.octest */,
- D8A1724C16901D28002CFCC8 /* OrphanExample */,
+ D8A1724A16901D28002CFCC8 /* PonyExpress Mac Tests.octest */,
D8A1724E16901D28002CFCC8 /* libPonyExpress.a */,
+ D8A2992E16E6B6F00067C19C /* PonyExpress iOS Tests.octest */,
);
name = Products;
sourceTree = "<group>";
@@ -232,28 +232,27 @@
remoteRef = D8A1724716901D28002CFCC8 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
- D8A1724A16901D28002CFCC8 /* PonyExpressTests.octest */ = {
+ D8A1724A16901D28002CFCC8 /* PonyExpress Mac Tests.octest */ = {
isa = PBXReferenceProxy;
fileType = wrapper.cfbundle;
- name = PonyExpressTests.octest;
path = "PonyExpress Mac Tests.octest";
remoteRef = D8A1724916901D28002CFCC8 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
- D8A1724C16901D28002CFCC8 /* OrphanExample */ = {
- isa = PBXReferenceProxy;
- fileType = "compiled.mach-o.executable";
- path = OrphanExample;
- remoteRef = D8A1724B16901D28002CFCC8 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
D8A1724E16901D28002CFCC8 /* libPonyExpress.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libPonyExpress.a;
remoteRef = D8A1724D16901D28002CFCC8 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
+ D8A2992E16E6B6F00067C19C /* PonyExpress iOS Tests.octest */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.cfbundle;
+ path = "PonyExpress iOS Tests.octest";
+ remoteRef = D8A2992D16E6B6F00067C19C /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
@@ -390,7 +389,7 @@
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "PonyExpress iOS Example/PonyExpress iOS Example-Prefix.pch";
- HEADER_SEARCH_PATHS = ../../PonyExpress;
+ HEADER_SEARCH_PATHS = "$(TARGET_BUILD_DIR)/usr/local/lib/include";
INFOPLIST_FILE = "PonyExpress iOS Example/PonyExpress iOS Example-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
VALID_ARCHS = "arm6 armv7 armv7s";
@@ -403,7 +402,7 @@
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "PonyExpress iOS Example/PonyExpress iOS Example-Prefix.pch";
- HEADER_SEARCH_PATHS = ../../PonyExpress;
+ HEADER_SEARCH_PATHS = "$(TARGET_BUILD_DIR)/usr/local/lib/include";
INFOPLIST_FILE = "PonyExpress iOS Example/PonyExpress iOS Example-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
VALID_ARCHS = "arm6 armv7 armv7s";
View
4 Examples/PonyExpress iOS Example/PonyExpress iOS Example/ViewController.h
@@ -3,11 +3,11 @@
// PonyExpress iOS Example
//
// Created by Jean-Pierre Mouilleseaux on 29 Dec 2012.
-// Copyright (c) 2012 Chorded Constructions. All rights reserved.
+// Copyright (c) 2013 Chorded Constructions. All rights reserved.
//
#import <UIKit/UIKit.h>
-#import "PonyExpress.h"
+#import <PonyExpress/PonyExpress.h>
@interface ViewController : UIViewController <PEOSCReceiverDelegate>
@property (nonatomic, strong) PEOSCReceiver* receiver;
View
35 PonyExpress.xcodeproj/project.pbxproj
@@ -37,6 +37,12 @@
D89FA2B816D74E68005C8187 /* PEOSCSenderSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D89FA2B616D74E68005C8187 /* PEOSCSenderSpec.m */; };
D89FA2BA16D74EC7005C8187 /* PEOSCReceiverSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D89FA2B916D74EC7005C8187 /* PEOSCReceiverSpec.m */; };
D89FA2BB16D74EC7005C8187 /* PEOSCReceiverSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D89FA2B916D74EC7005C8187 /* PEOSCReceiverSpec.m */; };
+ D8A2995916E6BFD20067C19C /* PonyExpress.h in Headers */ = {isa = PBXBuildFile; fileRef = D83E1B6C1411528100CB1258 /* PonyExpress.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D8A2995A16E6BFD20067C19C /* PEOSCMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = D83E1B9F14119A2C00CB1258 /* PEOSCMessage.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D8A2995B16E6BFD20067C19C /* PEOSCSender.h in Headers */ = {isa = PBXBuildFile; fileRef = D83E1B96141190B000CB1258 /* PEOSCSender.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D8A2995C16E6BFD20067C19C /* PEOSCReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = D8C53D351436795700C8CF3E /* PEOSCReceiver.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D8A2995D16E6BFD70067C19C /* PEOSCMessage-Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D83E1BAE1411A41400CB1258 /* PEOSCMessage-Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ D8A2995E16E6BFDC0067C19C /* PonyExpress-Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = D87C17FF1413FCA7005A08F3 /* PonyExpress-Internal.h */; };
D8AF167B14B78C060002A885 /* GCDAsyncUdpSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = D8AF167914B78C060002A885 /* GCDAsyncUdpSocket.h */; };
D8AF167C14B78C060002A885 /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = D8AF167A14B78C060002A885 /* GCDAsyncUdpSocket.m */; };
D8C53D371436795700C8CF3E /* PEOSCReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = D8C53D351436795700C8CF3E /* PEOSCReceiver.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -144,18 +150,6 @@
};
/* End PBXContainerItemProxy section */
-/* Begin PBXCopyFilesBuildPhase section */
- D89B6EFF165AFBB400446361 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "include/${PRODUCT_NAME}";
- dstSubfolderSpec = 16;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
/* Begin PBXFileReference section */
D83E1B5C1411528100CB1258 /* PonyExpress.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PonyExpress.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D83E1B641411528100CB1258 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
@@ -403,6 +397,19 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ D8A2995816E6BFC60067C19C /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D8A2995916E6BFD20067C19C /* PonyExpress.h in Headers */,
+ D8A2995A16E6BFD20067C19C /* PEOSCMessage.h in Headers */,
+ D8A2995B16E6BFD20067C19C /* PEOSCSender.h in Headers */,
+ D8A2995C16E6BFD20067C19C /* PEOSCReceiver.h in Headers */,
+ D8A2995D16E6BFD70067C19C /* PEOSCMessage-Private.h in Headers */,
+ D8A2995E16E6BFDC0067C19C /* PonyExpress-Internal.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
@@ -473,7 +480,7 @@
buildPhases = (
D89B6EFD165AFBB400446361 /* Sources */,
D89B6EFE165AFBB400446361 /* Frameworks */,
- D89B6EFF165AFBB400446361 /* CopyFiles */,
+ D8A2995816E6BFC60067C19C /* Headers */,
);
buildRules = (
);
@@ -954,6 +961,7 @@
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = PonyExpress;
+ PUBLIC_HEADERS_FOLDER_PATH = include/PonyExpress;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -970,6 +978,7 @@
GCC_PREFIX_HEADER = "PonyExpress/PonyExpress-Prefix.pch";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = PonyExpress;
+ PUBLIC_HEADERS_FOLDER_PATH = include/PonyExpress;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
View
6 PonyExpressTests/PonyExpressTests-Prefix.pch
@@ -5,11 +5,7 @@
#ifdef __OBJC__
#import <Foundation/Foundation.h>
- #if TARGET_OS_IPHONE
- #import "PonyExpress.h"
- #else
- #import <PonyExpress/PonyExpress.h>
- #endif
+ #import <PonyExpress/PonyExpress.h>
#import "Specta.h"
View
3 TODO.md
@@ -1,13 +1,12 @@
### GENERAL
- pull address validation code out to a class method and use within -[PEOSCMessage initWithData:]
-- redo static library for iOS in the mannor [descirbed by jamie](http://www.blog.montgomerie.net/easy-xcode-static-library-subprojects-and-submodules) and migrate Example/Tests to it
- go unicast and later add multicast support
- sort out OSC bundle support
- test interoperability against Lemur, TouchOSC, Max 6, oF and Cinder
- figure out how to expose a constant for the 'immediate' NTPTimetag (NSDate category? only relevant for bundles invocation?)
- look into simple MIDI tunneling example
-- add more in-depth usage info to [README](README.md) for Mac OS X and iOS applications (@rpath!)
+- add more in-depth usage info to [README](README.md) for Mac OS X and iOS applications (@rpath and [iOS usage](http://www.blog.montgomerie.net/easy-xcode-static-library-subprojects-and-submodules))
- remove +[PEOSCMessage displayNameForType:]
- add CONTRIBUTING.md

0 comments on commit e9400e9

Please sign in to comment.