Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I am working on Core Data app which needs to sync data to various platforms including the web. Initially I started integrating Stackmob which seemed a fine candidate to handle this task. Now that Stackmob is apparently shutting down I'm looking for another BaaS framework/service as a replacement. Everyone is suggesting to use Parse.com but parse is an 'always online' service which does not support offline sync. The users of my app need to be able to use the app offline, and sync the cached data as soon as the device has internet connection.
Building my own syncing backend is not an option at this moment since I'm a small developer who has not the time nor the resources to do this. What are my options, are there any similar services which support offline sync for Core Data ?
note: I can't use iCloud since I want to sync to the web.
update:
I stumbled upon Simperium which seems to do offline Core Data syncing. Anyone having any experience with this service ?
I would suggest the Dropbox Datastore API. You can use the ParcelKit wrapper which allows you to use Core Data. This gives you everything you need: offline use, Core Data, and a Javascript API for your web component.
There is also Wasabi Sync, which is Core Data-native, and has a REST API for web use.
If you can drop the requirement for web, there are solutions like Ensembles and TICDS, which work with multiple backends (e.g. iCloud, Dropbox). (Disclosure: I develop Ensembles)
There is an open source package called FTASync that syncs Parse with CoreData. I looked at using it, but it was too simplistic for my app. Although I am a lone developer like you I took on the task of modifying FTASync into what I need. I have it pretty much finished now and it is very different from FTASync. If FTASync is not sufficient for you, contact me privately and perhaps we can work something out.
-Bob
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I'm trying to create an app like uber, and I'm having trouble with the iphone to iphone connection. How am I to send a request to another Iphone, saying I am your driver! Am I to have riders become accepted, and add them to some database of riders in which drivers can see them? Basically I just want a little explanation on the ways I can use swift to connect iphones, any help is appreciated.
Looks like you've got a decently long way to go, but let's break this down.
Despite how it may seem, phones don't usually talk directly to each other. In these circumstances, an app will contact a central server in order to get information about things around them. The phone (in your situation) would likely contact the server and request a list of nearby drivers and locations. The server would then send a feed of nearby drivers and their locations so that the phone could display the locations of the drivers.
When you request a ride, your phone will tell the server its current location, and potentially the targeted location. A lot of work is done behind the scenes in the server to schedule a driver to pick you up. The server is keeping track of where a given driver is, how many other clients he has in queue, how long the driver would take to get to you, among many other factors. Once it figures out which driver would be best able to serve you, it will contact that driver and tell him to start moving toward you.
Then the server will contact you saying that it has found a driver, and then will send you the feed as to where that driver is in his progress to get you.
So to more directly answer your question, you'll need to start by setting up a server up to do a lot of the work behind the scenes. You can write a server backend in Swift using Vapor, but server-side swift is in its infancy. I'd also recommend looking into Ruby on Rails using the Ruby programming language, or Node.js using Javascript. But none of these are trivial matters.
Given the nature of your question, the problem you're attempting to solve is certainly a lot more difficult than you've anticipated. But don't let that stop you from asking questions like these.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I am wondering if iOS has any build-in database, and if so - maybe you can direct me to some tutorials and/or API-description online ( similare to the JavaDocs ).
I am new to iOS and Objective-C programming. I have experience with Java and Android-development, and I am currently developing an Android-application for containing what CD's I have in my possession / collection - and want to re-produce it to iOS.
I have gotten stuck at the point at where I'm not sure how to save the information for the iOS-application. In Android you have an built-in database that you can use, and I stumbled upon an input ( here on StackOverflow ) a while back that someone wrote something about an SQLite-database and I would like to create an database first-time the application is run.
The alternative would be to save an file ( XML or JSON ) containing the information. But as the application is meant to handle large sums of information I want to use an database of some sort.
Thanks for all the possible help and directions to where I can find more information.
iOS has Core Data that works great in most of the cases. If you are used to Android's SQLite you can also use SQLite in iOS. Although, in general, people use Core Data.
XCode provides you a set of tools to work with Core Data. You can create a model inside XCode and see the relationship between Entities. Core data is not a relational database. It can be persisted in a relational database (SQLite) but the concept that supports Core Data is different. Core data is "an object graph manager with lifecycle" and you shouldn't fight against that concept. Try to understand the differences before dive into Core Data.
Dylan touched an important part. You also have wrappers and tools to help you with SQLite. One of them is FMDB.
For CoreData you also have a framework that can help you called MagicalRecord.
Yes, iOS come with built in core data feature. Here is the tutorial you can start with.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
The Apple documentation seems to consistently state that the user-generated documents should either all be stored locally or should all be stored on iCloud. Here is one example from this iOS page (the emphasis on All is theirs):
All documents of an application are stored either in the local sandbox or in an iCloud container directory. A user should not be able to select individual documents for storage in iCloud.
I would like to allow users to manage documents individually: perhaps they want one to be local (to save space from their iCloud allowance), another to be on iCloud so they can manipulate it across devices, and another one to be on DropBox so they can copy it out into a friend's account or back it up manually or even edit it externally. The all-or-nothing approach would actually get in the way of flexibility, especially when I come to introduce DropBox sync. In my case, the individual choice also makes for simpler UI.
So the question is: Can I expect trouble at review time if I stick to my plans to allow users to choose their storage preference (local, iCloud and soon DropBox) per individual document? I haven't found specific guidelines for this. Edit: None of the guidelines even mention iCloud.
It's a should, not a must (just as you should support all orientations on the iPad, but I don't think they'll force you to if the UI would need a complete rework). If you have a sufficiently compelling use-case and a non-clunky UI, I suspect they'll let it through, but I haven't tested this.
If it's not in the review guidelines, then I doubt it's ground for rejections apart from any requirement for "usability" — but honestly, given the average quality of UIs out there, I would not be too worried.
(Indeed, a strict interpretation of that guideline is that you're not supposed to use Dropbox/Google Drive/etc/roll-your-own-cloud-storage, but that's almost certainly not the intent unless they're inviting antitrust lawsuits.)
I did a lot of testing for an app with iCloud. I started with the supposition that it would be transparent to the user whether everything was in iCloud or not, otherwise why would Apple suggest this approach?
Unfortunately, they did not test this fully before rolling it out. I had many problems in iCloud and UIDocument with iOS 4 then 5 (many radar entries of bizarre crashes). In fact, I probably spent half my development time working on this one issue rather than making the app better.
Anyway, the bottom line was that my app was MUCH slower when accessing docs running only on the cloud. Apple does try to cache docs in the Mobile Documents directories. There is minimal info on how to determine status of the caching and therefore try to work around unavailable docs or slowness. The UI ended up extremely jerky in the UITableViews or outright crashed in system libraries.
So, bottom line is my app stores everything locally. If a user makes a change, the app copies it up to iCloud itself and runs background processes to monitor the status of the doc getting up to the cloud. It also manually transfers files changed by another device on iCloud to keep everything in synch, again in background processes.
I've had no complaints at all from Apple reviewers. If I did, I would point them to the many radar entries.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
Google fiber,? Hoping that it will reach the Northeast, USA,. Still using DSL for internet in my area and FIOS is not available in my area, and town has no plan on future installations.
I am trying to make use of a cloud server and currently with Verizon DSL my upload speeds are terrible. Not much use, takes all day to be able to upload. And I have multiple storage drives to upload. I heard about Google fiber haven't heard much about it. It seems promising and since Google is behind it maybe it will. Was wondering if anyone and any unpublished news concerning these areas.
Just uploading takes too long to make use of my server, what should i do?
Make sure you read the guidelines thoroughly before posting questions.
Concerning the availability of Google fiber; Kansas City and Kansas City, MO , are only areas Google fiber is only currently available. They soon plan to expand to more areas. Information can be obtained from Google’s fiber official site located here Google Fiber
https://fiber.google.com/cities/#header=check
Concerning uploading and transfer speeds for a large amount of data to upload. The ultimate solution would be to know of an upload station. Such an example as what a company called aframe.com Aframe's Upload Partners uses, it as it has upload partners in its cloud infrastructure. Or you can send them your data. Not sure about your cloud server but that would be best-case scenario if they had those services in place.
There are multiple useful upload managers that are standalone and also integrates into Windows Explorer and that will help you keep the uploads from dropping and has also additional speed settings that you can apply to enable significant performance compared to standard uploading by a web browser.
Here are some that might help you. Most of these are sympathy FTPs.
Files Zila ‘s comes highly recommend. Great support information and integration. http://filezilla-project.org/
FTPGetter allows you to automate ftp and sftp uploads http://www.ftpgetter.com/
WebCEO FTP Upload Manager http://www.websiteceo.com/ftp_upload_manager.htm
Well, good luck and I hope the FIOS comes to your area soon.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Is there a logging framework for iOS that could aid developers in diagnosing app crashes?
You may like:
Lumberjack: stable and traditional
"It is similar in concept to other popular logging frameworks such as log4j, yet is designed specifically for Objective-C, and takes advantage of features such as multi-threading, grand central dispatch (if available), lockless atomic operations, and the dynamic nature of the Objective-C runtime."
LibComponentLogging: beautiful and hardcore, used by RestKit
"LibComponentLogging is a small logging library for Objective-C applications on Mac OS X and the iPhone OS which provides conditional logging based on log levels and log components. Additionally, different logging strategies can be used, e.g. writing log messages to a file or sending them to the system log, while using the same logging interface."
NSLogger: fancy with a dedicated visualization OS X App
"NSLogger is a high perfomance logging utility which displays traces emitted by client applications running on Mac OS X or iOS (iPhone OS). It replaces your usual NSLog()-based traces and provides powerful additions like display filtering, image and binary logging, traces buffering, timing information, etc."
I know this post is old but I'm looking for one as well. I found one called Lumberjack, though I haven't tried it yet.
I created a simple logging framework that might help. I'd appreciate any feedback you have. Hope it helps.
Link to Project Page
This previous question seems to overlap. But the bottom line is:
NSLog(#"message");
or:
printf("message");
I have a slightly different need: not only do I want to debug crashes, but I also need to debug other errors (NSError, NSException).
I tried all 3 packages mentioned in IlDan's answer. However, all of them require me to adopt a new way of logging, which may not be compatible with the libraries I depend on. For example, I intended to adopt NSLogger but RestKit, which is an important library in my project, uses LibComponentLogging.
So I ended up with writing a small pod (https://github.com/kennethjiang/Teleport-NSLog) for that. The mechanism is to redirect stderr (where NSLog + all these logging frameworks write messages to) to a backend HTTP server. Now I can debug my app running in user's device just as if it was running in my xcode. :)
For basic logging use NSLog(#"your message here")
If you want more flexible logging look into Lumberjack. It can let you disable logging in production etc etc.