How to detect if I'm using an undocumented api in iOS - ios

I'd like to figure out if I'm using undocumented api's in my app. Are there certain hallmarks or patterns that I can look out i.e., if I use code in my project from a website?

Before submitting an app to Apple, you can use the Xcode tools to validate your code.
The Apple documentation says:
In the iOS 5 development tools, it is possible to extract APIs used by
an application and have them checked for use of private APIs. This
option is offered when you validate your application for app
submission.
Also, you could use Deploymate to detect unavailable API usage during development.

Related

What does Apple think about complete Web Based Apps?

I used to be a Web Developer and I'm not experienced at developing iOS Apps.
I've just found out that I can make the whole App a Mobile Website. So my question is if Apple accept these kind of Apps, where the whole content is a normal mobile friendly Website. As Apple can't control the content displayed in such an App.
There are three ways you can leverage your expertise as a web developer to develop iOS apps:
Use SFWebView or WKWebView and use it to present HTML (either stored or retrieved remotely) to the user. In this case your app would have to go through AppStore review. There's plenty of apps like these, so I would assume it would not be a huge issue.
Use a framework like React Native that compiles Javascript dialects into native UIKit. Again, the app would be up for review in the AppStore. It would feel more iOS-like to the users.
Develop a bona-fide web app that looks great on any phone and you skip the AppStore part.
I'm working as a web developer too and we did a few iOS apps for our clients. Basically 90% or more where pure web view and so far we didn't had problems getting through with them.

Detect apps on my iphone without being rejected by Apple?

My app has been rejected by Apple for the following reason "Our team is aware that iHasApp is using publicly available APIs, however this specific implementation abuses canOpenURL: to detect all apps on a given device".So I start to look for another way to list all the installed app in the user's phone.So my questions are:
1/Are they some web apps which can detect the installed apps?
2/is it possible to detect apps using their icones?
If you implement a workaround, the chances are that Apple will still reject your app anyway.
Obtaining a list of applications installed on the phone is evidently disallowed. Apple has rejected apps using lots of methods to detect this:
Your solution of "canOpenURL"
This solution using private apis List of all apps installed on iOS device and their position on the Home Screen (Springboard)
This (dated) answer using file path manipulation and private apis: get list of installed applications on iphone objective-c

Phonegap: key required for iOS

I have started trying Phonegap. While it gives the .apk and .xap, but not for iOS and blackberry and asks for a key.
Can someone provide useful links for developing in iOS and understanding what are the keys mentioned?
In order to develop for iOS, you need an Apple Developer Account. This is costs $99/year, and you can find out the specifics here: https://developer.apple.com/programs/ios/
I've never gone through the process myself, but as I understand it, once you sign up to be an Apple developer, they'll give you a key (or some way of generating one) that every program that can build apps for iOS will require before it can build successfully. There is no way to develop for iOS without first subscribing to the developer program.

Using twilio sdk for an iOS app?

I am planing to develop an VoIP iOS app and use Twilios SDK. I am making the choice to either use LiveCode, Appery.io, PhoneGap or build a native Objective C app. I am going to build the app for iOS, Android and HTML5 so the ideal would be to develope in JavaScript for all platforms, but as I understand the support for WebRTC is laking on the iPhone so the alternative for iOS is the native twilio SDK.
My requirements is:
be possilbe to use in iPhone 5 with iOS 7 be able to use twilio iOS
SDK´s voip functionality or twilio´s js SDK (if it is possible to
wrap a browser that supports RTC in the code?) be able to integrate
billing such as in-app payment or paypal with zooz or similar
communicate with REST API´s such as Amazon S3 or a node.js server
store temporary info in a SQLLite db when app is off line make fast
and responsive views (file listings etc) is very important
create cfuuid´s
I have seen several Twilio projects that use PhoneGap but none that are using LiveCode.
I have already built an iOS VoIP app in Objective C, but I want to be able to release it on several platforms also such as for Android and build a HTML5 app, without redoing everything.
This isn't really a programming question and should perhaps not be asked here.
You can create an external for LiveCode and quickly create an interface using the LiveCode IDE. This is probably a quick and easy way to make a working app. If you're starting with LiveCode but are experienced in Objective-C, creating an external won't be a problem for you.
LiveCode doesn't contain native iOS controls, which means that you have to emulate the GUI. If you use PhoneGap, you also will need to compile a plugin for PhoneGap using Objective-C, but you can use a framework, such as JQuery, to get the right GUI.
Either way, you will have to compile the SDK and you'll need to be quite profound in Objective-C.
LiveCode will meet all your requirements. However, Apple will deny your app if you use PayPal for in-app purchases. You'll have to use Apple's in-app purchasing feature. I believe this is possible in LiveCode now. I'm not sure how easy it is.
I'm not sure about file listings either. On iOS, you won't have complete access to all files on the phone. This isn't a LiveCode limation but a limitation of the OS.

HTML5 mobile app - when to simply use UIWebView and when to use PhoneGap?

I am a web developer who needs to build an HTML5 mobile app - which we will need to try and submit to app stores, including Apple's App store. Therefore, I need to somehow wrap my app into a native framework.
That being said, I don't have time to learn the nitty gritty of Objective-C and figure it all out.
I am trying to decide between using a service like PhoneGap, or simply creating a smaller native app with a webview that pulls up my mobile app from my site's server.
In this case, the only native hardware that my app needs to be in touch with are push notifications (probably through Urban Airship) and Geolocation (which can be accomplished via HTML5).
When is it wise to go with something like PhoneGap vs. simply creating a UIWebView, and vice versa? Which would you suggest in this case?
Apple is loyal enough to PhoneGap apps - almost no problems with approval on iStore. You should just follow Apple Human Guidelines and everything should be OK.
PhoneGap provides lot's of different and interesting features. Also it's cross-platform - works great on iOS, Android, WP7 etc. I think it's the best way to wrap your HTML5 and JS.
Talking about pushes - if you select phonegap, i recommend to look at pushwoosh service.

Resources