using twitter as a support url in iTunes connect - ios

i am developing an app for the app store but it seems i am required to have a support url. I do not have a website dedicated to my app and do not want to make one. Can i use a twitter account dedicated to my app as a support url?

To quote the documentation:
The support website you plan to provide for users who have questions regarding the app. The support URL must lead to actual contact information so that your users can contact you regarding app issues, general feedback, and feature enhancement requests. The URL can specify a localized site.
Include the entire URL, including the protocol. For example, http://support.example.com .
Make sure whatever page you link to contains that specific contact information. A good example of this would be a page with an email form or other way to directly contact you.

Related

Offering account deletion in your app via a website

In Apple's guidelines about Offering account deletion in your app, it states the following:
If people need to visit a website to finish deleting their account,
include a link directly to the page on your website where they can
complete the process.
However, in the FAQ section of the same page, it states:
If my app links out to the default web browser for account creation,
does it still need to offer account deletion within the app?
Yes. Additionally, note that linking out to the default web browser to
sign in or register an account provides a poor user experience and is
not appropriate, per App Store Review Guideline 4.
Given the above information, would having a button in the app that says "request account deletion" that opens a website to complete account deletion requests be compliant with Apple's guidelines? In other words, is it ok to just have a website for the account deletion request process (link to this website will be available from the app), or is it required that the account deletion request process be completed on the app itself?
Everything needs to happen within the app, either natively or via an embedded browser for both user sign-ups and user account deletion.
From my experience, Apple doesn't like "Request" or "Deactivate" as a default modus operandi and prefers only "DELETE" and "IMMEDIATELY"
See https://developer.apple.com/design/human-interface-guidelines/patterns/managing-accounts/
If you help people create an account within your app or game, you must
also help them delete it, not just deactivate it. In addition to
following the guidelines below, be sure to understand and comply with
your region’s legal requirements related to account deletion and the
right to be forgotten.
Also see https://developer.apple.com/support/offering-account-deletion-in-your-app/
If my app links out to the default web browser for account creation, does it still need to offer account deletion within the app?
Yes. Additionally, note that linking out to the default web browser to
sign in or register an account provides a poor user experience and is
not appropriate, per App Store Review Guideline 4.
See the responses below from Apple on both issues.
Guideline 4.0 - Design
We noticed that the user is taken to the default web browser to sign
in or register for an account, which provides a poor user experience.
Next Steps
To resolve this issue, please revise your app to enable users to sign
in or register for an account in the app.
You may also choose to implement the Safari View Controller API to
display web content within your app. The Safari View Controller allows
the display of a URL and inspection of the certificate from an
embedded browser in an app so that customers can verify the webpage
URL and SSL certificate to confirm they are entering their sign in
credentials into a legitimate page.
and
Guideline 5.1.1(v) - Data Collection and Storage
We noticed that your app supports account creation but does not
include an option to initiate account deletion that meets all the
requirements. Specifically:
Your app only offers to deactivate the account. Temporarily deactivating accounts is not sufficient to meet the account deletion
requirement.
The process for initiating account deletion must provide a consistent,
transparent experience for App Store users.
Next Steps
It would be appropriate to revise your app to address the issues
identified above and resubmit your app once the account deletion
option meets all the requirements.
If you believe your current account deletion option meets all the
requirements, either because your app operates in a highly-regulated
industry or for some other reason, reply to this message and provide
additional information or documentation.
Resources
Review frequently asked questions and learn more about the account deletion requirements.
Yes you have to provide account deletion or account deactivate option on website as well.

How to authenticate using the installed Twitter app

If the user is logged-in with the native Twitter app installed, I want my app to open the Twitter app to request authorization.
I already implemented the flow to get the oauth_token in order to start the login process through Twitter's api. Only, the current API Documentation do not mention anything about how to use the native iOS app in the process. It only sends back a url for the user to log in.
let url = URL(string: "https://api.twitter.com/oauth/authorize?oauth_token=\(result.oauthToken)")!
DispatchQueue.main.async {
UIApplication.shared.open(url)
}
On getting the requested oauth_token, I get this link. Opening the link will display a Webview to login. Not the native Twitter iOS app.
I tried to use a deeplink to manually launch the Twitter app, but I couldn't found any resources on how to setup the link properly.
So far I have tried things like:
twitterauth://authorize?consumer_key=[KEY]&consumer_secret=[SECRET]&oauth_callback=swifter-[KEY]
or
twitterauth://authorize?oauth_token=\(result.oauthToken)
without any success...
As mentioned in another post, Clubhouse has implemented exactly this flow. So it is possible. The question is how ? 😅
This flow seems to have not been officially supported since the retirement of TwitterKit on May 1, 2018. Any applications that still offer this functionality to their end users likely have some sort of partnership with Twitter to allow for this which is otherwise undocumented publicly.
The reasoning for this was detailed sparsely in a related Twitter Developer Forums thread:
Unfortunately at this time we have had to make some incremental adjustments that are not so smooth for everyone; especially as you’ve found, for mobile app developers. We’re in the middle of a transition to a new API platform (via Twitter Developer Labs) and there will be some changes as we go along - we are asking for your feedback to help us, and if you check the ideas, authentication and authorization is something we’ve heard a lot about.
I cannot tell you today exactly when we’ll get to an enhanced solution, but this is something we are actively working on.
Direct link
The official guidance is to use the traditional WebView method until Twitter officially re-releases this capability:
I don’t believe that this is possible any longer, so I would encourage you to use the full OAuth flow. I apologise that this may not be what your users prefer, but this is the documented way to gain authorisation (we do not document or support URL schemes for the native iOS app).
Direct link
We do not support or document any means of users signing in to Twitter outside of the OAuth flow; any use of undocumented features is subject to change without notice.
Direct link
As linked above Twitter appears to be soliciting feedback on this via their UserVoice page, should you feel so inclined to suggest the re-implementation of such a feature.

Allow Free Users to search Spotify API

Hello we have a jukebox style iOS application named "Unifly Music" which uses Spotify API for the source of music. It seems Spotify now requires a premium account to even be able to search and view the catalogue.
Is there any way around this or special access tokens to be requested. Note only a session host actually plays the music. The Session guest simply view catalogue and suggest songs. Allowing more session guest to view catalogue and participate is great marketing to Spotify with no loss. Its a great feeder for Spotify to learn the likes of free users, own their contact information, and later convert those free account holders into premiums.
The spotify web API was updated 5/29/17 which caused the issue for our setup. Please help :) !
The Spotify API was indeed changed to require authentication for all calls to the Web API. However, I have good news! The search endpoint is still available to free users! You simply need to follow one of the authorization flows described here and include an Authorization header in your call. This change is also reflected in the documentation of the search endpoint.
Read the announcement here: https://developer.spotify.com/news-stories/2017/01/27/removing-unauthenticated-calls-to-the-web-api/

Enterprise distribution of iOS app with customer-specific web service url

I have an iOS app that communicates with a web service, this product will be licensed to customers for their employees. Each customer will have to install the web service on their own server and provide an IP/URL for the iOS app to communicate with. Right now, the web service URL is coded in the app. I won't know the customer's web service URL before giving them the compiled app.
I don't know enough about enterprise distribution to know how to do this. Do if I need to compile the app for each new customer with their specific web service URL, then give them the app? Or is there is another way this should be done? I was thinking a plist file or manifest that can be configured with the URL but I'm not sure. How do they update that and get the app to use that? I had a developer make this app for me and they said the URLs shouldn't be in manifest/plist files.
I can't find any information about this on the apple developer site or on this site.
You can just add text field in your app settings or at the start where user can define its server URL like www.abc.com For all your customer rest of your path (webservices/yuorservice or what ever you use)will be same . Then you get this url and save in your user defaults to use it for the future for that user.
Using this approach you only need to compile app one time for all the customers.
App has no knowledge of manifest file
Your developer is right--you should not include any app-configuration information in the manifest file, since the app has no knowledge of the manifest file or web page that it was downloaded from. Here is a link to an answer I gave regarding this topic.
Enterprise deployment rules
Apple only allows enterprise deployment internally within a company. So, distributing an App through your enterprise license to multiple companies is prohibited.
Approach
I can think of one option that might work for you, given that you have a URL that should change for different customers.
This assumes that you will employ a login.
Devices
Your login web service response to the device can include the URL that is configured for that customer. This URL can be one piece of data inside a configuration file in JSON format.
Web Server Admin Page
You can optionally employ an Admin page, also accessible through login, where your customer can set the URL, and any other settings. The advantage of including an admin page for your customers is that they are able to manage the product on their own, without the need for additional product support.

Retrieve facebook data in backend service

I'm currently working on an app (iOS 6) where the user will be signing in using their facebook account.
In regards to this I have a few questions:
a) Since the app asks the user for permission to access cetain data (like: basic profile info, friend list, access to post to wall etc), I assume that the app based on it's app id will be somehow authenticated to access this information as long as the user doesn't restrict access through their facebook account.
b) will it be possible for example via a service application to authenticate with the same app id as the mobile app, and hence be able to collect data from the facebook users who authenticated with the app?
The purpose of my question is, that I would like do some analysis on the users using the iphone app, but I don't want the app to first download the information from facebook, and then pass it on to my service for analysis.
If the above is possible, could anyone please guide me in the direction of what it is that I need to do? Perhaps links to tutorials that describes this setup, og simply tell me the right facebook terminology that I'm looking for to achive this.
Thanks in advance!
It's a bit late and you may have already picked a service. I have been using Parse.com
(tutorial site). They're very good. They have SDKs and sample code for many platforms a RESTful service for others.
They have recently been acquired by FaceBook, and already have strong links to Facebook's SDK.

Resources