How do I access my azure database data from my xamarin mobile app? - ios

I'm new to mobile app development, I've been tasked with making an app and so I'm now starting my voyage of discovery. I am coding the app in Visual Studio 2015 with Xamarin using a Mac Book Pro as the client for testing, all our data is stored in a database in our Azure portal. The app I am making is for iOS.
I've read the documentation but I'm getting stuck in certain areas and I think it's down to not understanding what is needed based on conflicting documentation or my own failure to grasp the concepts outlined.
All I am looking to do at the moment is have my app grab data from my azure database and display it in a list/table.
The steps I have taken so far are:
I have created a very basic app within visual studio with a
storyboard and a navigation item that points to a table view(where I'd like my data to be shown).
I created a Mobile App in my Azure account(as per documentation).
I have set the above mentioned mobile app to use my current existing database and supplied it with the username and password which all seems to be ok.
I am now at the point I need to get my app to talk to this mobile app and grab some data from my database. The todo example is ok but it's not quite enough to get me up and running or more specifically it's not in quite the right context for my setup and I think it's causing confusion.
There seems to be a few ways to set the project up for data access but I'm not sure what would be best.
Can anyone assist?

You are nearly there.
Instead of connecting directly to your database, you connect to your mobile apps API which then connects to your database, handles your request, and sends the data back to your app. You need to code this backend first so it is able to handle your requests. Take a look at this tutorial, it is really good :
https://learn.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-dotnet-backend-how-to-use-server-sdk

You will access your Azure Mobile App with the Azure Mobile Client SDK nuget package.
A complete guide to do this can be found here: https://developer.xamarin.com/guides/xamarin-forms/web-services/consuming/azure/
There is also this podcast: https://blog.xamarin.com/podcast-building-connected-apps-with-azure-mobile-apps/

Related

Apple review team has rejected app because it can't connect to ASP.NET API

I run my own VPS in Amsterdam where I have a MySQL database that is being populated and maintained using ASP.NET. It's a Windows Server.
I use this API for four of my existing Android apps (published and working) with a few thousand users who never had any issues connecting to the API through those apps. Recently I finished one of the apps on the iOS platform and it got rejected because Apple couldn't get it to load any content, or it would get stuck on loading without ever returning anything (after we implemented a loading progress animation). After a lot of messaging between me and Apple's review team, they ended up accepting my app to be passed through review even though they never got it to work (or so I believe, they just said they would re-review it and it suddenly got approved after 7 rejects). None of my friends, family or users ever experienced any issues like this on either Android or iOS.
A good friend of mine who did most of the work on the API is also from the USA, which makes me doubt it's a location problem.
I must note that pretty much 99.99% of my users are Dutch and all my projects are build for Dutch users.
Does anyone have experience or ideas in this field? I'm about to publish an update for the already published app and I'm afraid they will reject it because of the same issue.
The exact message I got at first was:
Specifically, upon launch we found that the app failed to load any content.
Changing the API calls to be over HTTPS seems to have fixed the issue, Apple now has access to my API through all my apps.

xcode iOS business application

I am a complete novice when it comes to iOS app development. I have designed and submitted my business app to the app store and it is going alone ok. Only thing is I have to change, add or subtract products as our business changes. Is there a way where I don't have to write new code and resubmit to the apple store. e.g. some server based drag & drop portal I could use instead of having to change through Xcode and resubmitting. it is a fairly basic tabbed based application with maps
Thanks for your help
If your products are stored in a database, you could build up a REST Webservice to access them from your app.
If you do not have the programming skills to do so, a possible solution could be to use a UIWebView in your app that loads HTML-pages with your products, so you just need some basic html skills to update the products.
Note that if there are any links to other websites your app probably has to be ratet 17+.

Mobile App With Web Admin Panel

I have to build an iOS mobile app which has a web based admin panel.
Can you give me some tips on where to start?
I know OOP programming and the fundamentals of Swift (I have to use this language.)
The app I would like to build is kind of a reporting app. Users can log in to their dashboards and can send reports to the "office" which means they fill out a specific form. In the office managers can check the reports in a custom made web based admin panel (such as www.domain.com/reports-admin) where they can log in and view,filter,delete,save these reports.
Can I do something like this with Parse.com or I have to build my own backend from scratch?
Thanks for the help.
According to the backend, it doesn't matter if you are delivering the content to an iOS app or a Web interface. So yes your users can access it from the web or their iOS device. Parse.com can be easily used for the backend as they support many languages. The parse.com documentation is a good place to start.

Is it possible to add external data to CloudKit?

I'm writing an iOS app that uses data collected from websites. A large amount of data is retrieved when parsing the content so it needs to come from a backend server where data can be collected and added to the database once rather than parsed on the device.
I've looked at BaaS frameworks like Parse and am considering using this, but I'd like to know if it is possible to add records to CloudKit externally from say a Linux server? I've looked everywhere and can't find anything other than adding records programmatically (from the app) or via the dashboard.
You could create an OSX app (no other platforms are supported yet) that is communicating to the same CloudKit container. But then that app also needs to be signed and submitted to the app store. You don't have to make it public, you just need to submit it.

Clarification on Apple App Store Guidelines - Use of WebUIView

I'm new to mobile programming. Recently my company has looked into creating a specific application for tablets (Android and iOS). So it was assigned to me to develop a thin-client based around using HTML5 for what we need to do.
Essentially the application allows a user to fill in a custom-designed form (which the user can build themselves, or pull down a predefined template from our server). This form is built using HTML5, Javascript, JQuery, etc. Some additional functionality is planned, such as being able to take a picture using the native device and attach it to the form that we send back to our server for storage (once we figure out how to do it in iOS. We've already done it in Android.)
However, I noticed the following on Apple's App Store Guidelines, under the Functionality section. Item 2.12:
Apps that are not very useful, unique, are simply web sites bundled as Apps, or do not provide any lasting entertainment value may be rejected
Can someone explain, or at least direct me to clarification of this when using the UIWebView construct? This application at its core is pretty much just HTML5. While it might have some additional bells and whistles, does this mean that if we try to submit this (when its completed) to Apple, that they will simply reject it out of hand? Implementing the majority of it in HTML5 was done purposely so we wouldn't have to re-code everything from device to device (and we will also embed it in one of our products, so if they want to fill it out on the desktop while in our system, they can.)
Any guidance would be appreciated, or even suggestions of where this question should be asked if SO is not the proper forum for it. Thanks again.
The key in the Appstore guideline is the word "simply":
Apps that are not very useful, unique, are simply web sites bundled as
Apps
If you keep a balance between locally stored and remote HTML content for your webviews Apple would not look at the app as a hollow shell pulling in remote content.

Resources