Git Product home page Git Product logo

swiftddp's People

Contributors

ajijoyo avatar antonioandrade avatar brentjanderson avatar esaounkine avatar janicduplessis avatar jkitch23 avatar jmaratt avatar kponda avatar ktorimaru avatar louis49 avatar mjgaylord avatar ptrbrn avatar sam961 avatar siegesmund avatar sjkummer avatar spunkedy avatar y-ich avatar yvdorofeev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swiftddp's Issues

Cant get 2 collection from SwiftDDP

Hey,

I don't know how but suddenly two of me 3 collection is not working.

Collection: Users, conversations, contacts

With "Users" Collection there is no problem but with conversations and contacts is always "0 element".

`let conversations = MeteorCollection<UserConversations>(name:"conversations")
    let contacts = MeteorCollection<Contact>(name:"contacts")`

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(GOChatMessagesTableViewController.collectionDidUpdate), name: METEOR_COLLECTION_SET_DID_CHANGE, object: nil)

    Meteor.subscribe("user_conversations") {
        Meteor.subscribe("conversations_partial_contacts_info")
    }`

`

@objc func collectionDidUpdate() {

        if let conversationsA: MeteorCollection = conversations {
            conversationArray = sortArrayByDate(conversationsA.sorted) as! [UserConversations]

        //    saveConversation()
            self.tableView.reloadData()
        }

    }`

Few days ago everything goes well, but know I don't know what the problem..

Even when I try to crash the app by changing the Conversations MeteorDocument and delete one field its not even crash. What can I do?

Thanks!!

0.2.2.1 Version Number causes issue during XCode Archive

As of the latest 0.2.2.1 which is the first release with 4 numerics, 3 dots, anytime an XCode Archive build is submitted to iTunes Connect it throws an error due to this libs info.plist being outside the accepted range for build numbers whereas 0.2.2 was fine.

Core Data example main vs. background context

Hiya,

In the Core Data example, I notice that the MeteorCoreDataCollection class saves on the backgroundContext in a performBlock. Lists, for example would be saved on the backgroundContext when subscribed to. In the example the NSFetchedResultsController references this backgroundContext via the stack's managedObjectContext property in the initialization of the controller. Is the backgroundContext safe to use on the main thread in this approach?

Cheers -

Support for OS X

It would be useful if SwiftDDP would be able to compile a framework for OS X as well as iOS. I forked and was going to raise a Pull request for this but then I came across this: #4 .

Looks like it was implemented then reverted? At some point between then and the current master, Is there a complication in supporting OS X or would it be possible to add it back in?

Crash on logout

Crash in logout method public func logout(callback:DDPMethodCallback?) on let user = self.user()!
if user sign in using social network

Can login and get data from publications with user validation but cannot call methods with user validation

Hello,

I have been running into issues when calling Meteor methods. I am able to connect to the client and login, and I receive a login token. I am able to subscribe to various subscriptions. However when I attempt to call methods I get denied by my validation which is setup as follows (which works for web client):

export const insert = new ValidatedMethod({
  name: 'examples.insert',
  validate: new SimpleSchema({
    name: { type: String, max: 80 },
  }).validator(),
  run({ name, exampleDescription }) {
    if (!this.userId) {
      throw new Meteor.Error('examples.insert.accessDenied',
        'You must be logged in to insert an example!');
    }
  ...
  },
});

Here is the catch: I only get denied when I have freshly installed the app on my phone/simulator and I run it for the first time - so I know the method calls work in some cases.

Here is the snippet for connection and login:

Meteor.client.allowSelfSignedSSL = true
        Meteor.client.logLevel = .Warning
        let url = my valid websocket
        Meteor.connect(url){
            print("Connected to websocket...")
            Meteor.loginWithPassword(my username, password: my password){ result, error in
                print("Logging into client...")
                print(result)
                print(error)

Methods are being called using Meteor.call

Invalid type in JSON write when "Call" with a Object

I'm calling a function on server , call looks likes this

Meteor.call("addCustomerAddress", params: [self.currentDeliveryAddress]) 
{ result, error in
}

and Class is like this

class CurrentDeliveryAddress
{
    var streetName: String!
    var areaName: String!
    var buildingName: String!
    var apartmentName: String!
    var locationName: String!
    var cityName: String!
    var phoneNumber: String!
    var location: Location!
    var areaId: String!

    class Location 
    {
        var lat : Double!
        var lng : Double!

        init(lat:Double,lng :Double)
        {
            self.lat = lat
            self.lng = lng
        }
    }
}

and Function on server side is like

addCustomerAddress: function (data) {
        try {
            check(data, {
                streetName: String,
                areaName: String,
                buildingName: String,
                apartmentName: String,
                locationName: String,
                cityName: String,
                phoneNumber: String,
                location: {
                    lat: Number,
                    lng: Number
                },
                areaId: String
            });
​
            data.id = Random.id();
            var isUpdate = Meteor.users.update(this.userId, {
                $push: {'profile.address': data}
            }, {upsert: false});
​
            if (isUpdate) {
                logger.info('platform', 'user address added: ' + data);
                return isUpdate;
            }
​
        } catch (e) {
            logger.error('platform', 'unable to add customer address: ' + e);
            throw new Meteor.Error(403, e.message);
        }
    }

when ever I'm calling this i'm getting this error "Terminating app due to uncaught exception

NSInvalidArgumentException', reason: 'Invalid type in JSON write

What could be the issue?

Core Data and SwiftDDP - Custom sort issue

Hey,

I'm using "MeteorCoreData" - https://github.com/siegesmund/MeteorCoreData

When I'm trying to fetch my collection with my custom sort:

"let dateDescriptor = NSSortDescriptor(key: "preview_message.submitted_at.$date", ascending: false)"

Its doesn't work. when conversation is update in the web I get update:

fields = { "created_at" = { "$date" = 1469556204651; }; };

And when I'm reloading the tableview in "controllerWillChangeContent" I think MeteorCoreData is fetching by "created_at" sort and won't order as I want.

How can I change it? Thank you very much!

Fix loglevel

Log level is not properly initialized. API does not properly reset it from .Debug to user specified setting.

Difference with meteor-ios

Hi, what is the difference between this package and meteor-iOS? It seems pretty similar, so maybe you should add a section in readme.md about why this library is better or different.

Should a subscription have _id be default?

Hey!
I am subscribing to a publication and trying to get the _id of the doc. I could not see it in there without _id included in the fields of the publication or with _id included in the fields.

Any thoughts?

CoreData example not working

I've been playing around with SwiftDDP and quickly got it working to some extent. However I'm still to make the CoreData integration to function properly.

After a couple of frustrating trials I went back to the CoreData example and it only seems to work against an old version of the Todos app (https://github.com/meteor/todos at commit 4ad2706f88f7d6ad9059a52fd0a13f3442a57cca, where it's still using the privateLists subscription name so I assume that's the tested one).

Any ideas of why the CoreData Example is not working on the latest Todo version, at least as far as receiving entries from the server?
Updating the subscription names didn't help.

Web socket connection closed

I seem to be experiencing closed connections to my websocket. The error that I receive is "Web socket connection closed with code 0. Clean: false". The error occurs as a callback on Meteor.connect 60 seconds after the connection is established. I am looking into potential errors server side right now, but I figured I'd open this issue to see if you could provide any insight in this issue. I noticed some users have experienced this with ObjectiveDDP however I can't seem to figure out the issue or potential solutions. Thanks in advance.

Where does server method need to be located?

I currently have a JavaScript API that is in my server directory for Meteor. Whenever I try to call a method from that API, SwiftDDP says that the method does not exist. Where does the server method need to be located?

This is what I'm trying to do:

  1. Press "Login" button on Storyboard.
  2. Connect to 3rd party API for OAuth 2.0 by creating a JavaScript object.
  3. Call method for the JavaScript object that does the URL redirection, etc.
  4. Allow user to use the rest of the app's functionalities.

I need to create a JavaScript object in swift by using the API in my Meteor server. Is this possible?

Crash on empty optional fields in MeteorDocument

Problem

Steps to reproduce

  • Subscribe to a collection document model has optional fields. E.g.
class Invoice: MeteorDocument {
    var amount: NSNumber
    var merchantId: String
    var comment: String?
}
  • Publish a message from server that doesn't contain value in the optional field

Current behavior

When message is received and is attempted to be parsed, the app crashes with symptoms similar to the one described here and here.

Expected behavior

An empty optional field should be probably treated just as an empty Optional.

Solution

Suggestion on implementation

I've tried checking for nullity before adding value to the document; it seems to fix the issue in my case. But I never managed to run the unit tests. Also in case something is going to be done on that level, it will require documentation update.
Anyways, here is the code snippet that I'm talking about.

Observations

Same behavior doesn't occur if the model object is set up with NSString type instead of String, which makes it even less consistent and hard to rely on.

Maybe there's any other more elegant solution to this?

Can't subscribe to publication: get a crush -[__NSCFBoolean length]: unrecognized selector sent to instance

Hello!
I can't subscribe to publication like this:
Meteor publication

Meteor.publish('workouts', function() {
    return Workouts.find({});
});

Swift class:

class Workouts: MeteorDocument {
    var _id: String?
    var createdBy: String?
    var createdAt: NSDate?
    var workoutName: String?
    var workoutDesc: String?
    var workoutDuration: String?
    var workoutExercises: NSDictionary?
    var isPrivate: String?
    var isDeleted: String?
}

I trying to get document:

let workouts = MeteorCollection<Workouts>(name: "workouts")
                    Meteor.subscribe("workouts") {
                        let workout = workouts.sorted
                        print("WORKOUT: \(workout)")
                    }

But receive a crush just after call Meteor.subscribe("workouts")
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFBoolean length]: unrecognized selector sent to instance 0x10300a528'
I thing the reason of crush is in fields isPrivate and isDeleted because there are boolean in Mongo

meteor:PRIMARY> db.workouts.find({_id: "Kdzs7BsYkAnBoE4Bg"}, {workoutExercises: 0})
{
        "_id" : "Kdzs7BsYkAnBoE4Bg",
        "workoutName" : "Test User2",
        "workoutDesc" : "<p>Detail of the programm<br></p>",
        "createdBy" : "QhKCfojmdC3Ep2oSz",
        "createdAt" : ISODate("2016-04-05T10:54:46.193Z"),
        "isPrivate" : true,
        "isDeleted" : false
}

but subscribtion retun's it as string or integer.

[Debug] [DDP] [DDP Background Data Queue :: NSOperation 0x7fee5bbe4c00 (QOS: BACKGROUND)] [260] ddpMessageHandler > Received message: {
    collection = workouts;
    fields =     {
        createdAt =         {
            "$date" = 1457870369448;
        };
        createdBy = BeNTtaupkj5JfpJcH;
        isDeleted = 0;
        isPrivate = 1;
        workoutDesc = "<p><br></p>";

Here the stack trace:

*** First throw call stack:
(
    0   CoreFoundation                      0x0000000102de1d85 __exceptionPreprocess + 165
    1   libobjc.A.dylib                     0x0000000104b85deb objc_exception_throw + 48
    2   CoreFoundation                      0x0000000102dead3d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
    3   CoreFoundation                      0x0000000102d30cfa ___forwarding___ + 970
    4   CoreFoundation                      0x0000000102d308a8 _CF_forwarding_prep_0 + 120
    5   libswiftCore.dylib                  0x0000000105129168 _TTSf4g_d___TFSSCfT12_cocoaStringPs9AnyObject__SS + 120
    6   libswiftCore.dylib                  0x00000001050e9913 _TFSSCfT12_cocoaStringPs9AnyObject__SS + 19
    7   libswiftFoundation.dylib            0x0000000105487d70 _TF10Foundation24_convertNSStringToStringFGSqCSo8NSString_SS + 16
    8   smartworkout-ios                    0x00000001027b9c4b _TToFC16smartworkout_ios8Workoutss9isDeletedGSqSS_ + 75
    9   Foundation                          0x00000001031b319b -[NSObject(NSKeyValueCoding) setValue:forKey:] + 288
    10  SwiftDDP                            0x000000010288e036 _TTSf4s_n_n___TFC8SwiftDDP14MeteorDocumentcfT2idSS6fieldsGSqCSo12NSDictionary__S0_ + 262
    11  smartworkout-ios                    0x00000001027ba540 _TFC16smartworkout_ios8WorkoutscfT2idSS6fieldsGSqCSo12NSDictionary__S0_ + 784
    12  smartworkout-ios                    0x00000001027ba21e _TFC16smartworkout_ios8WorkoutsCfT2idSS6fieldsGSqCSo12NSDictionary__S0_ + 78
    13  SwiftDDP                            0x000000010287ab2c _TFC8SwiftDDP16MeteorCollection16documentWasAddedfTSS2idSS6fieldsGSqCSo12NSDictionary__T_ + 108
    14  SwiftDDP                            0x000000010288201b _TTWC8SwiftDDP18AbstractCollectionS_20MeteorCollectionTypeS_FS1_16documentWasAddedfTSS2idSS6fieldsGSqCSo12NSDictionary__T_ + 123
    15  SwiftDDP                            0x000000010289fdef _TTSf4gs_gs_g_d___TFCC8SwiftDDP6Meteor6Client16documentWasAddedfTSS2idSS6fieldsGSqCSo12NSDictionary__T_ + 447
    16  SwiftDDP                            0x000000010289f43d _TFCC8SwiftDDP6Meteor6Client16documentWasAddedfTSS2idSS6fieldsGSqCSo12NSDictionary__T_ + 29
    17  SwiftDDP                            0x000000010286cb77 _TFFC8SwiftDDP9DDPClient17ddpMessageHandlerFzVS_10DDPMessageT_U0_FT_T_ + 199
    18  Foundation                          0x000000010325b630 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 7
    19  Foundation                          0x0000000103196805 -[NSBlockOperation main] + 101
    20  Foundation                          0x0000000103179725 -[__NSOperationInternal _start:] + 646
    21  Foundation                          0x0000000103179336 __NSOQSchedule_f + 194
    22  libdispatch.dylib                   0x00000001061d83eb _dispatch_client_callout + 8
    23  libdispatch.dylib                   0x00000001061be82c _dispatch_queue_drain + 2215
    24  libdispatch.dylib                   0x00000001061bdd4d _dispatch_queue_invoke + 601
    25  libdispatch.dylib                   0x00000001061c0996 _dispatch_root_queue_drain + 1420
    26  libdispatch.dylib                   0x00000001061c0405 _dispatch_worker_thread3 + 111
    27  libsystem_pthread.dylib             0x00000001065154de _pthread_wqthread + 1129
    28  libsystem_pthread.dylib             0x0000000106513341 start_wqthread + 13
)

I have tried to change type of fields isPrivate and isDeleted in Swift class to optional Bool/String/Int without any results.

How to use Meteor.loginWithGoogle.

I have used the Meteor.loginWithGoogle and it opens webView for login of google and it prompts allow or deny and in log it shows
'There was no JSON here'
So how to pass JSON and get the login done.

Please tell me the proper way to use google authentication for IOS 8.0.
I have installed pod "SwiftDDP", "~> 0.2.0"
And it's working fine But it requires minimum version of 9.0.
For platform :ios, '8.0'
is their be any way to do the same.

Still nvalid type in JSON write when "Call" with a Object

Now I'm using

let jsonDictionary = try NSJSONSerialization.JSONObjectWithData(self.currentDeliveryAddress, options: []) as! NSDictionary 

And

class CurrentDeliveryAddress :NSData
{
    var streetName: String!
    var areaName: String!
    var buildingName: String!
    var apartmentName: String!
    var locationName: String!
    var cityName: String!
    var phoneNumber: String!
    var location: Location!
    var areaId: String!

    class Location 
    {
        var lat : Double!
        var lng : Double!

        init(lat:Double,lng :Double)
        {
            self.lat = lat
            self.lng = lng
        }
    }
}
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -bytes only defined for abstract class. Define -[UrbanChef.CurrentDeliveryAddress bytes]!' 

also tried with SwiftyJson

 let swiftyJson = JSON(data: self.currentDeliveryAddress)  

Same error

Not getting default collection on server "users"

I'm getting collection data from server by with "AbstractCollection" way.

I can get all the collection data for other subscription but when I subscribe a "Subscription" named "userList" that holds a meteor default collection "users" but however "documentWasAdded","documentWasChanged" is not getting called. But I can see those value coming on LOG.
Is that problem with default collection?

Facebook login

I think I tried to as documentation says, and added Facebook ios SDK and other keys stuff on Info.plist but whenever I tired to login it says "you are not logged in you are not logged in please log in and try again" .

Is there a way to use this without MeteorDocument etc?

Thank you for making this package available. It looks like great work!

I wanted to ask whether it was possible to just subscribe and get notifications when a document changes/additions/deletions happen as opposed to having to create local MeteorDocument classes to represent the remote data and all that.

Does that make sense? Thanks!

Issues with subscriptions after reconnecting when resuming the app

This is either a bug or I am not doing something correctly. I am subscribing to 3 collections on startup and everything works really well. But when I background the app and wait until the web socket connection to timeout and close, then resume the app, the connection is reconnected successfully, but my subscriptions are not updating when data on the server changes. I am not receiving any data either in the logs. Is there a specific way to reconnect my subscriptions? Or do I need to unsubscribe / resubscribe again?

Backwards Compatibility

Hello,

I am using your library as a dependency, and would like to make my app backwards compatible (likely to 8.4). Is this possible?

Sorting a collection

Hi There,

I can't seen to find a way of sorting my collection. I know collection.sorted returns all the values in my collection, sorted by id, but I would like to sort using another field in my collection.

Is there a built in way of doing this?

Thanks!

Swift 2.2 Unknown attribute @asmname

Hello.
Because of new version of Swift now we have an error in module SwiftWebSocket because @asmname was changet to @_silgen_name. Could you please update repo.
See details here.
Thanks.

Handling changing dependencies of subscription

I'm currently stuck in dealing with changing params of a subscription call. Specifically, I'm passing location updates as param in order to fetch updated results from the server.

To my knowledge, Meteor re-subscribes whenever a reactive data source changes. For example:

Template.Lists_show_page.onCreated(function() {
  this.getListId = () => FlowRouter.getParam('_id');

  this.autorun(() => {
    this.subscribe('Todos.inList', this.getListId());
  });
});

Technically, what happens when one of these reactive sources changes is the following:

  1. The reactive data source invalidates the autorun computation (marks it so that it re-runs in the next Tracker flush cycle).
  2. The subscription detects this, and given that anything is possible in next computation run, marks itself for destruction.
  3. The computation re-runs, with .subscribe() being re-called either with the same or different arguments.
  4. If the subscription is run with the same arguments then the “new” subscription discovers the old “marked for destruction” subscription that’s sitting around, with the same data already ready, and simply reuses that.
  5. If the subscription is run with different arguments, then a new subscription is created, which connects to the publication on the server.
  6. At the end of the flush cycle (i.e. after the computation is done re-running), the old subscription checks to see if it was re-used, and if not, sends a message to the server to tell the server to shut it down.

Should something similar done here as well? Simply re-subscribing as a short cut does not seem to work, as SwiftDDP then complains that > You are already subscribed to deals/list

Any help / hints are greatly appreciated!

Add loginWithFacebook method

This is a hard feature to accomplish? I'm new in Swift and just started to study your code. But couldn't build here following by the same error of my other issue #2.

Anyway, It will be nice if we can make login with facebook such as other accounts services that Meteor provides.

Pull request

I created pull request to show AbstractCollection on Example.

Is there a way to disable loginServiceConfiguration lookups?

I'm developing for a Meteor backend that has a custom login system in place. For that reason, the accounts package is not installed. So every time I connect to it using SwiftDDP I see the following:

2016-05-28 18:12:59.698 [Debug] [DDPClient.swift:260] ddpMessageHandler > Received message: {
    error =     {
        error = 404;
        errorType = "Meteor.Error";
        message = "Subscription 'meteor.loginServiceConfiguration' not found [404]";
        reason = "Subscription 'meteor.loginServiceConfiguration' not found";
    };
    id = 4a363B8780024378AEB1F328E4A60E14;
    msg = nosub;
}
2016-05-28 18:12:59.714 [Error] [DDPClient.swift:489] nosub(_:error:) > DDPError(json: Optional({
    error = 404;
    errorType = "Meteor.Error";
    message = "Subscription 'meteor.loginServiceConfiguration' not found [404]";
    reason = "Subscription 'meteor.loginServiceConfiguration' not found";
}))

This may be a non-issue, but it seems unnecessary to make those calls. Is there a way to make the library not try to look that up automatically?

Inserting an object with a subclass of AbstractCollection

I followed the code at the bottom of the readme and successfully managed to get the collection reading out in an Array.

The issue came when trying to insert an object, I found that the .insert() method of the collection was not there.

How can I insert a new object in the collection which is a subclass of AbstractCollection and have it sync with the backend? Here is my code for the subclass

class NotesCollection: AbstractCollection {
    var notes = [Note!]()

    var collection: String = "Notes"
    var text: String!
    var creationDate: String!


    override init(name: String) {
        super.init(name: name)
    }

    override func documentWasAdded(collection: String, id: String, fields: NSDictionary?) {
        let note = Note(id: id, fields: fields)
        notes.append(note)


    }

    override func documentWasRemoved(collection: String, id: String) {
        if let index = notes.indexOf({ note in return note!._id! == id }) {
            notes[index] = nil
        }
    }

    override func documentWasChanged(collection: String, id: String, fields: NSDictionary?, cleared: [String]?) {
        var note: Note!
        if let index = notes.indexOf({ note in return note!._id == id }) {
            note = notes[index]
            note.update(fields)
            notes[index] = note
        }
    }
}

Sorry if this is a stupid question.

Thanks,
Alex

Unable to build with Carthage using Xcode 7.3

Here's the output log:

*** Fetching SwiftDDP
*** Fetching XCGLogger
*** Fetching SwiftWebSocket
*** Fetching Quick
*** Fetching Nimble
*** Fetching CryptoSwift
*** Checking out SwiftWebSocket at "v2.3.0"
*** Downloading Nimble.framework binary at "Nimble v3.0.0"
*** Downloading Quick.framework binary at "v0.8.0"
*** Checking out XCGLogger at "Version_3.0"
*** Checking out SwiftDDP at "0.2.1"
*** Checking out CryptoSwift at "0.1.1"
*** xcodebuild output can be found in /var/folders/r_/7xtnk1c15rbb1pr12t97k9qw0000gn/T/carthage-xcodebuild.FpT5zZ.log
*** Building scheme "CryptoSwift OSX" in CryptoSwift.xcodeproj
2016-03-25 18:03:41.519 xcodebuild[38481:5904535] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:41.520 xcodebuild[38481:5904535] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:41.520 xcodebuild[38481:5904535] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:41.520 xcodebuild[38481:5904535] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPods.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:41.521 xcodebuild[38481:5904535] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
*** Building scheme "CryptoSwift watchOS" in CryptoSwift.xcodeproj
2016-03-25 18:03:45.977 xcodebuild[38578:5905301] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:45.979 xcodebuild[38578:5905301] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:45.980 xcodebuild[38578:5905301] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:45.981 xcodebuild[38578:5905301] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPods.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:45.982 xcodebuild[38578:5905301] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:50.939 xcodebuild[38686:5905952] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:50.941 xcodebuild[38686:5905952] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:50.941 xcodebuild[38686:5905952] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:50.942 xcodebuild[38686:5905952] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPods.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:50.942 xcodebuild[38686:5905952] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
*** Building scheme "CryptoSwift iOS" in CryptoSwift.xcodeproj
2016-03-25 18:03:54.902 xcodebuild[38798:5906436] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:54.903 xcodebuild[38798:5906436] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:54.904 xcodebuild[38798:5906436] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:54.904 xcodebuild[38798:5906436] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPods.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:54.905 xcodebuild[38798:5906436] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:57.412 xcodebuild[38864:5906718] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:57.413 xcodebuild[38864:5906718] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:57.414 xcodebuild[38864:5906718] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:57.414 xcodebuild[38864:5906718] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPods.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:03:57.415 xcodebuild[38864:5906718] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
*** Building scheme "SwiftWebSocket-OSX" in SwiftWebSocket.xcodeproj
2016-03-25 18:04:02.206 xcodebuild[39005:5907354] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:04:02.207 xcodebuild[39005:5907354] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:04:02.208 xcodebuild[39005:5907354] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:04:02.209 xcodebuild[39005:5907354] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPods.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:04:02.209 xcodebuild[39005:5907354] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
** BUILD FAILED **

The following build commands failed:
CompileSwift normal x86_64 /Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift
CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
(2 failures)
warning: no umbrella header found for target 'CryptoSwift watchOS', module map will not be generated
warning: no umbrella header found for target 'CryptoSwift watchOS', module map will not be generated
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:358:2: error: unknown attribute 'asmname'
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:358:9: error: expected declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:359:2: error: unknown attribute 'asmname'
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:359:9: error: expected declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:360:2: error: unknown attribute 'asmname'
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:360:9: error: expected declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:361:2: error: unknown attribute 'asmname'
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:361:9: error: expected declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:362:2: error: unknown attribute 'asmname'
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:362:9: error: expected declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:363:2: error: unknown attribute 'asmname'
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:363:9: error: expected declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:364:2: error: unknown attribute 'asmname'
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:364:9: error: expected declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:365:2: error: unknown attribute 'asmname'
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:365:9: error: expected declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:366:2: error: unknown attribute 'asmname'
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:366:9: error: expected declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1195:28: warning: 'var' parameters are deprecated and will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:358:38: error: expected '{' in body of function declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:359:40: error: expected '{' in body of function declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:360:39: error: expected '{' in body of function declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:361:37: error: expected '{' in body of function declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:362:34: error: expected '{' in body of function declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:363:40: error: expected '{' in body of function declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:364:39: error: expected '{' in body of function declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:365:34: error: expected '{' in body of function declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:366:37: error: expected '{' in body of function declaration
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:273:14: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:293:41: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:293:13: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:305:37: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:305:9: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:431:32: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:442:13: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:431:9: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:994:32: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:994:9: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1091:42: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1091:9: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1166:18: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1258:48: warning: '--' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1258:17: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1377:18: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1395:22: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1397:22: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1398:37: warning: '--' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1399:26: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1398:13: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1402:22: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1403:37: warning: '--' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1404:26: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1403:13: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1409:32: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1410:22: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1409:9: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1415:40: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1415:17: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1418:26: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1419:26: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1420:49: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1420:17: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1424:49: warning: '++' is deprecated: it will be removed in Swift 3
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1424:17: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1510:13: warning: C-style for statement is deprecated and will be removed in a future version of Swift
/Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift:1573:16: warning: '++' is deprecated: it will be removed in Swift 3
A shell task failed with exit code 65:
2016-03-25 18:04:02.206 xcodebuild[39005:5907354] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:04:02.207 xcodebuild[39005:5907354] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:04:02.208 xcodebuild[39005:5907354] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:04:02.209 xcodebuild[39005:5907354] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPods.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2016-03-25 18:04:02.209 xcodebuild[39005:5907354] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
** BUILD FAILED **

The following build commands failed:
CompileSwift normal x86_64 /Users/grago/Work/Source Code/Projects/iOS Projects/aZap! iOS/Carthage/Checkouts/SwiftWebSocket/Source/WebSocket.swift
CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
(2 failures)

Timestamp conversion fails on 32-bit architecture

Background

According to Swift documentation, the length of Int is determined by the architecture:

  • on 32-bit architecture its max size is 2^32
  • on 64-bit architecture its max size is 2^64

The pain

When a timestamp is received from a Meteor server, it is a large number representing the milliseconds since 1/1/1970.
In order to convert it to NSDate, the function timeIntervalSince1970 has to be used, which expects seconds rather than milliseconds.

Currently, the code responsible for conversion executes the following steps:

  • extract the $date field value from the dictionary
  • casts is to Int
  • divides by 1000
  • passes it to the timeIntervalSince1970 function

This approach fails when the architecture is 32-bit, as the millisecond number (e.g. 1469621311763) is too large to fit into an Int32 (max value - 2147483647).

Question about getting data after subscription.

Hi,
Thanks for the library first!

I'm having some trouble and concerns using subscriptions,
I wonder if I could get some help here.

  1. Can I get a simplest example showing the work flow of subscribe as well as print the data.
  2. Does MeteorDocument object needs to have exactly the same fields as the collection on the server.

Thanks again!

Update without network connection

Hello,

Nice ddp client.

I'm starting a project and looking for a cool (and swift compatible) DDP client.

I have a doubt about updating data locally without network connection. This will cause an error and will rollback locally? Or SwiftDDP listen for internet connection and send the data to server when it is possible?

Thank you so much.

MeteorCollection

hey @siegesmund
I'm getting two issue when trying to follow the dictionary way (Simple in-memory persistence)

below

  1. Cannot assign value of type MeteorCollection<.MeteorDocument.> to type 'MeteorCollection'
  2. Generic parameter 'T' could not be inferred when using on table view functions like "collection.count"

Retreave document: need example

Hello!
I'm newbie in Swift and it is not clear how to retrieve document from collection after subscribing.
For example.
I have a subscription:

let users = MeteorCollection<UserDocument>(name: "users")
Meteor.subscribe("users")

and try to see the result
print("USER COLLECTION: \(users)")

but it returns strange message
USER COLLECTION: <_TtGC8SwiftDDP16MeteorCollectionC16smartworkout_ios12UserDocument_: 0x7ff6643eb240>

In console I can see the document from collection:

[Debug] [DDP] [DDP Background Data Queue :: NSOperation 0x7ff6644dcdd0 (QOS: BACKGROUND)] [260] ddpMessageHandler > Received message: {
    collection = users;
    fields =     {
        createdAt =         {
            "$date" = 1457548572735;
        };
        services =         {
            email =             {
                verificationTokens =                 (
                );
            };
            password =             {
                bcrypt = "$2a$10$AphY6UWLl.tZl...........IJQOTCEhDSZocy";
            };

but I don't understand how to retrieve it.

I see one discussion about retrieving user document already done #22 but it is still not clear. Example in description would be very helpful.

Could you provide some example?
Thanks.

How to get Collection in a list ?

How to get collection returned as Array after subscription ? or how to get subscription returned value?
I tried with Meteor.collection("collectionName") after proper subscription
I did not get any value , it gives me nil.

Getting the current user object

Hi there love the library. However I'm having trouble getting the current user object after being logged in. I'm curious about the fact if I need to manually subscribe after logging in or will it do it automatically?
Also is there any example code of instructions I might've missed that implement the basics.

Also I'd like to add that I'm using Meteor accounts and I'm wondering how nested properties like the "profile" property will look like class wise.

Any help at all would be very welcome! Excellent job so far!

Build Failed

Hi! I know Meteor but I'm starting to learn Swift. I never added a package to a project and I'm trying to use the Carthage to download your library.

I added the Cartfile to my project folder and then link your repository. But when I run carthage update I get the following error:

*** Building scheme "CryptoSwift watchOS" in CryptoSwift.xcodeproj
** BUILD FAILED **


The following build commands failed:
    Check dependencies
(1 failure)
Code Sign error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) were found.
warning: no umbrella header found for target 'CryptoSwift watchOS', module map will not be generated
A shell task failed with exit code 65

What is the workaround to fix this?
Thanks

How to get a collection after subscription?

Hey everyone,

"userLoginData" - Give my all the information about the current user.

I'm trying to get collection from subscription(called "userLoginData") and i can't figure it how should I get the collection after sign in.

AppDelegate.swift

`let users = MeteorCollection<User>(name: "users")

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.

        Meteor.client.logLevel = .Debug

        Meteor.connect(URL) {

        }


        return true
    }
    ` 

LoginViewController.swift

`Meteor.loginWithPassword(usernameTextField.text!, password: passwordTextField.text!) { (result, error) in

        if (error != nil) {
            print("user not found")

        }else{

            Meteor.subscribe("userLoginData") {
                self.performSegueWithIdentifier("LoginScreenToMessagesScreenSegue", sender: self)

            }


        }


    }`

and after that In MessagesViewController.swift I want to get all the information about the user(address, email, phone number etc..). How can I do this??

Thanks!!

Installation without cocoapods

I think there really needs to be information on how to use your package WITHOUT cocoapods. Not all of us have the ability to add superfluous dependencies to our project or want to.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.