Comments (8)
Sure, but I need more information. What do you mean exactly by an "active" stream? Can you give an example?
from sttwitter.
Ok. For example the getUserStreamDelimited method may or may not be active after the app (iOS) has been revived from background. If the stream is active, then there's no need to call the rest method to backfill tweets, but if it's not active one would backfill tweets and revive the stream connection. Do you see what I mean?
from sttwitter.
Yes I do, thank you for explaining. The naive way to deal with this situation would be cancelling and reconnecting to the stream each time the app becomes active. It is ok for you or do you need something more sophisticated?
from sttwitter.
I would indeed prefer something more sophisticated since users tend to multitask around a lot. I'd prefer not to disconnect and reconnect every six times they do so in a minute.
from sttwitter.
You're right. So, I think you should detect lost connections in the error block and restart the request in this case only.
// ...
} errorBlock:^(NSError *error) {
if([[error domain] isEqualToString:NSURLErrorDomain] && [error code] == NSURLErrorNetworkConnectionLost) {
[self startStreamRequest];
}
}];
I'm not sure we should add something specific into STTwitter, what do you think?
from sttwitter.
Hmm that's a good suggestion. I'll look into doing it this way. Thanks!
from sttwitter.
BTW, How to cancel the stream? Also, i wonder if there is any way to disable sending friend list every time the stream gets connected since it would be lots of overheads if we "cancelling and reconnecting to the stream each time the app becomes active:
Thanks,
James
from sttwitter.
Make an STHTTPRequest
object somewhere like your session manager and such. When you initialize the stream, set the stream to your object like so:
_userStream = [api getUserStreamDelimited:...
When you need to disconnect the stream, simply [_userStream cancel]
. To reconnect, simply reinitialize it again like above. It's that easy! Thanks @nst for making such an easy to use library.
Also, the friends list is received every single time you start the stream. There's no way to disable it as far as I know.
from sttwitter.
Related Issues (20)
- _getUserStreamStallWarning:... cancelling on receiving friends list?
- Attachment_url HOT 2
- postTokenRequest never callsback success or failure HOT 1
- Use of API only available in iOS 8
- Support for new events APIs HOT 1
- Modify character counter to take into account usernames at beginning of tweets HOT 1
- Carthage Support HOT 1
- STTwitter and iOS 11 HOT 2
- Twitter API request with JSON body HOT 2
- STTwitter in macOS 10.13 HOT 3
- Saving account to device settings HOT 1
- Perform video uploads from local NSData
- SLServiceTypeTwitter is deprecated in ios11 objc "SLServiceTypeTwitter' is deprecated: first deprecated in iOS 11.0"
- media_ids parameter is invalid.
- newest XCode throws warnings: This block declaration is not a prototype
- ⚠️ Legacy APIs must be migrated to new ones within 5 months! HOT 2
- Supporting “full_text” of a tweet with “tweet_mode=extended” HOT 1
- Twitter API 2.0
- How do I set up to jump to the Twitter App to sign in?
- Thread 1: "-[STTwitterAppOnly postTokenRequest:authenticateInsteadOfAuthorize:forceLogin:screenName:oauthCallback:errorBlock:]: unrecognized selector sent to instance 0x280371140" HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sttwitter.