The restful api function is good to iOS? - ios

i'm a mobile-develop engineer.work on IOS platform,using Xcode.
a few days ago.the man server developer has been changed in our company.he said the popular way of developed is using the template whose name was Restful API,then I was starting know something about the Restful api.
what i knew the thought of the template was the server need only developed the just the one http-interface.they didn't care whatever clients how to requested and how hardly used.
i didn't agree that, example in the page.the requirements is search friends depends on the text which user input on search-bar.
the 1.0 version is just searched the information which key included name.maybe we will send the requestPostDate=xx(which user inputed),filter=name.
the 2.0 version is searched the information which key included name、sex、age or your personal description.but I can't changed the requirements as soon as possible. because i have been wroten filter=name.
what should we did if it should changed in 1.0 versions on AppStore platform.
so what we did is modified the code which filter=name,sex,age. and upload the new library(IPA),then send it to AppStore.hope it's successful during these days.
what i need to say is if we not using restful api.we can be controlled by server.we just tell them we had a key which is xx,the clients didn't care about what the logic of how to search, it easier? and it changed quickly?the client didn't modified any code.maybe we have Web-platform、IOS-platform、android-platform.
i don't know what's the template your company using now.if it's restful api.please tell me how to fix about the questions what i said before?

the problem what i said is the restful api is suitable in IOS platform? maybe is suitable in Web platform,but not suitable in Mobile-developed-platform.
do you agree what i said? if not.give me some point which you think is right please.

Related

What's the proper and correct way to access files on O365 from iOS

I know that someone mean will probably close this question for being opinion, but the truth is, I'm not after opinion as such, but actual facts about the correct way and how to do this.
I've been searching around for quite a time and I'm still unclear as to what direction to take. It seems there are a billion* libraries that I could use, but I want to know what would be the correct, proper supported method of achieving this.
Essentially, I have a very simple requirement to list and download files from Sites on our Office 365 subscription to an iOS application.
Initially, I looked at the REST interface for Sharepoint and, from a browser, was able to easily perform a GET to our site and receive and receie a response with meta data about the file, for example:
https://mytenantid.sharepoint.com/_api/web/getfilebyserverrelativeurl('/MyFile/Here/Document.txt')
I could also retrieve JSON output instead of XML by specifying an Accept header of application/json using the POSTMAN REST client for Chrome.
So far, so easy. Just the authentication to do outside of the browser and that's it.
Phew!!
I started by looking at Basic authentication, but wasn't sure if this is the right way to do it and even if it would work?
On looking further, it seems that actually, using OAuth might be the way to go. Apparently, you can either do this yourself (no idea how), or use a library (ADAL?) from Microsoft? Unfortunately, this all looks half baked will very little documentation that seems to work. It also requires the use of CocoaPods and workspaces and isn't just a simple library that I can copy to my project and start using (a la SwiftyJSON). There also seems to be a lot of other libraries around too.
I should mention that I'm using Swift, so I've tried converting code from Objective C to Swift (unsuccessfully) too. Apparently I can't use "readWithCallback" with an argument list that the code tells me I should actually use -- even a sample application I downloaded had the same issue.
I've also tried using node.js with a script (not a Web Application) and the documentation and number of libraries available for that is almost worse.
Any assistance to achieve this really simple capability would be hugely appreciated -- it's been driving me nuts.
Many thanks,
D.
*this might be a slight exaggeration.
Office 365 has a RESTful API that you can use any programming language to authentication and integrate in your app.
Here is a simple example for iOS connected app to office 365. The sample shows how to do this in Objective C and SWIFT.
https://github.com/OfficeDev/O365-iOS-Connect
If you want to full iOS samples for office 365 connected apps, Check out this link:
https://msdn.microsoft.com/en-us/office/office365/howto/starter-projects-and-code-samples
Enjoy :)

Xcode 6 - iOS8: Allow Master User To Update Information

I was wondering if anyone could point me to any useful tutorials on allowing a master user to update information for their app. I am looking into creating an application for a local restaurant and I want the owner to be able to update information like the soup of the day and such by themselves.
I have been looking into JSON and CMS for this, but I am unable to find any useful information regarding iOS 8 or xCode 6. If anyone could provide me with this information, or any other suggestions on how to achieve this I would be very grateful!
(I am using Swift not Objective-C)
This is not a code issue, rather it is a development concept issue. You have many choices including making an API that is updated by the restaurant. The app then connects to the API and gets the recipes. If you feel you need to do this via the App make a special username that is allowed access to modify the menu. This can be accomplished via matching username exactly or via using a regex. It all really depends on the structure of your app platform.

How would I create an app for a website that does not have an API and uses ASP.NET?

Basically what I'm looking to do is to create an native interface for a website that does not have any sort of API. This would be a 3rd party app that would provide all the same functionality of the website, just optimized for iOS. The real problem I run into is in sending and getting user-entered data to the website as it is using ASP.NET which I am not at all familiar with and the user would need to log-in to the website.
This is kind of a convoluted question, but I am sitting at square one and not even really sure where to go from here.
It sounds like you are asking if you can create an iOS app that can interact with another website that doesn't have an API? If my understanding is correct, then there's really only one option I can think of.
You would have to make your iOS app make HTTP(S) calls to the ASP.NET based website and simulate GET/POST requests as if it were a "real" user. You would do this by using one of the native iOS HTTP clients (NSURLSession, for example) and would have to strip and parse the HTML you received back from the website in order to get the raw "data" required for your iOS app.
The situation you are describing is pretty complex and very brittle (you have to make a change to your iOS app every time any change is made to the ASP.NET website) and I would avoid this method of integration at all cost.

Oauth library for iOS (in particular Yelp)

I want to add Yelp search into my application.
To do this I need to use Yelps Oauth authentication. This sounded easy as I've made some server applications before.
However, I keep getting an INVALID_SIGNATURE with the code I have created to make and retrieve data from a constructed URL.
I have checked the signature output by my app and it is exactly the same as the one they provide at http://api.yelp.com (I've even checked the two strings (before the hashing) at http://www.textdiff.com and they said they were the same)
It seems I hit a dead end and cannot get around this error.
Can anyone point me in the right direction with why my signature might not work
and/or
Can someone point me to a good iOS Oauth tutorial and library (any library I have found has poor documentation on how to use it)
Thanks

Some questions about dotnetopenauth

I have a couple outstanding questions mainly reguarding twitter and facebook
In the FacebookGraph class there are properties such as Id,name,etc. I am wondering how do I add to this list? Like what happens if I want a users hometown? I tried to add a property called hometown but it always is null.
What should I store their id(1418) or the whole url(http://www.facebook.com/profile.php?id=1418) for lookup later in my db to grab their data and to see if they have an account with my site?
Is it actually good to use this id as it seems like it is common knowledge. Can't someone just find the profile id or whatever and do a fake request on my site?
how do you setup dotnetopenauth to deal with the case when a user goes to facebook and deletes access to my website. I know you can send a deauthorization code to your site and then delete their account but I don't know how to do that through dotnetopenauth
Twitter
Is it possible to do number 4 with twitter?
Ajax
Is it possible to make the openid stuff ajax? I don't see a sample anywhere in the dotnetopenauth samples.
I'm no pro at Facebook. But the FacebookGraph class is in the ApplicationBlock, which ships as source and is fully intended for you to customize or extend within your own application. Hopefully people more familiar with Facebook in particular, or the Facebook docs, can help you with those questions.
Since Facebook is not OpenID, what you store whether ID # or the whole URL, is less critical. People should not be able to just craft requests to log in as others because your site should be verifying signatures, etc. If you're using DotNetOpenAuth appropriately this is probably being done automatically for you. But without seeing your code it can't be said for sure.
Assume the id is common knowledge. It certainly isn't a long random number so anyone can guess it. The ID must be accompanied by a signature that verifies that Facebook sent the ID, just now, for you.
I suspect the deauthorization code isn't going to be relevant to DotNetOpenAuth -- that's probably just some URL that you respond to. But again, I haven't read the FB docs on this.
Here's the real answer I can give you. Yes, OpenID works with AJAX reasonably well. You can see some samples of this at nerddinner.com or a sample of a blog post comment system. The most complete AJAX demonstration for standard login may be in the web forms or MVC project templates available on the Visual Studio Gallery.

Resources