I am using sharekit in my app and now I am ready to upload my app to iTunes Connect. My question is:
In "Export Compliance", I am asked if my app uses encryption, and since I am using sharekit and it deals with Twitter and Facebook passwords, should I check that I am using encryption or not? If yes, what kind is it?
No, ShareKit shouldn't require answering yes to that question.
Yes, you are using encryption! You are using HTTPS, HMAC and various other technologies through ShareKit. See this question for discussion of these requirements. There are a series of questions after that one which determine whether you need further paperwork.
Related
I would love to know where to start to understand how to integrate Twitter in my iPhone applications.
So here are a few questions:
Is it madness trying to implement anything without an Oauth library?
Which of these methods should I use to obtain an access token (I want to open safari.app and get redirected back to my application using iOS url schemes, à la Twitterific)?
Can I avoid browser based authentication with iOS 5 Twitter integration?
Hope you can help.
If you're okay with requiring iOS 5, than Twitter.framework is the best/easiest way to go. They handle OAuth and everything for you. Everything is done simply by using TWRequest. It's very simple.
If you need to support older versions of iOS, than you should take a look at MGTwitterEngine. I believe that there are some forks of it on github that incorporate OAuth.
But with that being said, I highly recommend that you just target iOS 5 and forget iOS 4. It will make implementing Twitter much easier. If you need convincing, check out Matt Gemmell's blog post about why it's okay to only support the latest operating system: http://mattgemmell.com/2011/12/05/latest-version/
EDIT: And yes, Twitter.framework handles authentication for you. No need to use the browser. But users will need to add their Twitter accounts in the Settings app beforehand. If you want them to be able to add accounts through your app, then I believe you need to handle authentication yourself.
Is it true that every app published on the App Store needs its own website?
When this is the case what should I be aware of?
Can I use a blog (e.g., myApp.tumblr.com) or do I need my own URL (e.g.,myApp.com)?
I just used a blog that I mainly use for the game and it worked fine.
So yes, that should work.
Edit: Oops, to answer the actual question, no, they don't require a website in my experience. I've seen apps without website names in the App Store.
Does anyone know if I use the Twitter Framework will my app contain encryption?
Frameworks are not included in your app. They are in the device's firmware and are not copied into your app. So even if an iOS framework had encryption in it, it is not included in your app, you just make function or method calls to it, and are not distributing encryption software.
I think no one really answered your question directly; they were merely inferring your intent. The Twitter framework docs only mention HTTP for API requests. The Twitter docs on this say that SSL is optional though encouraged. So I'd imagine that iOS is handling user authentication via SSL in the background, but that all API requests by developers are done over HTTP using oauth. This is only speculation -- to verify you'd want to run a packet sniffer on your local network and check out the transactions when you call the framework methods.
Regarding the export controls mentioned in other comments here, I'd advise you to look at the iTunes Connect FAQ dealing with export controls within the Dev Center. Apple makes it very clear in that document that using encryption integrated into the iOS frameworks still requires you to apply for an ERN with the US Dept. of Commerce. (I won't quote it due to NDA) The other comments currently on this page are simply wishful thinking. I'm sure some developers were confused (and it is confusing), or perhaps have outright lied and have apps in the store which are violating US law. IANAL; I'll leave that choice up to you.
Having said that, there have been some exemptions added to these requirements, as outlined here.
I'm using NSURLRequest in my current app which is in the App Store. I need to change to Https in the next version.
Do I need to declare "Encryption" in the Apple "upload binary" section when submitting the application?
I saw 2 related threads, but I'm not convinced with the answers there. If someone with real experience or knowledge could answer this one, it could be great..
Thanks.
This only concerns encryption within the application. If you're not doing any of that then you're OK.
https://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf
No, they only want to know if you are implementing an encryption algorithm inside the app itself because there are various laws involved in what can be exported to where with regard to types of encryption.
I'd recommend asking Apple, but I suspect the answer is no.
Refer to Apple's Export Compliance FAQ (needs developer access).
I need your help to know regarding integrating linkedin with my iPhone Application.
I do Googling and am able to create an API for LinkedIn. Using link.
But since I am newbie, I stop here. I have both API Key and Secret Key, But I don't know how do I use it to make it Successful in iPhone Application.
So it's my request to you all to suggest me proper way. Maybe I will learn something new from you.
For other folks looking for sample iPhone applications for LinkedIn, I wrote a sample client which is on GitHub (which was presented at the Silicon Valley iOS Meetup last year):
https://github.com/synedra/LinkedIn-OAuth-Sample-Client
Please try LIExplorer for iOS. It seems to be a promising library which provides LinkedIn authentication and API calls. It also manages token caching.
https://github.com/vijayviswas/LIExplorer
Download a library from : https://github.com/NasirMalik/LinkedIn-iOS-Status
In this library .c file is also used that's why use compile source as: Objective-C (in build settings) instead of file type.
Write this code in your click event:
profileTabView=[[ProfileTabView alloc] init];
profileTabView.parentVC=self;
profileTabView.view.frame=CGRectMake(0, 0, profileTabView.view.frame.size.width, profileTabView.view.frame.size.height);
[self.view addSubview:profileTabView.view];