Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: deepwinter/rhus-iphone
base: master
...
head fork: deepwinter/rhus-iphone
compare: 3.1.support
Checking mergeability… Don’t worry, you can still create the pull request.
  • 7 commits
  • 44 files changed
  • 0 commit comments
  • 2 contributors
Showing with 524 additions and 329 deletions.
  1. BIN  Frameworks/CouchCocoa.framework/CouchCocoa
  2. +3 −1 Frameworks/CouchCocoa.framework/Headers/CouchCocoa.h
  3. +11 −9 Frameworks/CouchCocoa.framework/Headers/CouchDatabase.h
  4. +20 −0 Frameworks/CouchCocoa.framework/Headers/CouchDesignDocument.h
  5. +2 −1  Frameworks/CouchCocoa.framework/Headers/CouchDocument.h
  6. +16 −4 Frameworks/CouchCocoa.framework/Headers/CouchDynamicObject.h
  7. +20 −5 Frameworks/CouchCocoa.framework/Headers/CouchModel.h
  8. +4 −1 Frameworks/CouchCocoa.framework/Headers/CouchPersistentReplication.h
  9. +22 −0 Frameworks/CouchCocoa.framework/Headers/CouchQuery.h
  10. +24 −10 Frameworks/CouchCocoa.framework/Headers/CouchReplication.h
  11. +3 −0  Frameworks/CouchCocoa.framework/Headers/CouchServer.h
  12. +5 −0 Frameworks/CouchCocoa.framework/Headers/CouchUITableSource.h
  13. +3 −0  Frameworks/CouchCocoa.framework/Headers/RESTBody.h
  14. +3 −0  Frameworks/CouchCocoa.framework/Headers/RESTOperation.h
  15. +21 −1 Frameworks/CouchCocoa.framework/Headers/RESTResource.h
  16. BIN  Frameworks/CouchCocoa.framework/Info.plist
  17. BIN  Frameworks/Couchbase.framework/Info.plist
  18. +1 −0  Frameworks/PLBlocks.framework/Headers
  19. +1 −0  Frameworks/PLBlocks.framework/PLBlocks
  20. +1 −0  Frameworks/PLBlocks.framework/Resources
  21. +122 −0 Frameworks/PLBlocks.framework/Versions/A/Headers/Block.h
  22. BIN  Frameworks/PLBlocks.framework/Versions/A/PLBlocks
  23. +22 −0 Frameworks/PLBlocks.framework/Versions/A/Resources/Info.plist
  24. +1 −0  Frameworks/PLBlocks.framework/Versions/Current
  25. +3 −4 Wildflowers of Detroit Iphone/AppDelegate.h
  26. +9 −11 Wildflowers of Detroit Iphone/AppDelegate.m
  27. +11 −11 Wildflowers of Detroit Iphone/CameraViewController.h
  28. +0 −1  Wildflowers of Detroit Iphone/CameraViewController.m
  29. +4 −4 Wildflowers of Detroit Iphone/LoadingViewController.h
  30. +2 −2 Wildflowers of Detroit Iphone/MapCouchbaseDataModel.h
  31. +56 −86 Wildflowers of Detroit Iphone/MapCouchbaseDataModel.m
  32. +0 −6 Wildflowers of Detroit Iphone/MapDataModelBase.m
  33. +1 −1  Wildflowers of Detroit Iphone/MapDataModelSpoof.h
  34. +25 −24 Wildflowers of Detroit Iphone/MapViewController.h
  35. +11 −4 Wildflowers of Detroit Iphone/MapViewController.m
  36. +2 −2 Wildflowers of Detroit Iphone/RHLocation.h
  37. +9 −3 Wildflowers of Detroit Iphone/RHLocation.m
  38. +1 −1  Wildflowers of Detroit Iphone/RHSettings_Squirrels.m
  39. +1 −1  Wildflowers of Detroit Iphone/SharedInstanceMacro.h
  40. +11 −11 Wildflowers of Detroit Iphone/SwoopTabViewController.h
  41. +2 −2 Wildflowers of Detroit Iphone/TimelineVisualizationView.h
  42. +2 −2 Wildflowers of Detroit Iphone/Wildflowers of Detroit Iphone-Prefix.pch
  43. +2 −2 Wildflowers of Detroit Iphone/main.m
  44. +67 −119 Wildflowers of Detroit.xcodeproj/project.pbxproj
View
BIN  Frameworks/CouchCocoa.framework/CouchCocoa
Binary file not shown
View
4 Frameworks/CouchCocoa.framework/Headers/CouchCocoa.h
@@ -45,7 +45,9 @@
The upper layer, whose classes are prefixed with "Couch", extends the REST layer with a class hierarchy representing CouchDB abstractions like servers, databases, documents and views. Each of these has its own subclass of RESTResource, and so each instance represents a particular URL on the CouchDB server. However, this API relieves you of having to know about the details of the CouchDB URL structure.
- Most of the time you'll be working with methods declared in the Couch classes, but don't forget that they inherit from the REST classes. In particular, there are some commonly used methods declared in RESTResource, like -URL and -DELETE, that are easy to overlook if you forget about inheritance.
+ Most of the time you'll be working with methods declared in the Couch classes, but don't forget that they inherit from the REST classes. In particular, there are some commonly used methods declared in RESTResource, like -URL, -GET, and -DELETE, that are easy to overlook if you forget about inheritance.
+
+ There is also an optional even-higher level API, the CouchModel class, that models database documents as Objective-C objects and document properties as Objective-C 2 properties. It's a little bit like a "CoreData Lite". You don't have to use it, but it can make your code a lot simpler and clearer.
Some <a href="https://github.com/couchbaselabs/CouchCocoa/wiki/Example-Snippets">example code snippets</a> are available.
View
20 Frameworks/CouchCocoa.framework/Headers/CouchDatabase.h
@@ -17,6 +17,7 @@
#import "CouchReplication.h"
@class RESTCache, CouchChangeTracker, CouchDocument, CouchDesignDocument, CouchPersistentReplication, CouchQuery, CouchServer;
+typedef NSString* (^CouchDocumentPathMap)(NSString* documentID);
/** A CouchDB database; contains CouchDocuments.
The CouchServer is the factory object for CouchDatabases. */
@@ -30,6 +31,7 @@
BOOL _lastSequenceNumberKnown;
id _onChangeBlock;
NSMutableArray* _deferredChanges;
+ CouchDocumentPathMap _documentPathMap;
}
/** A convenience to instantiate a CouchDatabase directly from a URL, without having to first instantiate a CouchServer.
@@ -43,6 +45,10 @@
@property (readonly) CouchServer* server;
+/** Allows retrieving documents from the CouchDatabase using a different path from the documentID. This is useful for
+ accessing a document using a Couch rewrite. The result of the CouchDocumentPathMap is the path relative to the database. */
+@property (copy) CouchDocumentPathMap documentPathMap;
+
/** Creates the database on the server.
Fails with an HTTP status 412 (Conflict) if a database with this name already exists. */
- (RESTOperation*) create;
@@ -77,7 +83,7 @@
/** Bulk-writes multiple documents in one HTTP call.
@param properties An array specifying the new properties of each item in revisions. Each item must be an NSDictionary, or an NSNull object which means to delete the corresponding document.
- @param revisions A parallel array to 'properties', containing each CouchRevision to be updated. Can be nil, in which case the method acts as described in the docs for -putChanges:. */
+ @param revisions A parallel array to 'properties', containing each CouchRevision or CouchDocument to be updated. Can be nil, in which case the method acts as described in the docs for -putChanges:. */
- (RESTOperation*) putChanges: (NSArray*)properties toRevisions: (NSArray*)revisions;
/** Bulk-writes multiple documents in one HTTP call.
@@ -133,17 +139,13 @@
/** Triggers replication from a source database, to this database.
@param sourceURL The URL of the database to replicate from.
- @param options Zero or more option flags affecting the replication.
- @return The CouchReplication object managing the replication. It will already have been started. */
-- (CouchReplication*) pullFromDatabaseAtURL: (NSURL*)sourceURL
- options: (CouchReplicationOptions)options;
+ @return The CouchReplication object managing the replication. You have a chance to customize its properties (like .continuous and .filter) before it starts. */
+- (CouchReplication*) pullFromDatabaseAtURL: (NSURL*)sourceURL;
/** Triggers replication from this database to a target database.
@param targetURL The URL of the database to replicate to.
- @param options Zero or more option flags affecting the replication.
- @return The CouchReplication object managing the replication. It will already have been started. */
-- (CouchReplication*) pushToDatabaseAtURL: (NSURL*)targetURL
- options: (CouchReplicationOptions)options;
+ @return The CouchReplication object managing the replication. You have a chance to customize its properties (like .continuous and .filter) before it starts.*/
+- (CouchReplication*) pushToDatabaseAtURL: (NSURL*)targetURL;
/** Configures this database to replicate bidirectionally (sync to and from) a database at the given URL.
@param otherURL The URL of the other database, or nil to indicate no replication.
View
20 Frameworks/CouchCocoa.framework/Headers/CouchDesignDocument.h
@@ -30,10 +30,13 @@ extern NSString* const kCouchLanguageErlang;
@private
NSString* _language;
NSMutableDictionary* _views;
+ NSMutableDictionary* _filters;
NSString* _validation;
+ NSMutableDictionary* _viewOptions;
NSString* _viewsRevisionID;
BOOL _changed;
BOOL _changedValidation;
+ BOOL _changedViewOptions;
RESTOperation* _savingOp;
}
@@ -76,9 +79,26 @@ extern NSString* const kCouchLanguageErlang;
- (void) defineViewNamed: (NSString*)viewName
map: (NSString*)mapFunction;
+/** The filter functions defined in this design document.
+ @return An NSDictionary whose keys are filter names and values are function source code. */
+@property (readonly) NSDictionary* filters;
+
+/** Sets the definition of a filter, or deletes it.
+ After making changes to one or more filters, you should call -saveChanges to PUT them back to the database.
+ If the new definition is identical to the existing one, the design document will not be marked as changed or saved back to the database.
+ @param filterName The name of the filter, in the scope of this design doc.
+ @param filterFunction The source code of the filter function. If nil, the filter will be deleted. */
+- (void) defineFilterNamed: (NSString*)filterName
+ asFunction: (NSString*)filterFunction;
+
/** The validation function, a JavaScript function that validates document contents. */
@property (copy) NSString* validation;
+/** Should view query results include the document local sequence number in the index?
+ Setting this to YES sets the 'local_seq' property of the design document's 'options' property to 'true'.
+ This affects every view in this design document. */
+@property (nonatomic, assign) BOOL includeLocalSequence;
+
/** Have the contents of the design document been changed in-memory but not yet saved? */
@property (readonly) BOOL changed;
View
3  Frameworks/CouchCocoa.framework/Headers/CouchDocument.h
@@ -26,6 +26,7 @@
BOOL _isDeleted;
NSString* _currentRevisionID;
CouchRevision* _currentRevision;
+ NSString *_documentID;
}
/** The unique ID of this document; its key in the database. */
@@ -40,7 +41,7 @@
/** Optional reference to an application-defined model object representing this document.
This property is unused and uninterpreted by CouchCocoa; use it for whatever you want.
- Note that this is not a strong/retained reference. */
+ Note that this is not a retain/retained reference. */
@property (assign) id modelObject;
#pragma mark REVISIONS:
View
20 Frameworks/CouchCocoa.framework/Headers/CouchDynamicObject.h
@@ -10,23 +10,35 @@
/** A generic class with runtime support for dynamic properties.
- You can subclass this and declare properties in the subclass without needing to implement them or make instance variables; simply note them as '@dynamic' in the @implementation.
+ You can subclass this and declare properties in the subclass without needing to implement them or make instance variables; simply note them as '@@dynamic' in the @@implementation.
The dynamic accessors will be bridged to calls to -getValueOfProperty: and setValue:ofProperty:, allowing you to easily store property values in an NSDictionary or other container. */
@interface CouchDynamicObject : NSObject
+/** Returns the names of all properties defined in this class and superclasses up to CouchDynamicObject. */
++ (NSSet*) propertyNames;
+
/** Returns the value of a named property.
- This method will only be called for properties that have been declared in the class's @interface using @property.
- You must override this method -- the base implementation just raises an exception.*/
+ This method will only be called for properties that have been declared in the class's @@interface using @@property.
+ You must override this method -- the base implementation just raises an exception. */
- (id) getValueOfProperty: (NSString*)property;
/** Sets the value of a named property.
- This method will only be called for properties that have been declared in the class's @interface using @property, and are not declared readonly.
+ This method will only be called for properties that have been declared in the class's @@interface using @@property, and are not declared readonly.
You must override this method -- the base implementation just raises an exception.
@return YES if the property was set, NO if it isn't settable; an exception will be raised.
Default implementation returns NO. */
- (BOOL) setValue: (id)value ofProperty: (NSString*)property;
+// FOR SUBCLASSES TO CALL:
+
+/** Given the name of an object-valued property, returns the class of the property's value.
+ Returns nil if the property doesn't exist, or if its type isn't an object pointer or is 'id'. */
++ (Class) classOfProperty: (NSString*)propertyName;
+
++ (NSString*) getterKey: (SEL)sel;
++ (NSString*) setterKey: (SEL)sel;
+
// ADVANCED STUFF FOR SUBCLASSES TO OVERRIDE:
+ (IMP) impForGetterOfClass: (Class)propertyClass;
View
25 Frameworks/CouchCocoa.framework/Headers/CouchModel.h
@@ -12,9 +12,10 @@
/** Generic model class for Couch documents.
There's a 1::1 mapping between these and CouchDocuments; call +modelForDocument: to get (or create) a model object for a document, and .document to get the document of a model.
- You should subclass this and declare properties in the subclass's @interface. As with NSManagedObject, you don't need to implement their accessor methods or declare instance variables; simply note them as '@dynamic' in the @implementation. The property value will automatically be fetched from or stored to the document, using the same name.
+ You should subclass this and declare properties in the subclass's @@interface. As with NSManagedObject, you don't need to implement their accessor methods or declare instance variables; simply note them as '@@dynamic' in the class @@implementation. The property value will automatically be fetched from or stored to the document, using the same name.
Supported scalar types are bool, char, short, int, double. These map to JSON numbers, except 'bool' which maps to JSON 'true' and 'false'. (Use bool instead of BOOL.)
- Supported object types are NSString, NSNumber, NSData, NSDate, NSArray, NSDictionary. (NSData and NSDate are not native JSON; they will be automatically converted to/from strings in base64 and ISO date formats, respectively.) */
+ Supported object types are NSString, NSNumber, NSData, NSDate, NSArray, NSDictionary. (NSData and NSDate are not native JSON; they will be automatically converted to/from strings in base64 and ISO date formats, respectively.)
+ Additionally, a property's type can be a pointer to a CouchModel subclass. This provides references between model objects. The raw property value in the document must be a string whose value is interpreted as a document ID. */
@interface CouchModel : CouchDynamicObject
{
@private
@@ -30,7 +31,9 @@
}
/** Returns the CouchModel associated with a CouchDocument, or creates & assigns one if necessary.
- Don't call this on CouchModel itself, rather on the subclass you want to instantiate for that document, e.g. [MyWidgetModel modelForDocument: doc]. It always returns an instance of the class it's called on. */
+ If the CouchDocument already has an associated model, it's returned. Otherwise a new one is instantiated.
+ If you call this on CouchModel itself, it'll delegate to the CouchModelFactory to decide what class to instantiate; this lets you map different classes to different "type" property values, for instance.
+ If you call this method on a CouchModel subclass, it will always instantiate an instance of that class; e.g. [MyWidgetModel modelForDocument: doc] always creates a MyWidgetModel. */
+ (id) modelForDocument: (CouchDocument*)document;
/** Creates a new "untitled" model with a new unsaved document.
@@ -77,16 +80,24 @@
This value can be used to highlight recently-changed objects in the UI. */
@property (readonly) NSTimeInterval timeSinceExternallyChanged;
+/** Bulk-saves changes to multiple model objects (which must all be in the same database).
+ This invokes -[CouchDatabase putChanges:], which sends a single request to _bulk_docs.
+ Any unchanged models in the array are ignored.
+ @param models An array of CouchModel objects, which must all be in the same database.
+ @return A RESTOperation that saves all changes, or nil if none of the models need saving. */
++ (RESTOperation*) saveModels: (NSArray*)models;
+
+/** Resets the timeSinceExternallyChanged property to zero. */
- (void) markExternallyChanged;
#pragma mark - PROPERTIES & ATTACHMENTS:
/** Gets a property by name.
- You can use this for document properties that you haven't added @property declarations for. */
+ You can use this for document properties that you haven't added @@property declarations for. */
- (id) getValueOfProperty: (NSString*)property;
/** Sets a property by name.
- You can use this for document properties that you haven't added @property declarations for. */
+ You can use this for document properties that you haven't added @@property declarations for. */
- (BOOL) setValue: (id)value ofProperty: (NSString*)property;
@@ -126,4 +137,8 @@
This happens both when initialized from a document, and after an external change. */
- (void) didLoadFromDocument;
+/** Returns the database in which to look up the document ID of a model-valued property.
+ Defaults to the same database as the receiver's document. You should override this if a document property contains the ID of a document in a different database. */
+- (CouchDatabase*) databaseForModelProperty: (NSString*)propertyName;
+
@end
View
5 Frameworks/CouchCocoa.framework/Headers/CouchPersistentReplication.h
@@ -52,11 +52,14 @@ typedef enum {
Should be a JSON-compatible dictionary. */
@property (copy) NSDictionary* query_params;
+/** Sets the documents to specify as part of the replication. */
+@property (copy) NSArray *doc_ids;
+
/** Sets the "user_ctx" property of the replication, which identifies what privileges it will run with when accessing the local server. To replicate design documents, this should be set to a value with "_admin" in the list of roles.
The server will not let you specify privileges you don't have, so the request to create the replication must be made with credentials that match what you're setting here, unless the server is in no-authentication "admin party" mode.
See <https://gist.github.com/832610>, section 8, for details.
If both 'user' and 'roles' are nil, the user_ctx will be cleared.
- @param user A server username, or nil
+ @param username A server username, or nil
@param roles An array of CouchDB role name strings, or nil */
- (void) actAsUser: (NSString*)username withRoles: (NSArray*)roles;
View
22 Frameworks/CouchCocoa.framework/Headers/CouchQuery.h
@@ -18,12 +18,23 @@
@class CouchLiveQuery, CouchQueryEnumerator, CouchQueryRow;
+/** Options for CouchQuery.stale property, to allow out-of-date results to be returned. */
+typedef enum {
+ kCouchStaleNever, /**< Never return stale view results (default) */
+ kCouchStaleOK, /**< Return stale results as long as view is already populated */
+ kCouchStaleUpdateAfter /**< Return stale results, then update view afterwards */
+} CouchStaleness;
+
+
/** Represents a CouchDB 'view', or a view-like resource like _all_documents. */
@interface CouchQuery : CouchResource
{
@private
NSUInteger _limit, _skip;
id _startKey, _endKey;
+ NSString* _startKeyDocID;
+ NSString* _endKeyDocID;
+ CouchStaleness _stale;
BOOL _descending, _prefetch;
NSArray *_keys;
NSUInteger _groupLevel;
@@ -48,6 +59,17 @@
/** If non-nil, the key value to end after. */
@property (copy) id endKey;
+/** If non-nil, the document ID to start at.
+ (Useful if the view contains multiple identical keys, making .startKey ambiguous.) */
+@property (copy) NSString* startKeyDocID;
+
+/** If non-nil, the document ID to end at.
+ (Useful if the view contains multiple identical keys, making .endKey ambiguous.) */
+@property (copy) NSString* endKeyDocID;
+
+/** If set, allows faster results at the expense of returning possibly out-of-date data. */
+@property CouchStaleness stale;
+
/** If non-nil, the query will fetch only the rows with the given keys. */
@property (copy) NSArray* keys;
View
34 Frameworks/CouchCocoa.framework/Headers/CouchReplication.h
@@ -18,21 +18,14 @@
@class CouchDatabase, RESTOperation;
-/** Option flags for replication (push/pull). */
-enum {
- kCouchReplicationCreateTarget = 1, /**< Create the destination database if it doesn't exist */
- kCouchReplicationContinuous = 2, /**< Continuous mode; remains active till canceled */
-};
-typedef NSUInteger CouchReplicationOptions;
-
-
/** Tracks a CouchDB replication. Can be used to observe its progress. */
@interface CouchReplication : NSObject
{
CouchDatabase* _database;
NSURL* _remote;
- BOOL _pull;
- CouchReplicationOptions _options;
+ bool _pull, _createTarget, _continuous;
+ NSString* _filter;
+ NSDictionary* _filterParams;
BOOL _running;
NSString* _taskID;
NSString* _status;
@@ -40,6 +33,22 @@ typedef NSUInteger CouchReplicationOptions;
NSError* _error;
}
+/** Should the target database be created if it doesn't already exist? (Defaults to NO). */
+@property (nonatomic) bool createTarget;
+
+/** Should the replication operate continuously, copying changes as soon as the source database is modified? (Defaults to NO). */
+@property (nonatomic) bool continuous;
+
+/** Path of an optional filter function to run on the source server.
+ Only documents for which the function returns true are replicated.
+ The path looks like "designdocname/filtername". */
+@property (nonatomic, copy) NSString* filter;
+
+/** Parameters to pass to the filter function.
+ Should be a JSON-compatible dictionary. */
+@property (nonatomic, copy) NSDictionary* filterParams;
+
+
/** Starts the replication, asynchronously.
@return The operation to start replication, or nil if replication is already started. */
- (RESTOperation*) start;
@@ -47,6 +56,11 @@ typedef NSUInteger CouchReplicationOptions;
/** Stops replication, asynchronously. */
- (void) stop;
+@property (nonatomic, readonly) NSURL* remoteURL;
+
+/** Does the replication pull from (as opposed to push to) the target? */
+@property (nonatomic, readonly) bool pull;
+
@property (nonatomic, readonly) BOOL running;
/** The current status string from the server, if active, else nil (observable).
View
3  Frameworks/CouchCocoa.framework/Headers/CouchServer.h
@@ -25,6 +25,7 @@
RESTResource* _activityRsrc;
int _activeTasksObserverCount;
NSArray* _activeTasks;
+ RESTOperation* _activeTasksOp;
NSTimer* _activityPollTimer;
CouchLiveQuery* _replicationsQuery;
}
@@ -55,6 +56,8 @@
This is updated asynchronously while the activityPollInterval is nonzero. */
@property (nonatomic, readonly, retain) NSArray* activeTasks;
+- (void) checkActiveTasks;
+
/** How often to poll the server's list of active tasks and update .activeTasks. */
@property NSTimeInterval activityPollInterval;
View
5 Frameworks/CouchCocoa.framework/Headers/CouchUITableSource.h
@@ -61,6 +61,11 @@
@protocol CouchUITableDelegate <UITableViewDelegate>
@optional
+/** Allows delegate to return its own custom cell, just like -tableView:cellForRowAtIndexPath:.
+ If this returns nil the table source will create its own cell, as if this method were not implemented. */
+- (UITableViewCell *)couchTableSource:(CouchUITableSource*)source
+ cellForRowAtIndexPath:(NSIndexPath *)indexPath;
+
/** Called after the query's results change, before the table view is reloaded. */
- (void)couchTableSource:(CouchUITableSource*)source
willUpdateFromQuery:(CouchLiveQuery*)query;
View
3  Frameworks/CouchCocoa.framework/Headers/RESTBody.h
@@ -86,6 +86,9 @@
/** Converts an object to a JSON string.
JSON 'fragments' (NSString / NSNumber) are allowed. Returns nil on nil input. */
+ (NSString*) stringWithJSONObject: (id)obj;
+/** Converts an object to a pretty-printed JSON string.
+ JSON 'fragments' (NSString / NSNumber) are allowed. Returns nil on nil input. */
++ (NSString*) prettyStringWithJSONObject: (id)obj;
/** Parses JSON data into a Foundation object tree.
If parsing fails, returns nil. */
+ (id) JSONObjectWithData: (NSData*)data;
View
3  Frameworks/CouchCocoa.framework/Headers/RESTOperation.h
@@ -129,6 +129,9 @@ typedef void (^OnCompleteBlock)();
/** The body of the response, with its entity headers (Synchronous.) */
@property (readonly) RESTBody* responseBody;
+/** The raw NSHTTPURLResponse object, in case you need it. */
+@property (readonly) NSHTTPURLResponse* response;
+
/** Object associated with this response.
A client can store anything it wants here, typically a value parsed from or represented by the response body; often this property will be set by an onCompletion block. */
View
22 Frameworks/CouchCocoa.framework/Headers/RESTResource.h
@@ -15,6 +15,7 @@
#import <Foundation/Foundation.h>
@class RESTCache, RESTOperation;
+@protocol RESTResourceDelegate;
/** Represents an HTTP resource identified by a specific URL.
@@ -27,6 +28,7 @@
RESTResource* _parent;
NSString* _relativePath;
RESTCache* _owningCache;
+ id<RESTResourceDelegate> _delegate;
NSMutableSet* _activeOperations;
NSString* _eTag;
@@ -55,7 +57,10 @@
/** The relative path from the parent (as given in the initializer.) */
@property (readonly) NSString* relativePath;
-/** Sets the login credential (e.g. username/password) to be used for authentication by this resource and its children. */
+@property (assign, nonatomic) id<RESTResourceDelegate> delegate;
+
+/** Sets the login credential (e.g. username/password) to be used for authentication by this resource and its children.
+ IMPORTANT: CouchDB's default configuration unfortunately doesn't support this type of programmatic auth. To make it work, you'll need to add a "WWW-Authenticate" property to the server's [httpd] configuration section, as described at <https://groups.google.com/d/msg/mobile-couchbase/GiSnos0Hx54/q5JGepLaQBgJ>. */
- (void) setCredential: (NSURLCredential*)credential;
/** Sets a protection space for operations on this resource. */
@@ -148,3 +153,18 @@
- (void) createdByPOST: (RESTOperation*)op;
@end
+
+
+/** An object that registers as the delegate of a RESTResource.
+ The delegate will be called by the resource it's attached to, and by all child resources. If multiple resources in the hierarchy have delegates, the child resources' delegates are called before their parents'. */
+@protocol RESTResourceDelegate <NSObject>
+
+/** Called immediately before a resource sends a request.
+ The delegate may modify the request, carefully. For example, it could add headers. */
+- (void) resource: (RESTResource*)resource willSendRequest: (NSMutableURLRequest*)request;
+
+/** Called immediately after a response arrives, before the associated RESTOperation's onCompletion block.
+ This is called even for responses that contain HTTP errors, though not for ones that fail below the HTTP layer (i.e. unreachable host.) */
+- (void) resource: (RESTResource*)resource didReceiveResponse: (NSHTTPURLResponse*)response;
+
+@end
View
BIN  Frameworks/CouchCocoa.framework/Info.plist
Binary file not shown
View
BIN  Frameworks/Couchbase.framework/Info.plist
Binary file not shown
View
1  Frameworks/PLBlocks.framework/Headers
View
1  Frameworks/PLBlocks.framework/PLBlocks
View
1  Frameworks/PLBlocks.framework/Resources
View
122 Frameworks/PLBlocks.framework/Versions/A/Headers/Block.h
@@ -0,0 +1,122 @@
+/*
+ * Copyright 2008 - 2009 Apple, Inc.
+ * Copyright 2009 - 2010 Plausible Labs Cooperative, Inc.
+ *
+ * All rights reserved.
+ *
+ * Permission is hereby granted, free of charge,
+ * to any person obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without restriction,
+ * including without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to permit
+ * persons to whom the Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/**
+ * @defgroup functions Functions Reference
+ */
+
+/**
+ * @internal
+ * @defgroup private_api Private API Reference
+ */
+
+/**
+ * @defgroup private_api_constants Constants
+ * @ingroup private_api
+ */
+
+/**
+ * @defgroup constants Constants Reference
+ */
+
+/**
+ * @defgroup types Types Reference
+ */
+
+/**
+ * @defgroup enums Enumerations
+ * @ingroup constants
+ */
+
+/**
+ * @defgroup globals Global Variables
+ * @ingroup constants
+ */
+
+/**
+ * @defgroup exceptions Exceptions
+ * @ingroup constants
+ */
+
+#ifndef _PLBLOCK_H_
+#define _PLBLOCK_H_
+
+#if !defined(BLOCK_EXPORT)
+# if defined(__cplusplus)
+# define BLOCK_EXPORT extern "C"
+# else
+# define BLOCK_EXPORT extern
+# endif
+#endif
+
+#include <AvailabilityMacros.h>
+#include <TargetConditionals.h>
+
+/* Compatibility defines. Using the PLBlock_* variants instead is recommended. */
+#undef Block_copy
+#define Block_copy(...) ((__typeof(__VA_ARGS__))_PLBlock_copy((const void *)(__VA_ARGS__)))
+
+#undef Block_release
+#define Block_release(...) _PLBlock_release((const void *)(__VA_ARGS__))
+
+#if __cplusplus
+extern "C" {
+#endif
+
+ // Create a heap based copy of a Block or simply add a reference to an existing one.
+ // This must be paired with Block_release to recover memory, even when running
+ // under Objective-C Garbage Collection.
+ BLOCK_EXPORT void *_PLBlock_copy(const void *aBlock);
+
+ // Lose the reference, and if heap based and last reference, recover the memory
+ BLOCK_EXPORT void _PLBlock_release(const void *aBlock);
+
+#if __cplusplus
+}
+#endif
+
+// Type correct macros
+
+/**
+ * @ingroup functions
+ * @{
+ */
+
+/**
+ * Copy a a stack-allocated block.
+ */
+#define PLBlock_copy(...) ((__typeof(__VA_ARGS__))_PLBlock_copy((const void *)(__VA_ARGS__)))
+
+/**
+ * Release a block instance.
+ */
+#define PLBlock_release(...) _PLBlock_release((const void *)(__VA_ARGS__))
+
+/**
+ * @} functions
+ */
+
+#endif /* _PLBLOCK_H_ */
View
BIN  Frameworks/PLBlocks.framework/Versions/A/PLBlocks
Binary file not shown
View
22 Frameworks/PLBlocks.framework/Versions/A/Resources/Info.plist
@@ -0,0 +1,22 @@
+<?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>English</string>
+ <key>CFBundleExecutable</key>
+ <string>PLBlocks</string>
+ <key>CFBundleIdentifier</key>
+ <string>coop.plausible.blocks.PLBlocks</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+</dict>
+</plist>
View
1  Frameworks/PLBlocks.framework/Versions/Current
View
7 Wildflowers of Detroit Iphone/AppDelegate.h
@@ -16,12 +16,11 @@
}
-@property (strong, nonatomic) UIWindow *window;
-@property (strong, nonatomic) SwoopTabViewController * swoopTabViewController;
-@property (strong, nonatomic) LoadingViewController * loadingViewController;
+@property (retain, nonatomic) UIWindow *window;
+@property (retain, nonatomic) SwoopTabViewController * swoopTabViewController;
+@property (retain, nonatomic) LoadingViewController * loadingViewController;
- (void) initializeAppDelegateAndLaunch;
-- (void) initializeDataModel;
- (void) initializeInBackground;
View
20 Wildflowers of Detroit Iphone/AppDelegate.m
@@ -7,9 +7,7 @@
//
#import "AppDelegate.h"
-#import "GalleryViewController.h"
#import "CameraViewController.h"
-#import "MapViewController.h"
#import "MapDataModel.h"
#import "RHLocation.h"
@@ -38,22 +36,22 @@ - (void) initializeAppDelegateAndLaunch {
self.swoopTabViewController = [[SwoopTabViewController alloc] init];
-
+ /*
MapViewController * galleryViewController = [[MapViewController alloc]init];
galleryViewController.fullscreenTransitionDelegate = self.swoopTabViewController;
galleryViewController.userDataOnly = YES;
galleryViewController.launchInGalleryMode = YES;
self.swoopTabViewController.topViewController = galleryViewController;
-
+ */
CameraViewController * cameraViewController = [[CameraViewController alloc]init];
cameraViewController.fullscreenTransitionDelegate = self.swoopTabViewController;
self.swoopTabViewController.middleViewController = cameraViewController;
- MapViewController * mapViewController = [[MapViewController alloc]init];
- mapViewController.fullscreenTransitionDelegate = self.swoopTabViewController;
+ // MapViewController * mapViewController = [[MapViewController alloc]init];
+ // mapViewController.fullscreenTransitionDelegate = self.swoopTabViewController;
- self.swoopTabViewController.bottomViewController = mapViewController;
+ //self.swoopTabViewController.bottomViewController = mapViewController;
[self.window addSubview:swoopTabViewController.view];
@@ -76,9 +74,9 @@ - (void) initializeAppDelegateAndLaunch {
//start serving whenever it's ready.
- (void) initializeInBackground{
- // NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- @autoreleasepool {
+ // @autoreleasepool {
NSLog(@"%@", @"Starting app resources in background");
[MapDataModel instance];
@@ -86,9 +84,9 @@ - (void) initializeInBackground{
NSLog(@"%@", @"Done");
- }
+ //}
- // [pool release];
+ [pool release];
}
View
22 Wildflowers of Detroit Iphone/CameraViewController.h
@@ -24,20 +24,20 @@
UITextField * comment;
NSInteger activeImageOrientation;
}
-@property(strong, nonatomic) id <FullscreenTransitionDelegate> fullscreenTransitionDelegate;
-@property(strong, nonatomic) UIImagePickerController * imagePicker;
-@property(strong, nonatomic) IBOutlet UIView * pictureDialog;
-@property(strong, nonatomic) IBOutlet UIView * pictureInfo;
-@property(strong, nonatomic) IBOutlet UITextField * reporter;
-@property(strong, nonatomic) IBOutlet UITextField * comment;
-@property(strong, nonatomic) IBOutlet UIImageView * imageView;
-@property(strong, nonatomic) UIImage * currentImage;
-@property(strong, nonatomic) IBOutlet UIView * shutterView;
+@property(retain, nonatomic) id <FullscreenTransitionDelegate> fullscreenTransitionDelegate;
+@property(retain, nonatomic) UIImagePickerController * imagePicker;
+@property(retain, nonatomic) IBOutlet UIView * pictureDialog;
+@property(retain, nonatomic) IBOutlet UIView * pictureInfo;
+@property(retain, nonatomic) IBOutlet UITextField * reporter;
+@property(retain, nonatomic) IBOutlet UITextField * comment;
+@property(retain, nonatomic) IBOutlet UIImageView * imageView;
+@property(retain, nonatomic) UIImage * currentImage;
+@property(retain, nonatomic) IBOutlet UIView * shutterView;
@property(nonatomic) NSInteger activeImageOrientation;
//Generalized / Superclass
-@property(strong, nonatomic) NSDictionary * attributeTranslation;
-@property(strong, nonatomic) NSMutableArray * selectedAttributes;
+@property(retain, nonatomic) NSDictionary * attributeTranslation;
+@property(retain, nonatomic) NSMutableArray * selectedAttributes;
- (void) secondTapTabButton;
View
1  Wildflowers of Detroit Iphone/CameraViewController.m
@@ -312,7 +312,6 @@ - (IBAction) didTouchSendButton:(id)sender{
[DeviceUser uniqueIdentifier], @"deviceuser_identifier",
nil];
- NSLog(@"debuggin %@", [newDocument debugDescription]);
for(NSString * attribute in selectedAttributes){
[newDocument setObject:@"true" forKey:attribute];
View
8 Wildflowers of Detroit Iphone/LoadingViewController.h
@@ -10,10 +10,10 @@
@interface LoadingViewController : UIViewController
-@property(nonatomic, strong) IBOutlet UIView * loadingView;
-@property(nonatomic, strong) IBOutlet UIView * rotateView;
-@property(nonatomic, strong) IBOutlet UIImageView * loadingImageView;
-@property(nonatomic, strong) IBOutlet UIImageView * rotateImageView;
+@property(nonatomic, retain) IBOutlet UIView * loadingView;
+@property(nonatomic, retain) IBOutlet UIView * rotateView;
+@property(nonatomic, retain) IBOutlet UIImageView * loadingImageView;
+@property(nonatomic, retain) IBOutlet UIImageView * rotateImageView;
@end
View
4 Wildflowers of Detroit Iphone/MapCouchbaseDataModel.h
@@ -22,8 +22,8 @@
}
-@property (nonatomic, strong) CouchDatabase *database;
-@property (nonatomic, strong) CouchLiveQuery* query;
+@property (nonatomic, retain) CouchDatabase *database;
+@property (nonatomic, retain) CouchLiveQuery* query;
+ (MapCouchbaseDataModel *)instance;
View
142 Wildflowers of Detroit Iphone/MapCouchbaseDataModel.m
@@ -13,88 +13,58 @@
#import "RHSettings.h"
+static MapCouchbaseDataModel * sharedCouchbase = NULL;
+
@implementation MapCouchbaseDataModel
@synthesize database;
@synthesize query;
++ (MapCouchbaseDataModel *) instance{
+ if(sharedCouchbase == NULL){
+ sharedCouchbase = [[MapCouchbaseDataModel alloc] init];
+ }
+ return sharedCouchbase;
+}
+
//- (id) initWithBlock:( void ( ^ )() ) didStartBlock {
- (id) init {
- // Start the Couchbase Mobile server:
- // gCouchLogLevel = 1;
- [CouchbaseMobile class]; // prevents dead-stripping
- CouchEmbeddedServer* server;
- if(![RHSettings useRemoteServer]){
- server = [[CouchEmbeddedServer alloc] init];
- } else {
- server = [[CouchEmbeddedServer alloc] initWithURL: [NSURL URLWithString: [RHSettings couchRemoteServer]]];
- /*
- Set Admin Credential Somehow??
- server.couchbase.adminCredential = [NSURLCredential credentialWithUser:@"winterroot" password:@"dieis8835nd" persistence:NSURLCredentialPersistenceForSession];
- */
- }
-#if INSTALL_CANNED_DATABASE
- NSString* dbPath = [[NSBundle mainBundle] pathForResource: [RHSettings databaseName] ofType: @"couch"];
- NSAssert(dbPath, @"Couldn't find "kDatabaseName".couch");
- [server installDefaultDatabase: dbPath];
-#endif
+ NSURL* serverURL = [NSURL URLWithString: @"http://data.winterroot.net:5984"];
+ CouchServer *server = [[CouchServer alloc] initWithURL: serverURL];
+ database = [server databaseNamed: [RHSettings databaseName]];
+ database.tracksChanges = YES;
+
+ // NSLog(@"%@", @"Calling did start block");
+ // didStartBlock();
+
+ //Compile views
+ CouchDesignDocument* design = [database designDocumentWithName: @"design"];
+ NSAssert(design, @"Couldn't find design document");
+ design.language = kCouchLanguageJavaScript;
+ [design defineViewNamed: @"detailDocuments"
+ map: @"function(doc) { emit([doc._id, doc.created_at], [doc._id, doc.reporter, doc.comment, doc.medium, doc.created_at] );}"];
+
+ [design defineViewNamed: @"deviceUserGalleryDocuments"
+ map: @"function(doc) { emit(doc.deviceuser_identifier,{'id':doc._id, 'thumb':doc.thumb, 'medium':doc.medium, 'latitude':doc.latitude, 'longitude':doc.longitude, 'reporter':doc.reporter, 'comment':doc.comment, 'created_at':doc.created_at} );}"];
+
+ design.language = kCouchLanguageJavaScript;
+ [design defineViewNamed: @"galleryDocuments"
+ map: @"function(doc) { emit([doc.created_at],{'id':doc._id, 'thumb':doc.thumb, 'medium':doc.medium, 'latitude':doc.latitude, 'longitude':doc.longitude, 'reporter':doc.reporter, 'comment':doc.comment, 'created_at':doc.created_at, 'deviceuser_identifier':doc.deviceuser_identifier } );}"];
+
+ design.language = kCouchLanguageJavaScript;
+ [design defineViewNamed: @"detailDocuments"
+ map: @"function(doc) { emit([doc._id, doc.created_at], [doc._id, doc.reporter, doc.comment, doc.medium, doc.created_at] );}"];
+ [design saveChanges];
+
+ //TODO: Reorganize to use a block
+ [(AppDelegate *) [[UIApplication sharedApplication] delegate] doneStartingUp];
+
- BOOL started = [server start: ^{ // ... this block runs later on when the server has started up:
- if (server.error) {
- [self showAlert: @"Couldn't start Couchbase." error: server.error fatal: YES];
- return;
- }
-
- // NSError ** outError;
- // NSString * version = [server getVersion: outError];
- // NSArray * databases = [server getDatabases];
- self.database = [server databaseNamed: [RHSettings databaseName]];
- NSAssert(database, @"Database Is NULL!");
-
-
- if(![RHSettings useRemoteServer]){
- // Create the database on the first run of the app.
- NSError* error;
- if (![self.database ensureCreated: &error]) {
- [self showAlert: @"Couldn't create local database." error: error fatal: YES];
- return;
- }
-
- }
-
- database.tracksChanges = YES;
-
- // NSLog(@"%@", @"Calling did start block");
- // didStartBlock();
-
- //Compile views
- CouchDesignDocument* design = [database designDocumentWithName: @"design"];
- NSAssert(design, @"Couldn't find design document");
- design.language = kCouchLanguageJavaScript;
- [design defineViewNamed: @"detailDocuments"
- map: @"function(doc) { emit([doc._id, doc.created_at], [doc._id, doc.reporter, doc.comment, doc.medium, doc.created_at] );}"];
-
- [design defineViewNamed: @"deviceUserGalleryDocuments"
- map: @"function(doc) { emit(doc.deviceuser_identifier,{'id':doc._id, 'thumb':doc.thumb, 'medium':doc.medium, 'latitude':doc.latitude, 'longitude':doc.longitude, 'reporter':doc.reporter, 'comment':doc.comment, 'created_at':doc.created_at} );}"];
-
- design.language = kCouchLanguageJavaScript;
- [design defineViewNamed: @"galleryDocuments"
- map: @"function(doc) { emit([doc.created_at],{'id':doc._id, 'thumb':doc.thumb, 'medium':doc.medium, 'latitude':doc.latitude, 'longitude':doc.longitude, 'reporter':doc.reporter, 'comment':doc.comment, 'created_at':doc.created_at, 'deviceuser_identifier':doc.deviceuser_identifier } );}"];
-
- design.language = kCouchLanguageJavaScript;
- [design defineViewNamed: @"detailDocuments"
- map: @"function(doc) { emit([doc._id, doc.created_at], [doc._id, doc.reporter, doc.comment, doc.medium, doc.created_at] );}"];
- [design saveChanges];
-
- //TODO: Reorganize to use a block
- [(AppDelegate *) [[UIApplication sharedApplication] delegate] doneStartingUp];
-
- }];
NSLog(@"%@", @"Started...");
- NSAssert(started, @"didnt start");
+
return self;
@@ -158,7 +128,7 @@ - (void) initializeQuery{
+ (NSData *) getDocumentThumbnailData: (NSString *) key {
- CouchDocument* doc = [[self.instance database] documentWithID: key];
+ CouchDocument* doc = [[[self instance] database] documentWithID: key];
CouchModel * model = [[CouchModel alloc] initWithDocument:doc];
CouchAttachment * thumbnail = [model attachmentNamed:@"thumb.jpg"];
if(thumbnail != nil){
@@ -169,7 +139,7 @@ + (NSData *) getDocumentThumbnailData: (NSString *) key {
}
+ (NSData *) getDocumentImageData: (NSString *) key {
- CouchDocument* doc = [[self.instance database] documentWithID: key];
+ CouchDocument* doc = [[[self instance] database] documentWithID: key];
CouchModel * model = [[CouchModel alloc] initWithDocument:doc];
CouchAttachment * thumbnail = [model attachmentNamed:@"medium.jpg"];
if(thumbnail != nil){
@@ -231,7 +201,7 @@ + (NSArray *) getUserGalleryDocumentsWithStartKey: (NSString *) startKey
andUserIdentifer: (NSString *) userIdentifier {
//Create view;
- CouchDatabase * database = [self.instance database];
+ CouchDatabase * database = [[self instance] database];
CouchDesignDocument* design = [database designDocumentWithName: @"design"];
NSAssert(design, @"Couldn't find design document");
// design.language = kCouchLanguageJavaScript;
@@ -257,7 +227,7 @@ + (NSArray *) getUserGalleryDocumentsWithStartKey: (NSString *) startKey
//how to specify multi value key??? array key, with match all entries
//query.keys = [NSArray arrayWithObject:[DeviceUser uniqueIdentifier]];
- NSArray * r = [(MapCouchbaseDataModel * ) self.instance runQuery:query];
+ NSArray * r = [(MapCouchbaseDataModel * ) [self instance] runQuery:query];
return [self readAttachments: r];
@@ -277,32 +247,32 @@ + (NSArray *) getDeviceUserGalleryDocumentsWithStartKey: (NSString *) startKey a
+ (NSArray *) getGalleryDocumentsWithStartKey: (NSString *) startKey andLimit: (NSInteger) limit {
//Create view;
- CouchDatabase * database = [self.instance database];
+ CouchDatabase * database = [[self instance] database];
CouchDesignDocument* design = [database designDocumentWithName: @"design"];
NSAssert(design, @"Couldn't find design document");
- // NSArray * r = [ (MapCouchbaseDataModel * ) self.instance getView:@"galleryDocuments"];
+ // NSArray * r = [ (MapCouchbaseDataModel * ) [self instance] getView:@"galleryDocuments"];
CouchQuery * query = [design queryViewNamed: @"galleryDocuments"]; //asLiveQuery];
query.descending = NO;
- NSArray * r = [(MapCouchbaseDataModel * ) self.instance runQuery:query];
+ NSArray * r = [(MapCouchbaseDataModel * ) [self instance] runQuery:query];
return [self readAttachments: r];
}
+ (NSArray *) getDetailDocumentsWithStartKey: (NSString *) startKey andLimit: (NSInteger) limit {
- CouchDatabase * database = [self.instance database];
+ CouchDatabase * database = [[self instance] database];
CouchDesignDocument* design = [database designDocumentWithName: @"design"];
NSAssert(design, @"Couldn't find design document");
[design saveChanges];
- // NSArray * r = [ (MapCouchbaseDataModel * ) self.instance getView:@"detailDocuments" ];
+ // NSArray * r = [ (MapCouchbaseDataModel * ) [self instance] getView:@"detailDocuments" ];
CouchQuery * query = [design queryViewNamed: @"detailDocuments"]; //asLiveQuery];
query.descending = NO;
- NSArray * r = [(MapCouchbaseDataModel * ) self.instance runQuery: query];
+ NSArray * r = [(MapCouchbaseDataModel * ) [self instance] runQuery: query];
for(int i=0; i<[r count]; i++){
NSDictionary * d = [r objectAtIndex:i];
@@ -342,14 +312,14 @@ + (NSArray *) getUserDocuments {
+ (NSArray *) getUserDocumentsWithOffset:(NSInteger)offset andLimit:(NSInteger)limit {
NSLog(@"getUserDocumentsWithOffset just calling getUserDocuments");
- return [self.instance _getUserDocuments];
+ return [[self instance] _getUserDocuments];
}
+ (void) addDocument: (NSDictionary *) document {
//Add any additional properties
// Save the document, asynchronously:
- CouchDocument* doc = [self.instance.database untitledDocument];
+ CouchDocument* doc = [[self instance].database untitledDocument];
RESTOperation* op = [doc putProperties:document];
[op onCompletion: ^{
if (op.error)
@@ -358,7 +328,7 @@ + (void) addDocument: (NSDictionary *) document {
// [self showErrorAlert: @"Couldn't save the new item" forOperation: op];
// Re-run the query:
//[self.dataSource.query start];
- [self.instance.query start];
+ [[[self instance] query] start];
}];
[op start];
@@ -367,7 +337,7 @@ + (void) addDocument: (NSDictionary *) document {
+ (void) addDocument: (NSDictionary *) document withAttachments: (NSDictionary *) attachments{
// Save the document, asynchronously:
- CouchDocument* doc = [self.instance.database untitledDocument];
+ CouchDocument* doc = [[self instance].database untitledDocument];
CouchModel * documentModel = doc.modelObject;
RESTOperation* op = [doc putProperties:document];
@@ -387,7 +357,7 @@ + (void) addDocument: (NSDictionary *) document withAttachments: (NSDictionary *
for(NSDictionary * attachmentValues in attachments ){
- CouchDocument * doc = [self.instance.database documentWithID:[object objectForKey:@"id"]];
+ CouchDocument * doc = [[[self instance] database] documentWithID:[object objectForKey:@"id"]];
CouchRevision * revision = doc.currentRevision;
NSString * contentType = (NSString *) [attachmentValues objectForKey:@"contentType"];
@@ -408,7 +378,7 @@ + (void) addDocument: (NSDictionary *) document withAttachments: (NSDictionary *
// [self showErrorAlert: @"Couldn't save the new item" forOperation: op];
// Re-run the query:
//[self.dataSource.query start];
- [self.instance.query start];
+ [ [[self instance] query] start];
}];
[op start];
View
6 Wildflowers of Detroit Iphone/MapDataModelBase.m
@@ -13,11 +13,5 @@
@implementation MapDataModelBase
-+ (id)instance
-{
- DEFINE_SHARED_INSTANCE_USING_BLOCK(^{
- return [[self alloc] init];
- });
-}
@end
View
2  Wildflowers of Detroit Iphone/MapDataModelSpoof.h
@@ -15,7 +15,7 @@
{
OrderedDictionary * userDocuments;
}
-@property(nonatomic, strong) OrderedDictionary * userDocuments;
+@property(nonatomic, retain) OrderedDictionary * userDocuments;
+ (MapDataModelSpoof *) instance;
View
49 Wildflowers of Detroit Iphone/MapViewController.h
@@ -35,17 +35,17 @@
BOOL mapShowing;
}
-@property(strong, nonatomic) id <FullscreenTransitionDelegate> fullscreenTransitionDelegate;
-@property(nonatomic, strong) MKMapView * mapView;
-@property(nonatomic, strong) UIView * timelineView;
-@property(nonatomic, strong) UIView *timelineControlsView;
-@property(nonatomic, strong) UIButton *mapInsetButton;
-@property(nonatomic, strong) TimelineVisualizationView * timelineVisualizationView;
-@property(nonatomic, strong) IBOutlet UIView * overlayView;
-
-@property(nonatomic, strong) NSMutableArray * nextDocumentSet;
-@property(nonatomic, strong) NSMutableArray * activeDocuments;
-@property(nonatomic, strong) NSMutableArray * prevDocumentSet;
+@property(retain, nonatomic) id <FullscreenTransitionDelegate> fullscreenTransitionDelegate;
+@property(nonatomic, retain) MKMapView * mapView;
+@property(nonatomic, retain) UIView * timelineView;
+@property(nonatomic, retain) UIView *timelineControlsView;
+@property(nonatomic, retain) UIButton *mapInsetButton;
+@property(nonatomic, retain) TimelineVisualizationView * timelineVisualizationView;
+@property(nonatomic, retain) IBOutlet UIView * overlayView;
+
+@property(nonatomic, retain) NSMutableArray * nextDocumentSet;
+@property(nonatomic, retain) NSMutableArray * activeDocuments;
+@property(nonatomic, retain) NSMutableArray * prevDocumentSet;
@property(nonatomic) NSInteger currentDetailIndex;
@property(nonatomic) NSInteger currentGalleryPage;
@property(nonatomic) BOOL userDataOnly;
@@ -59,27 +59,28 @@
//Gallery View Properties
-@property(strong, nonatomic) IBOutlet UIScrollView * galleryScrollView;
-@property(strong, nonatomic) IBOutlet UIScrollView * detailScrollView;
-@property(strong, nonatomic) IBOutlet UIView * detailView;
+@property(retain, nonatomic) IBOutlet UIScrollView * galleryScrollView;
+@property(retain, nonatomic) IBOutlet UIScrollView * detailScrollView;
+@property(retain, nonatomic) IBOutlet UIView * detailView;
-@property(strong, nonatomic) IBOutlet UIImageView * zoomView;
+@property(retain, nonatomic) IBOutlet UIImageView * zoomView;
-@property(strong, nonatomic) IBOutlet TimelineVisualizationView * visualization;
-@property(strong, nonatomic) IBOutlet UILabel * galleryHeading2;
-@property(strong, nonatomic) IBOutlet UILabel * myDataHeadingGallery;
+
+@property(retain, nonatomic) IBOutlet TimelineVisualizationView * visualization;
+@property(retain, nonatomic) IBOutlet UILabel * galleryHeading2;
+@property(retain, nonatomic) IBOutlet UILabel * myDataHeadingGallery;
//detailView
-@property(strong, nonatomic) IBOutlet UILabel * detailDate;
-@property(strong, nonatomic) IBOutlet UILabel * heading2;
+@property(retain, nonatomic) IBOutlet UILabel * detailDate;
+@property(retain, nonatomic) IBOutlet UILabel * heading2;
//infoView
-@property(strong, nonatomic) IBOutlet UIView * infoView;
-@property(strong, nonatomic) IBOutlet UITextView * comment;
-@property(strong, nonatomic) IBOutlet UILabel * location;
-@property(strong, nonatomic) IBOutlet UILabel * reporter;
+@property(retain, nonatomic) IBOutlet UIView * infoView;
+@property(retain, nonatomic) IBOutlet UITextView * comment;
+@property(retain, nonatomic) IBOutlet UILabel * location;
+@property(retain, nonatomic) IBOutlet UILabel * reporter;
//Map Functions
-(void) didRequestMapView:(id)sender;
View
15 Wildflowers of Detroit Iphone/MapViewController.m
@@ -8,8 +8,7 @@
#import "MapViewController.h"
#include <stdlib.h>
-#import "WOverlay.h"
-#import "WOverlayView.h"
+//#import "WOverlay.h"
#import "MapDataModel.h"
#import "RhusMapAnnotation.h"
#import "RhusDocument.h"
@@ -102,6 +101,8 @@ - (void)viewDidLoad
{
[super viewDidLoad];
+ NSLog(@"View Did Load!");
+
firstView = true;
//Set up some tags
@@ -124,8 +125,8 @@ - (void)viewDidLoad
//spoof an overlay geometry
- WOverlay * overlay = [[WOverlay alloc] init];
- [self.mapView addOverlay:overlay];
+ //WOverlay * overlay = [[WOverlay alloc] init];
+ //self.mapView addOverlay:overlay];
@@ -227,6 +228,7 @@ - (void) addAnnotations {
self.activeDocuments = [[NSMutableArray alloc] init ];
NSArray * documents;
+ NSLog(@"Running Query");
if(self.userDataOnly){
documents = [MapDataModel getDeviceUserGalleryDocumentsWithStartKey:nil andLimit:nil];
} else {
@@ -261,12 +263,15 @@ - (void) addAnnotations {
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
+ NSLog(@"View Did Appears!");
+
//TODO: Obviously both of these shouldn't be called
//RE: setupGalleryScroll is called in viewWillAppear
// - actually it's not, because something isn't in place yet, and nothing loads
//Both should be key-value observers and already be updated
//by the time the user clicks on the button.
+ NSLog(@"Adding Annotations");
[self addAnnotations];
[self setupGalleryScrollView];
@@ -484,10 +489,12 @@ - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnno
return annotationView;
}
+/*
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id < MKOverlay >)overlay{
WOverlayView * overlayView = [[WOverlayView alloc] initWithOverlay:overlay];
return overlayView;
}
+ */
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *) control {
View
4 Wildflowers of Detroit Iphone/RHLocation.h
@@ -13,10 +13,10 @@
<CLLocationManagerDelegate>
//Location Manager
-@property (nonatomic, strong) CLLocation * currentLocation;
+@property (nonatomic, retain) CLLocation * currentLocation;
//TODO: this should be private
-@property (nonatomic, strong) CLLocationManager * locationManager;
+@property (nonatomic, retain) CLLocationManager * locationManager;
+ (id) instance;
View
12 Wildflowers of Detroit Iphone/RHLocation.m
@@ -9,6 +9,7 @@
#import "RHLocation.h"
#import "SharedInstanceMacro.h"
+static RHLocation * sharedRHLocation = NULL;
@implementation RHLocation
@synthesize currentLocation, locationManager;
@@ -16,9 +17,11 @@ @implementation RHLocation
+ (id)instance
{
- DEFINE_SHARED_INSTANCE_USING_BLOCK(^{
- return [[self alloc] init];
- });
+ if(sharedRHLocation == NULL){
+ sharedRHLocation = [[RHLocation alloc] init];
+ }
+ return sharedRHLocation;
+
}
@@ -58,6 +61,8 @@ + (NSString *) getLongitudeString {
#pragma mark - CLLocationManagerDelegate Methods
+
+/*
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
if(status != kCLAuthorizationStatusAuthorized){
UIAlertView *alert = [[UIAlertView alloc]
@@ -71,6 +76,7 @@ - (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatu
[alert show];
}
}
+ */
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
View
2  Wildflowers of Detroit Iphone/RHSettings_Squirrels.m
@@ -23,7 +23,7 @@ + (NSString *) couchRemoteSyncURL {
}
+ (NSString *) databaseName {
- return @"squirrels";
+ return @"squirrels_of_the_earth";
}
View
2  Wildflowers of Detroit Iphone/SharedInstanceMacro.h
@@ -11,7 +11,7 @@
#define DEFINE_SHARED_INSTANCE_USING_BLOCK(block) \
static dispatch_once_t pred = 0; \
-__strong static id _sharedObject = nil; \
+__retain static id _sharedObject = nil; \
dispatch_once(&pred, ^{ \
_sharedObject = block(); \
}); \
View
22 Wildflowers of Detroit Iphone/SwoopTabViewController.h
@@ -32,21 +32,21 @@
}
-@property (strong, nonatomic) UIViewController * topViewController;
-@property (strong, nonatomic) UIViewController * middleViewController;
-@property (strong, nonatomic) UIViewController * bottomViewController;
+@property (retain, nonatomic) UIViewController * topViewController;
+@property (retain, nonatomic) UIViewController * middleViewController;
+@property (retain, nonatomic) UIViewController * bottomViewController;
-@property (strong, nonatomic) IBOutlet UIButton * topButton;
-@property (strong, nonatomic) IBOutlet UIButton * middleButton;
-@property (strong, nonatomic) IBOutlet UIButton * bottomButton;
-@property (strong, nonatomic) IBOutlet UIView * controlsView;
-@property (strong, nonatomic) IBOutlet UIImageView * controlsBackgroundImage;
+@property (retain, nonatomic) IBOutlet UIButton * topButton;
+@property (retain, nonatomic) IBOutlet UIButton * middleButton;
+@property (retain, nonatomic) IBOutlet UIButton * bottomButton;
+@property (retain, nonatomic) IBOutlet UIView * controlsView;
+@property (retain, nonatomic) IBOutlet UIImageView * controlsBackgroundImage;
-@property (strong, nonatomic) UIImage * topBackground;
-@property (strong, nonatomic) UIImage * middleBackground;
-@property (strong, nonatomic) UIImage * bottomBackground;
+@property (retain, nonatomic) UIImage * topBackground;
+@property (retain, nonatomic) UIImage * middleBackground;
+@property (retain, nonatomic) UIImage * bottomBackground;
@property (nonatomic) BOOL tabsHidden;
View
4 Wildflowers of Detroit Iphone/TimelineVisualizationView.h
@@ -27,8 +27,8 @@
NSArray * data; // Array of CGPoint objects
id <TimelineVisualizationViewDelegate> delegate;
}
-@property(nonatomic, strong) NSArray * data;
-@property(nonatomic, strong) id <TimelineVisualizationViewDelegate> delegate;
+@property(nonatomic, retain) NSArray * data;
+@property(nonatomic, retain) id <TimelineVisualizationViewDelegate> delegate;
@end
View
4 Wildflowers of Detroit Iphone/Wildflowers of Detroit Iphone-Prefix.pch
@@ -8,7 +8,7 @@
#warning "This project uses features only available in iOS SDK 3.0 and later."
#endif
-#ifdef __OBJC__
+//#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
-#endif
+//#endif
View
4 Wildflowers of Detroit Iphone/main.m
@@ -12,7 +12,7 @@
int main(int argc, char *argv[])
{
- @autoreleasepool {
+
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
- }
+
}
View
186 Wildflowers of Detroit.xcodeproj/project.pbxproj
@@ -72,6 +72,11 @@
A6D3AC9414BBC85F005BB81D /* swoopBarMiddle.png in Resources */ = {isa = PBXBuildFile; fileRef = A6D3AC9014BBC85F005BB81D /* swoopBarMiddle.png */; };
A6D3ACB814BBDDF8005BB81D /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = A6D3ACB714BBDDF8005BB81D /* icon.png */; };
A6EFC47214C4E1DE0014ACA9 /* infoBack.png in Resources */ = {isa = PBXBuildFile; fileRef = A6EFC47114C4E1DE0014ACA9 /* infoBack.png */; };
+ C3719540151641CE00B59111 /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05EF814BE335A0008FBB5 /* OrderedDictionary.m */; };
+ C395837815157E8D00B0AC3D /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = C395837715157E8D00B0AC3D /* libstdc++.dylib */; settings = {ATTRIBUTES = (Weak, ); }; };
+ C3E7F21B15191474002BEC7B /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3E7F21A15191474002BEC7B /* MapKit.framework */; };
+ C3E7F25E1519196A002BEC7B /* PLBlocks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3E7F25D1519196A002BEC7B /* PLBlocks.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
+ C3E7F27015191B80002BEC7B /* MapDataModelBase.m in Sources */ = {isa = PBXBuildFile; fileRef = F4AA3F4714DA551D00ED3CCE /* MapDataModelBase.m */; };
F419E4281509B6AF00DCE9A4 /* RhusMapAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = F419E4271509B6AF00DCE9A4 /* RhusMapAnnotation.m */; };
F422E2C5150C288A009317E5 /* RHSettings_Development.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE885F150C0C95009AE0FC /* RHSettings_Development.m */; };
F422E2C6150C288D009317E5 /* RHSettings_Squirrels.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE885D150C0BD1009AE0FC /* RHSettings_Squirrels.m */; };
@@ -91,7 +96,6 @@
F422E2EE150C331F009317E5 /* Loadingx2.png in Resources */ = {isa = PBXBuildFile; fileRef = F422E2DB150C3313009317E5 /* Loadingx2.png */; };
F43540DE14D1140D00C206CA /* mapPointPopup.png in Resources */ = {isa = PBXBuildFile; fileRef = F43540DC14D1140D00C206CA /* mapPointPopup.png */; };
F43540DF14D1140D00C206CA /* mapPoint.png in Resources */ = {isa = PBXBuildFile; fileRef = F43540DD14D1140D00C206CA /* mapPoint.png */; };
- F43B7E801508F33A00584E8B /* orangeOverlay.png in Resources */ = {isa = PBXBuildFile; fileRef = F43B7E7F1508F33A00584E8B /* orangeOverlay.png */; };
F48E254E150881DC00A021AE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D3929F14BBA6660051E831 /* main.m */; };
F49D333B150C3E8900BC1D7D /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = A6583056150C37B300AC1E55 /* Default.png */; };
F49D333C150C3E8C00BC1D7D /* Defaultx2.png in Resources */ = {isa = PBXBuildFile; fileRef = F4E29D62150C3A9000B797F3 /* Defaultx2.png */; };
@@ -100,23 +104,17 @@
F49D3457150CAF6200BC1D7D /* LoadingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F49D3454150CAF6100BC1D7D /* LoadingViewController.m */; };
F4A84C8F14BBD3FB00EF9627 /* CameraViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A84C8D14BBD3FB00EF9627 /* CameraViewController.m */; };
F4A84C9014BBD3FB00EF9627 /* CameraViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4A84C8E14BBD3FB00EF9627 /* CameraViewController.xib */; };
- F4A84C9414BBD41A00EF9627 /* MapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A84C9214BBD41A00EF9627 /* MapViewController.m */; };
F4A84C9514BBD41A00EF9627 /* MapViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4A84C9314BBD41A00EF9627 /* MapViewController.xib */; };
F4AA3F3B14DA2E8000ED3CCE /* MapCouchbaseDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = F4AA3F3A14DA2E8000ED3CCE /* MapCouchbaseDataModel.m */; };
- F4AA3F4114DA2F4800ED3CCE /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4014DA2F4800ED3CCE /* MapKit.framework */; };
- F4AA3F4414DA2F5100ED3CCE /* Couchbase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4214DA2F5100ED3CCE /* Couchbase.framework */; };
F4AA3F4514DA2F5100ED3CCE /* CouchCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4314DA2F5100ED3CCE /* CouchCocoa.framework */; };
- F4AA3F4814DA551D00ED3CCE /* MapDataModelBase.m in Sources */ = {isa = PBXBuildFile; fileRef = F4AA3F4714DA551D00ED3CCE /* MapDataModelBase.m */; };
F4AA3F4B14DA567300ED3CCE /* MapDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = F4AA3F4A14DA567300ED3CCE /* MapDataModel.m */; };
F4AA3F4D14DA5B3E00ED3CCE /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4C14DA5B3E00ED3CCE /* Security.framework */; };
F4AA3F4F14DA5B4A00ED3CCE /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4E14DA5B4A00ED3CCE /* libz.dylib */; };
- F4AA3F5314DA5BBA00ED3CCE /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F5214DA5BBA00ED3CCE /* libstdc++.dylib */; };
F4AA3F5714DA5BFE00ED3CCE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D392A314BBA6660051E831 /* AppDelegate.m */; };
F4AA3F5814DA5BFE00ED3CCE /* SwoopTabViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D392C714BBB5CA0051E831 /* SwoopTabViewController.m */; };
F4AA3F5A14DA5BFE00ED3CCE /* CameraViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A84C8D14BBD3FB00EF9627 /* CameraViewController.m */; };
F4AA3F5B14DA5BFE00ED3CCE /* MapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A84C9214BBD41A00EF9627 /* MapViewController.m */; };
F4AA3F5C14DA5BFE00ED3CCE /* MapDataModelSpoof.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05DDC14BCE1EF0008FBB5 /* MapDataModelSpoof.m */; };
- F4AA3F5D14DA5BFE00ED3CCE /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05EF814BE335A0008FBB5 /* OrderedDictionary.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
F4AA3F5F14DA5BFE00ED3CCE /* SSMapAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F7914CF97EE0041492E /* SSMapAnnotation.m */; };
F4AA3F6014DA5BFE00ED3CCE /* WOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F7D14CFA3D00041492E /* WOverlayView.m */; };
F4AA3F6114DA5BFE00ED3CCE /* WOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F8114CFA6250041492E /* WOverlay.m */; };
@@ -124,12 +122,9 @@
F4AA3F6314DA5BFE00ED3CCE /* MapCouchbaseDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = F4AA3F3A14DA2E8000ED3CCE /* MapCouchbaseDataModel.m */; };
F4AA3F6414DA5BFE00ED3CCE /* MapDataModelBase.m in Sources */ = {isa = PBXBuildFile; fileRef = F4AA3F4714DA551D00ED3CCE /* MapDataModelBase.m */; };
F4AA3F6514DA5BFE00ED3CCE /* MapDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = F4AA3F4A14DA567300ED3CCE /* MapDataModel.m */; };
- F4AA3F6714DA5BFE00ED3CCE /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F5214DA5BBA00ED3CCE /* libstdc++.dylib */; };
F4AA3F6914DA5BFE00ED3CCE /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4E14DA5B4A00ED3CCE /* libz.dylib */; };
F4AA3F6A14DA5BFE00ED3CCE /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4C14DA5B3E00ED3CCE /* Security.framework */; };
- F4AA3F6B14DA5BFE00ED3CCE /* Couchbase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4214DA2F5100ED3CCE /* Couchbase.framework */; };
F4AA3F6C14DA5BFE00ED3CCE /* CouchCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4314DA2F5100ED3CCE /* CouchCocoa.framework */; };
- F4AA3F6D14DA5BFE00ED3CCE /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4014DA2F4800ED3CCE /* MapKit.framework */; };
F4AA3F6E14DA5BFE00ED3CCE /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929314BBA6660051E831 /* UIKit.framework */; };
F4AA3F6F14DA5BFE00ED3CCE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929514BBA6660051E831 /* Foundation.framework */; };
F4AA3F7014DA5BFE00ED3CCE /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929714BBA6660051E831 /* CoreGraphics.framework */; };
@@ -194,17 +189,14 @@
F4C05DDD14BCE1EF0008FBB5 /* MapDataModelSpoof.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05DDC14BCE1EF0008FBB5 /* MapDataModelSpoof.m */; };
F4C05EF214BD1A900008FBB5 /* Northern%2BShrike%2BRenews%2528blog%2529.jpg in Resources */ = {isa = PBXBuildFile; fileRef = F4C05EF114BD1A900008FBB5 /* Northern%2BShrike%2BRenews%2528blog%2529.jpg */; };
F4C05EF614BD24330008FBB5 /* 106x106.png in Resources */ = {isa = PBXBuildFile; fileRef = F4C05EF514BD24330008FBB5 /* 106x106.png */; };
- F4C05EF914BE335A0008FBB5 /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05EF814BE335A0008FBB5 /* OrderedDictionary.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
F4C061AA14BE5DE90008FBB5 /* testdataplist.plist in Resources */ = {isa = PBXBuildFile; fileRef = F4C061A914BE5DE90008FBB5 /* testdataplist.plist */; };
F4C0623314BE6C0F0008FBB5 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929314BBA6660051E831 /* UIKit.framework */; };
F4C0623414BE6C0F0008FBB5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929514BBA6660051E831 /* Foundation.framework */; };
F4C0623514BE6C0F0008FBB5 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929714BBA6660051E831 /* CoreGraphics.framework */; };
F4C0623B14BE6C0F0008FBB5 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F4C0623914BE6C0F0008FBB5 /* InfoPlist.strings */; };
F4C0623D14BE6C0F0008FBB5 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C0623C14BE6C0F0008FBB5 /* main.m */; };
- F4C0624614BE6D0A0008FBB5 /* GHUnitIOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4C0624514BE6D0A0008FBB5 /* GHUnitIOS.framework */; };
F4C0624714BE6E1C0008FBB5 /* Wildflowers_of_Detroit_IphoneTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D392B814BBA6660051E831 /* Wildflowers_of_Detroit_IphoneTests.m */; };
F4C0624814BE6E480008FBB5 /* MapDataModelSpoof.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05DDC14BCE1EF0008FBB5 /* MapDataModelSpoof.m */; };
- F4C0624914BE6E590008FBB5 /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05EF814BE335A0008FBB5 /* OrderedDictionary.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
F4C0624A14BE70C00008FBB5 /* testdataplist.plist in Resources */ = {isa = PBXBuildFile; fileRef = F4C061A914BE5DE90008FBB5 /* testdataplist.plist */; };
F4CE8732150AE1E7009AE0FC /* RhusDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE8731150AE1E7009AE0FC /* RhusDocument.m */; };
F4CE8841150B0B40009AE0FC /* DeviceUser.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE8840150B0B40009AE0FC /* DeviceUser.m */; };
@@ -215,7 +207,6 @@
F4CE89CC150C0E24009AE0FC /* CameraViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A84C8D14BBD3FB00EF9627 /* CameraViewController.m */; };
F4CE89CD150C0E24009AE0FC /* MapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A84C9214BBD41A00EF9627 /* MapViewController.m */; };
F4CE89CE150C0E24009AE0FC /* MapDataModelSpoof.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05DDC14BCE1EF0008FBB5 /* MapDataModelSpoof.m */; };
- F4CE89CF150C0E24009AE0FC /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05EF814BE335A0008FBB5 /* OrderedDictionary.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
F4CE89D0150C0E24009AE0FC /* SSMapAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F7914CF97EE0041492E /* SSMapAnnotation.m */; };
F4CE89D1150C0E24009AE0FC /* WOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F7D14CFA3D00041492E /* WOverlayView.m */; };
F4CE89D2150C0E24009AE0FC /* WOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F8114CFA6250041492E /* WOverlay.m */; };
@@ -229,14 +220,11 @@
F4CE89DA150C0E24009AE0FC /* DeviceUser.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE8840150B0B40009AE0FC /* DeviceUser.m */; };
F4CE89DB150C0E24009AE0FC /* RHLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE8855150C01E1009AE0FC /* RHLocation.m */; };
F4CE89DD150C0E24009AE0FC /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4CE8857150C08A3009AE0FC /* CoreLocation.framework */; };
- F4CE89DE150C0E24009AE0FC /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F5214DA5BBA00ED3CCE /* libstdc++.dylib */; };
F4CE89DF150C0E24009AE0FC /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4E14DA5B4A00ED3CCE /* libz.dylib */; };
F4CE89E0150C0E24009AE0FC /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4C14DA5B3E00ED3CCE /* Security.framework */; };
- F4CE89E1150C0E24009AE0FC /* Couchbase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4214DA2F5100ED3CCE /* Couchbase.framework */; };
F4CE89E2150C0E24009AE0FC /* CouchCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4314DA2F5100ED3CCE /* CouchCocoa.framework */; };
- F4CE89E3150C0E24009AE0FC /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4014DA2F4800ED3CCE /* MapKit.framework */; };
- F4CE89E4150C0E24009AE0FC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929314BBA6660051E831 /* UIKit.framework */; };
- F4CE89E5150C0E24009AE0FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929514BBA6660051E831 /* Foundation.framework */; };
+ F4CE89E4150C0E24009AE0FC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929314BBA6660051E831 /* UIKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
+ F4CE89E5150C0E24009AE0FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929514BBA6660051E831 /* Foundation.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
F4CE89E6150C0E24009AE0FC /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929714BBA6660051E831 /* CoreGraphics.framework */; };
F4CE89E9150C0E24009AE0FC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F4D3929C14BBA6660051E831 /* InfoPlist.strings */; };
F4CE89EA150C0E24009AE0FC /* SwoopTabViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6A620D114BBB7FC0096CA01 /* SwoopTabViewController.xib */; };
@@ -323,7 +311,6 @@
F4EB1FAF150C24B90041A957 /* CameraViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A84C8D14BBD3FB00EF9627 /* CameraViewController.m */; };
F4EB1FB0150C24B90041A957 /* MapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A84C9214BBD41A00EF9627 /* MapViewController.m */; };
F4EB1FB1150C24B90041A957 /* MapDataModelSpoof.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05DDC14BCE1EF0008FBB5 /* MapDataModelSpoof.m */; };
- F4EB1FB2150C24B90041A957 /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C05EF814BE335A0008FBB5 /* OrderedDictionary.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
F4EB1FB3150C24B90041A957 /* SSMapAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F7914CF97EE0041492E /* SSMapAnnotation.m */; };
F4EB1FB4150C24B90041A957 /* WOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F7D14CFA3D00041492E /* WOverlayView.m */; };
F4EB1FB5150C24B90041A957 /* WOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F8114CFA6250041492E /* WOverlay.m */; };
@@ -337,12 +324,9 @@
F4EB1FBD150C24B90041A957 /* DeviceUser.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE8840150B0B40009AE0FC /* DeviceUser.m */; };
F4EB1FBE150C24B90041A957 /* RHLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE8855150C01E1009AE0FC /* RHLocation.m */; };
F4EB1FC0150C24B90041A957 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4CE8857150C08A3009AE0FC /* CoreLocation.framework */; };
- F4EB1FC1150C24B90041A957 /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F5214DA5BBA00ED3CCE /* libstdc++.dylib */; };
F4EB1FC2150C24B90041A957 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4E14DA5B4A00ED3CCE /* libz.dylib */; };
F4EB1FC3150C24B90041A957 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4C14DA5B3E00ED3CCE /* Security.framework */; };
- F4EB1FC4150C24B90041A957 /* Couchbase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4214DA2F5100ED3CCE /* Couchbase.framework */; };
F4EB1FC5150C24B90041A957 /* CouchCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4314DA2F5100ED3CCE /* CouchCocoa.framework */; };
- F4EB1FC6150C24B90041A957 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4AA3F4014DA2F4800ED3CCE /* MapKit.framework */; };
F4EB1FC7150C24B90041A957 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929314BBA6660051E831 /* UIKit.framework */; };
F4EB1FC8150C24B90041A957 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929514BBA6660051E831 /* Foundation.framework */; };
F4EB1FC9150C24B90041A957 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4D3929714BBA6660051E831 /* CoreGraphics.framework */; };
@@ -423,14 +407,10 @@
F4EB2108150C24B90041A957 /* MenuReturnButton.png in Resources */ = {isa = PBXBuildFile; fileRef = A6B74F1A150A20F300D1B133 /* MenuReturnButton.png */; };
F4EDE02814D0EB7800242082 /* TimelineVisualizationView.m in Sources */ = {isa = PBXBuildFile; fileRef = F4EDE02714D0EB7800242082 /* TimelineVisualizationView.m */; };
F4F02F7A14CF97EE0041492E /* SSMapAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F7914CF97EE0041492E /* SSMapAnnotation.m */; };
- F4F02F7E14CFA3D00041492E /* WOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F7D14CFA3D00041492E /* WOverlayView.m */; };
- F4F02F8214CFA6250041492E /* WOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F02F8114CFA6250041492E /* WOverlay.m */; };
F4F2857B150DADBC009A24C9 /* shutter.png in Resources */ = {isa = PBXBuildFile; fileRef = F4F2857A150DADBC009A24C9 /* shutter.png */; };
F4F2857D150DB751009A24C9 /* shutter.png in Resources */ = {isa = PBXBuildFile; fileRef = F4F2857A150DADBC009A24C9 /* shutter.png */; };
F4F2857E150DB751009A24C9 /* shutter.png in Resources */ = {isa = PBXBuildFile; fileRef = F4F2857A150DADBC009A24C9 /* shutter.png */; };
- F4F2859E150DEA3A009A24C9 /* mapDeviceUserPoint.png in Resources */ = {isa = PBXBuildFile; fileRef = F4F2859D150DEA3A009A24C9 /* mapDeviceUserPoint.png */; };
- F4F2F42F150E0968003969F9 /* mapDeviceUserPoint.png in Resources */ = {isa = PBXBuildFile; fileRef = F4F2859D150DEA3A009A24C9 /* mapDeviceUserPoint.png */; };
- F4F2F431150E0968003969F9 /* mapDeviceUserPoint.png in Resources */ = {isa = PBXBuildFile; fileRef = F4F2859D150DEA3A009A24C9 /* mapDeviceUserPoint.png */; };
+ F4F28588150DE38A009A24C9 /* libSystem.B.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F4F28586150DE38A009A24C9 /* libSystem.B.dylib */; settings = {ATTRIBUTES = (Weak, ); }; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -500,6 +480,9 @@
A6D3AC9014BBC85F005BB81D /* swoopBarMiddle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = swoopBarMiddle.png; path = graphics/swoopBarMiddle.png; sourceTree = SOURCE_ROOT; };
A6D3ACB714BBDDF8005BB81D /* icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = icon.png; path = graphics/icon.png; sourceTree = SOURCE_ROOT; };
A6EFC47114C4E1DE0014ACA9 /* infoBack.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = infoBack.png; path = graphics/infoBack.png; sourceTree = SOURCE_ROOT; };
+ C395837715157E8D00B0AC3D /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "/usr/lib/gcc/i686-apple-darwin10/4.0.1/libstdc++.dylib"; sourceTree = "<absolute>"; };
+ C3E7F21A15191474002BEC7B /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
+ C3E7F25D1519196A002BEC7B /* PLBlocks.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PLBlocks.framework; path = Frameworks/PLBlocks.framework; sourceTree = "<group>"; };
F419E4261509B6AF00DCE9A4 /* RhusMapAnnotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RhusMapAnnotation.h; sourceTree = "<group>"; };
F419E4271509B6AF00DCE9A4 /* RhusMapAnnotation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RhusMapAnnotation.m; sourceTree = "<group>"; };
F422E2C8150C3309009317E5 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
@@ -528,8 +511,6 @@
F4A84C9314BBD41A00EF9627 /* MapViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MapViewController.xib; sourceTree = "<group>"; };
F4AA3F3914DA2E8000ED3CCE /* MapCouchbaseDataModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapCouchbaseDataModel.h; sourceTree = "<group>"; };
F4AA3F3A14DA2E8000ED3CCE /* MapCouchbaseDataModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapCouchbaseDataModel.m; sourceTree = "<group>"; };
- F4AA3F4014DA2F4800ED3CCE /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
- F4AA3F4214DA2F5100ED3CCE /* Couchbase.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Couchbase.framework; path = Frameworks/Couchbase.framework; sourceTree = "<group>"; };
F4AA3F4314DA2F5100ED3CCE /* CouchCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CouchCocoa.framework; path = Frameworks/CouchCocoa.framework; sourceTree = "<group>"; };
F4AA3F4614DA551D00ED3CCE /* MapDataModelBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapDataModelBase.h; sourceTree = "<group>"; };
F4AA3F4714DA551D00ED3CCE /* MapDataModelBase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapDataModelBase.m; sourceTree = "<group>"; };
@@ -537,7 +518,6 @@
F4AA3F4A14DA567300ED3CCE /* MapDataModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapDataModel.m; sourceTree = "<group>"; };
F4AA3F4C14DA5B3E00ED3CCE /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
F4AA3F4E14DA5B4A00ED3CCE /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
- F4AA3F5214DA5BBA00ED3CCE /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/libstdc++.dylib"; sourceTree = SDKROOT; };
F4AA40FF14DA5BFE00ED3CCE /* Wildflowers of Detroit Iphone copy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Wildflowers of Detroit Iphone copy.app"; sourceTree = BUILT_PRODUCTS_DIR; };
F4C05DDB14BCE1EF0008FBB5 /* MapDataModelSpoof.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapDataModelSpoof.h; sourceTree = "<group>"; };
F4C05DDC14BCE1EF0008FBB5 /* MapDataModelSpoof.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapDataModelSpoof.m; sourceTree = "<group>"; };
@@ -563,7 +543,6 @@
F4C0623A14BE6C0F0008FBB5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
F4C0623C14BE6C0F0008FBB5 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
F4C0623E14BE6C0F0008FBB5 /* GHUnit Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "GHUnit Tests-Prefix.pch"; sourceTree = "<group>"; };
- F4C0624514BE6D0A0008FBB5 /* GHUnitIOS.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GHUnitIOS.framework; path = "../../IphoneDevelopment/Libs/gh-unit/Project-iOS/build/Framework/GHUnitIOS.framework"; sourceTree = "<group>"; };
F4CE8730150AE1E7009AE0FC /* RhusDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RhusDocument.h; sourceTree = "<group>"; };
F4CE8731150AE1E7009AE0FC /* RhusDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RhusDocument.m; sourceTree = "<group>"; };
F4CE883F150B0B40009AE0FC /* DeviceUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeviceUser.h; sourceTree = "<group>"; };
@@ -576,7 +555,7 @@
F4CE885D150C0BD1009AE0FC /* RHSettings_Squirrels.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RHSettings_Squirrels.m; sourceTree = "<group>"; };
F4CE885F150C0C95009AE0FC /* RHSettings_Development.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RHSettings_Development.m; sourceTree = "<group>"; };
F4CE8B2B150C0E24009AE0FC /* SquirrelsOfTheEarth.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SquirrelsOfTheEarth.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F4D3928F14BBA6660051E831 /* Wild Detroit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Wild Detroit.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ F4D3928F14BBA6660051E831 /* Wildflowers of Detroit Iphone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Wildflowers of Detroit Iphone.app"; sourceTree = BUILT_PRODUCTS_DIR; };
F4D3929314BBA6660051E831 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
F4D3929514BBA6660051E831 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
F4D3929714BBA6660051E831 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
@@ -604,7 +583,7 @@
F4F02F8014CFA6250041492E /* WOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WOverlay.h; sourceTree = "<group>"; };
F4F02F8114CFA6250041492E /* WOverlay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WOverlay.m; sourceTree = "<group>"; };
F4F2857A150DADBC009A24C9 /* shutter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = shutter.png; path = graphics/shutter.png; sourceTree = SOURCE_ROOT; };
- F4F2859D150DEA3A009A24C9 /* mapDeviceUserPoint.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = mapDeviceUserPoint.png; path = graphics/mapDeviceUserPoint.png; sourceTree = SOURCE_ROOT; };
+ F4F28586150DE38A009A24C9 /* libSystem.B.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libSystem.B.dylib; path = usr/lib/libSystem.B.dylib; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -612,12 +591,9 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- F4AA3F6714DA5BFE00ED3CCE /* libstdc++.dylib in Frameworks */,
F4AA3F6914DA5BFE00ED3CCE /* libz.dylib in Frameworks */,
F4AA3F6A14DA5BFE00ED3CCE /* Security.framework in Frameworks */,
- F4AA3F6B14DA5BFE00ED3CCE /* Couchbase.framework in Frameworks */,
F4AA3F6C14DA5BFE00ED3CCE /* CouchCocoa.framework in Frameworks */,
- F4AA3F6D14DA5BFE00ED3CCE /* MapKit.framework in Frameworks */,
F4AA3F6E14DA5BFE00ED3CCE /* UIKit.framework in Frameworks */,
F4AA3F6F14DA5BFE00ED3CCE /* Foundation.framework in Frameworks */,
F4AA3F7014DA5BFE00ED3CCE /* CoreGraphics.framework in Frameworks */,
@@ -631,7 +607,6 @@
F4C0623314BE6C0F0008FBB5 /* UIKit.framework in Frameworks */,
F4C0623414BE6C0F0008FBB5 /* Foundation.framework in Frameworks */,
F4C0623514BE6C0F0008FBB5 /* CoreGraphics.framework in Frameworks */,
- F4C0624614BE6D0A0008FBB5 /* GHUnitIOS.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -639,13 +614,11 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ F4F28588150DE38A009A24C9 /* libSystem.B.dylib in Frameworks */,
F4CE89DD150C0E24009AE0FC /* CoreLocation.framework in Frameworks */,
- F4CE89DE150C0E24009AE0FC /* libstdc++.dylib in Frameworks */,
F4CE89DF150C0E24009AE0FC /* libz.dylib in Frameworks */,
F4CE89E0150C0E24009AE0FC /* Security.framework in Frameworks */,
- F4CE89E1150C0E24009AE0FC /* Couchbase.framework in Frameworks */,
F4CE89E2150C0E24009AE0FC /* CouchCocoa.framework in Frameworks */,
- F4CE89E3150C0E24009AE0FC /* MapKit.framework in Frameworks */,
F4CE89E4150C0E24009AE0FC /* UIKit.framework in Frameworks */,
F4CE89E5150C0E24009AE0FC /* Foundation.framework in Frameworks */,
F4CE89E6150C0E24009AE0FC /* CoreGraphics.framework in Frameworks */,
@@ -657,15 +630,15 @@
buildActionMask = 2147483647;
files = (
F4CE8858150C08A3009AE0FC /* CoreLocation.framework in Frameworks */,
- F4AA3F5314DA5BBA00ED3CCE /* libstdc++.dylib in Frameworks */,
F4AA3F4F14DA5B4A00ED3CCE /* libz.dylib in Frameworks */,
F4AA3F4D14DA5B3E00ED3CCE /* Security.framework in Frameworks */,
- F4AA3F4414DA2F5100ED3CCE /* Couchbase.framework in Frameworks */,
F4AA3F4514DA2F5100ED3CCE /* CouchCocoa.framework in Frameworks */,
- F4AA3F4114DA2F4800ED3CCE /* MapKit.framework in Frameworks */,
F4D3929414BBA6660051E831 /* UIKit.framework in Frameworks */,
F4D3929614BBA6660051E831 /* Foundation.framework in Frameworks */,
F4D3929814BBA6660051E831 /* CoreGraphics.framework in Frameworks */,
+ C395837815157E8D00B0AC3D /* libstdc++.dylib in Frameworks */,
+ C3E7F21B15191474002BEC7B /* MapKit.framework in Frameworks */,
+ C3E7F25E1519196A002BEC7B /* PLBlocks.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -674,12 +647,9 @@
buildActionMask = 2147483647;
files = (
F4EB1FC0150C24B90041A957 /* CoreLocation.framework in Frameworks */,
- F4EB1FC1150C24B90041A957 /* libstdc++.dylib in Frameworks */,
F4EB1FC2150C24B90041A957 /* libz.dylib in Frameworks */,
F4EB1FC3150C24B90041A957 /* Security.framework in Frameworks */,
- F4EB1FC4150C24B90041A957 /* Couchbase.framework in Frameworks */,
F4EB1FC5150C24B90041A957 /* CouchCocoa.framework in Frameworks */,
- F4EB1FC6150C24B90041A957 /* MapKit.framework in Frameworks */,
F4EB1FC7150C24B90041A957 /* UIKit.framework in Frameworks */,
F4EB1FC8150C24B90041A957 /* Foundation.framework in Frameworks */,
F4EB1FC9150C24B90041A957 /* CoreGraphics.framework in Frameworks */,
@@ -692,7 +662,6 @@
A6A620D814BBBB670096CA01 /* Graphics */ = {
isa = PBXGroup;
children = (
- F4F2859D150DEA3A009A24C9 /* mapDeviceUserPoint.png */,
F4F2857A150DADBC009A24C9 /* shutter.png */,
F43B7E7F1508F33A00584E8B /* orangeOverlay.png */,
A6B74F17150A20F300D1B133 /* MapIcon.psd */,
@@ -883,13 +852,11 @@
F4D3928414BBA6650051E831 = {
isa = PBXGroup;
children = (
+ F4F28586150DE38A009A24C9 /* libSystem.B.dylib */,
F4CE8857150C08A3009AE0FC /* CoreLocation.framework */,
- F4AA3F5214DA5BBA00ED3CCE /* libstdc++.dylib */,
F4AA3F4E14DA5B4A00ED3CCE /* libz.dylib */,
F4AA3F4C14DA5B3E00ED3CCE /* Security.framework */,
- F4AA3F4214DA2F5100ED3CCE /* Couchbase.framework */,
F4AA3F4314DA2F5100ED3CCE /* CouchCocoa.framework */,
- F4AA3F4014DA2F4800ED3CCE /* MapKit.framework */,
F4D3929914BBA6660051E831 /* Wildflowers of Detroit Iphone */,
F4D392B114BBA6660051E831 /* Wildflowers of Detroit IphoneTests */,
F4D3929214BBA6660051E831 /* Frameworks */,
@@ -897,13 +864,16 @@
F4D3929B14BBA6660051E831 /* Wildflowers of Detroit Iphone-Info.plist */,
A6428BAB150C3FA400CC0D03 /* SquirrelsOfTheEarth-Info.plist */,
A6428BAE150C3FAF00CC0D03 /* RhusDevelopment-Info.plist */,
+ C395837715157E8D00B0AC3D /* libstdc++.dylib */,
+ C3E7F21A15191474002BEC7B /* MapKit.framework */,
+ C3E7F25D1519196A002BEC7B /* PLBlocks.framework */,
);
sourceTree = "<group>";
};
F4D3929014BBA6660051E831 /* Products */ = {
isa = PBXGroup;
children = (
- F4D3928F14BBA6660051E831 /* Wild Detroit.app */,
+ F4D3928F14BBA6660051E831 /* Wildflowers of Detroit Iphone.app */,
F4C0623114BE6C0F0008FBB5 /* GHUnit Tests.app */,
F4AA40FF14DA5BFE00ED3CCE /* Wildflowers of Detroit Iphone copy.app */,
F4CE8B2B150C0E24009AE0FC /* SquirrelsOfTheEarth.app */,
@@ -915,7 +885,6 @@
F4D3929214BBA6660051E831 /* Frameworks */ = {
isa = PBXGroup;
children = (
- F4C0624514BE6D0A0008FBB5 /* GHUnitIOS.framework */,
F4D3929314BBA6660051E831 /* UIKit.framework */,
F4D3929514BBA6660051E831 /* Foundation.framework */,
F4D3929714BBA6660051E831 /* CoreGraphics.framework */,
@@ -1065,7 +1034,6 @@
buildPhases = (
F4D3928B14BBA6660051E831 /* Sources */,
F4D3928C14BBA6660051E831 /* Frameworks */,
- F4AA3F3714DA2DD000ED3CCE /* Copy Couchbase Files */,
F4D3928D14BBA6660051E831 /* Resources */,
);
buildRules = (
@@ -1074,7 +1042,7 @@
);
name = "Wildflowers of Detroit Iphone";
productName = "Wildflowers of Detroit Iphone";
- productReference = F4D3928F14BBA6660051E831 /* Wild Detroit.app */;
+ productReference = F4D3928F14BBA6660051E831 /* Wildflowers of Detroit Iphone.app */;
productType = "com.apple.product-type.application";
};
F4EB1FAB150C24B90041A957 /* RhusDevelopment */ = {
@@ -1105,7 +1073,6 @@
};
buildConfigurationList = F4D3928914BBA6650051E831 /* Build configuration list for PBXProject "Wildflowers of Detroit" */;
compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
@@ -1277,7 +1244,6 @@
F422E2E8150C331A009317E5 /* StoreIcon.png in Resources */,
A6428BE5150CAF4800CC0D03 /* LoadingViewController.xib in Resources */,
F4F2857D150DB751009A24C9 /* shutter.png in Resources */,
- F4F2F42F150E0968003969F9 /* mapDeviceUserPoint.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1344,7 +1310,6 @@
F4AA41B214DA5D2900ED3CCE /* thumbnail_IMG_0078.jpg in Resources */,
F4AA41B314DA5D2900ED3CCE /* thumbnail_IMG_0079.jpg in Resources */,
F4AA41B414DA5D2900ED3CCE /* thumbnail_IMG_0125.jpg in Resources */,
- F43B7E801508F33A00584E8B /* orangeOverlay.png in Resources */,
A6B74F03150A1B7A00D1B133 /* cancelButtton.png in Resources */,
A6B74F05150A1B7A00D1B133 /* galleryButton.psd in Resources */,
A6B74F06150A1B7A00D1B133 /* Iconx2.png in Resources */,
@@ -1369,7 +1334,6 @@
F49D333C150C3E8C00BC1D7D /* Defaultx2.png in Resources */,
A6428BE4150CAF4800CC0D03 /* LoadingViewController.xib in Resources */,
F4F2857B150DADBC009A24C9 /* shutter.png in Resources */,
- F4F2859E150DEA3A009A24C9 /* mapDeviceUserPoint.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1460,27 +1424,12 @@
F422E2EE150C331F009317E5 /* Loadingx2.png in Resources */,
A6428BE6150CAF4800CC0D03 /* LoadingViewController.xib in Resources */,
F4F2857E150DB751009A24C9 /* shutter.png in Resources */,
- F4F2F431150E0968003969F9 /* mapDeviceUserPoint.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
- F4AA3F3714DA2DD000ED3CCE /* Copy Couchbase Files */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Copy Couchbase Files";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "# The 'CouchbaseResources' subfolder of the framework contains Erlang code and other resources needed at runtime. Copy it into the app bundle:\nrsync -a \"${SRCROOT}/Frameworks/Couchbase.framework/CouchbaseResources\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"";
- };
F4AA3F7114DA5BFE00ED3CCE /* Copy Couchbase Files */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -1535,7 +1484,6 @@
F4AA3F5A14DA5BFE00ED3CCE /* CameraViewController.m in Sources */,
F4AA3F5B14DA5BFE00ED3CCE /* MapViewController.m in Sources */,
F4AA3F5C14DA5BFE00ED3CCE /* MapDataModelSpoof.m in Sources */,
- F4AA3F5D14DA5BFE00ED3CCE /* OrderedDictionary.m in Sources */,
F4AA3F5F14DA5BFE00ED3CCE /* SSMapAnnotation.m in Sources */,
F4AA3F6014DA5BFE00ED3CCE /* WOverlayView.m in Sources */,
F4AA3F6114DA5BFE00ED3CCE /* WOverlay.m in Sources */,
@@ -1553,7 +1501,6 @@
F4C0623D14BE6C0F0008FBB5 /* main.m in Sources */,
F4C0624714BE6E1C0008FBB5 /* Wildflowers_of_Detroit_IphoneTests.m in Sources */,
F4C0624814BE6E480008FBB5 /* MapDataModelSpoof.m in Sources */,
- F4C0624914BE6E590008FBB5 /* OrderedDictionary.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1566,7 +1513,6 @@
F4CE89CC150C0E24009AE0FC /* CameraViewController.m in Sources */,
F4CE89CD150C0E24009AE0FC /* MapViewController.m in Sources */,
F4CE89CE150C0E24009AE0FC /* MapDataModelSpoof.m in Sources */,
- F4CE89CF150C0E24009AE0FC /* OrderedDictionary.m in Sources */,
F4CE89D0150C0E24009AE0FC /* SSMapAnnotation.m in Sources */,
F4CE89D1150C0E24009AE0FC /* WOverlayView.m in Sources */,
F4CE89D2150C0E24009AE0FC /* WOverlay.m in Sources */,
@@ -1591,15 +1537,10 @@
F4D392A414BBA6660051E831 /* AppDelegate.m in Sources */,
F4D392C814BBB5CA0051E831 /* SwoopTabViewController.m in Sources */,
F4A84C8F14BBD3FB00EF9627 /* CameraViewController.m in Sources */,
- F4A84C9414BBD41A00EF9627 /* MapViewController.m in Sources */,
F4C05DDD14BCE1EF0008FBB5 /* MapDataModelSpoof.m in Sources */,
- F4C05EF914BE335A0008FBB5 /* OrderedDictionary.m in Sources */,
F4F02F7A14CF97EE0041492E /* SSMapAnnotation.m in Sources */,
- F4F02F7E14CFA3D00041492E /* WOverlayView.m in Sources */,
- F4F02F8214CFA6250041492E /* WOverlay.m in Sources */,
F4EDE02814D0EB7800242082 /* TimelineVisualizationView.m in Sources */,
F4AA3F3B14DA2E8000ED3CCE /* MapCouchbaseDataModel.m in Sources */,
- F4AA3F4814DA551D00ED3CCE /* MapDataModelBase.m in Sources */,
F4AA3F4B14DA567300ED3CCE /* MapDataModel.m in Sources */,
F48E254E150881DC00A021AE /* main.m in Sources */,
F419E4281509B6AF00DCE9A4 /* RhusMapAnnotation.m in Sources */,
@@ -1608,6 +1549,8 @@
F4CE8856150C01E1009AE0FC /* RHLocation.m in Sources */,
F422E2C7150C2890009317E5 /* RHSettings_Wildflowers.m in Sources */,
F49D3455150CAF6200BC1D7D /* LoadingViewController.m in Sources */,
+ C3719540151641CE00B59111 /* OrderedDictionary.m in Sources */,
+ C3E7F27015191B80002BEC7B /* MapDataModelBase.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1620,7 +1563,6 @@
F4EB1FAF150C24B90041A957 /* CameraViewController.m in Sources */,
F4EB1FB0150C24B90041A957 /* MapViewController.m in Sources */,
F4EB1FB1150C24B90041A957 /* MapDataModelSpoof.m in Sources */,
- F4EB1FB2150C24B90041A957 /* OrderedDictionary.m in Sources */,
F4EB1FB3150C24B90041A957 /* SSMapAnnotation.m in Sources */,
F4EB1FB4150C24B90041A957 /* WOverlayView.m in Sources */,
F4EB1FB5150C24B90041A957 /* WOverlay.m in Sources */,
@@ -1781,6 +1723,11 @@
GCC_PREFIX_HEADER = "Wildflowers of Detroit Iphone/Wildflowers of Detroit Iphone-Prefix.pch";
INFOPLIST_FILE = "SquirrelsOfTheEarth-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 3.1;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SDKROOT)/usr/lib/system\"",
+ );
+ OTHER_LDFLAGS = "-weak-lSystem";
PRODUCT_NAME = SquirrelsOfTheEarth;
PROVISIONING_PROFILE = "";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
@@ -1807,6 +1754,11 @@
GCC_PREFIX_HEADER = "Wildflowers of Detroit Iphone/Wildflowers of Detroit Iphone-Prefix.pch";
INFOPLIST_FILE = "SquirrelsOfTheEarth-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 3.1;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SDKROOT)/usr/lib/system\"",
+ );
+ OTHER_LDFLAGS = "-weak-lSystem";
PRODUCT_NAME = SquirrelsOfTheEarth;
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
@@ -1820,11 +1772,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = (
- armv6,
- "$(ARCHS_STANDARD_32_BIT)",
- );
- CLANG_ENABLE_OBJC_ARC = YES;
+ ARCHS = armv6;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
@@ -1836,16 +1784,16 @@
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_VERSION = coop.plausible.blocks.compilers.gcc.4_2;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 4.2;
+ IPHONEOS_DEPLOYMENT_TARGET = 3.1.3;
ONLY_ACTIVE_ARCH = NO;
PROVISIONING_PROFILE = "";
- SDKROOT = iphoneos5.0;
+ SDKROOT = iphoneos4.0;
TARGETED_DEVICE_FAMILY = 1;
- VALID_ARCHS = "armv7 armv6";
+ VALID_ARCHS = armv6;
};
name = Debug;
};
@@ -1853,11 +1801,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = (
- armv6,
- "$(ARCHS_STANDARD_32_BIT)",
- );
- CLANG_ENABLE_OBJC_ARC = YES;
+ ARCHS = armv6;