siegesmund / swiftddp Goto Github PK
View Code? Open in Web Editor NEWA Meteor client, written in Swift
License: MIT License
A Meteor client, written in Swift
License: MIT License
my requirement is like i want to unsubscribe and subscribe on the flow.
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" .
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
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?
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.
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!!
Hello,
On my Meteor API I use MDG Validated Method (https://github.com/meteor/validated-method) which normally (if using simple-schema for validation) requires you to send and object as your argument when calling the method.
I can't seem to get the current JSON format in Swift to make the method succeed without getting the error saying the argument must be an object.
Any thoughts?
Thanks!
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?
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.
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!
When event DDP_USER_DID_LOGOUT is triggered, Meteor.client.userId() does not equal to nil, neither does user(). Meteor.client.isLoggedIn() returns true.
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.
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.
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?
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:
- The reactive data source invalidates the autorun computation (marks it so that it re-runs in the next Tracker flush cycle).
- The subscription detects this, and given that anything is possible in next computation run, marks itself for destruction.
- The computation re-runs, with .subscribe() being re-called either with the same or different arguments.
- 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.
- If the subscription is run with different arguments, then a new subscription is created, which connects to the publication on the server.
- 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!
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 -
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.
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!!
hey @siegesmund
I'm getting two issue when trying to follow the dictionary way (Simple in-memory persistence)
below
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!
I want to query the collection with 2 unique identifiers. How do I query the collection using 2 unique identifiers and modify the value of one of the fields?
Sorry, I might not be understanding how MeteorCollection works.
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/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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPods.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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.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 '
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/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 '
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/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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.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 '
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/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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPods.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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.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 '
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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.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 '
** 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/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.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 '
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/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 '
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)
I created pull request to show AbstractCollection on Example.
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:
I need to create a JavaScript object in swift by using the API in my Meteor server. Is this possible?
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
Log level is not properly initialized. API does not properly reset it from .Debug to user specified setting.
Hi, how can I know when the Meteor connection is connected or disconnected?
Hi,
When i run carthage update i get the following error:
Failed to check out repository into /dependencies/SwiftWebSocket: No object named "v2.6.0" exists
Could you update the tag to "2.6.0" instead of "v2.6.0"?
Thanks.
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!
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?
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
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!
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.
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?
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.
class Invoice: MeteorDocument {
var amount: NSNumber
var merchantId: String
var comment: String?
}
When message is received and is attempted to be parsed, the app crashes with symptoms similar to the one described here and here.
An empty optional field should be probably treated just as an empty Optional
.
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.
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?
According to Swift documentation, the length of Int is determined by the architecture:
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:
$date
field value from the dictionaryInt
timeIntervalSince1970
functionThis 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
).
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.
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?
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
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.
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.
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?
Making the framework available on the watch would be great.
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.
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.
Crash in logout method public func logout(callback:DDPMethodCallback?)
on let user = self.user()!
if user sign in using social network
Hi,
Thanks for the library first!
I'm having some trouble and concerns using subscriptions,
I wonder if I could get some help here.
Thanks again!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.