Apple store reject my app (based jquery mobile) [closed] - ios

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
Firs time i developed my app.it was only contain webview and it just call website to webview.They rejected my app.Then i looked for advice some developers said "you should IOS features"
So i used objective c..i used IOS features.Such as check network connection,splash,i replaced static form with IOS form...in my app i used all thing with native expect google map....for google map i used jquery mobile but they rejected again...there are some screenshoot from my iphone app and it is performance is good
screenshot 1:this is IOS native form
screenshot 2 :this is IOS native form(bind with json rest service)
screenshot 3: this is jquery mobile web page.i call this from IOS web view
screenshot 4: this is jquery mobile web page.i call this from IOS web view
screenshot 5: this is IOS Form
this is their rejected issues and they Closed Communication so i can not ask them and mail them
what should i do?
Rejected
2.12: Apps that are not very useful, are simply web sites bundled as apps, or do not provide any lasting entertainment value may be rejected
10.6: Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are worth it. Apple sets a high bar. If your user interface is complex or less than very good it may be rejected

You need to carefully go over review guidelines
https://developer.apple.com/appstore/resources/approval/guidelines.html
and also human interface guidelines
http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html
First of all, you need to keep in mind its Apple and its Apple's App Store they have the right to reject your app, there are almost 1 million apps on the app store and they want your app to be useful, unique or provide some form of lasting entertainment.
For 2.12 ; I can tell your Places view seems good I mean its a tableview and it seems useful to me, but rest of the views are not good enough, even though they seem useful to you, apparently to Apple they should have been much more useful, for example you can combine Location and Maps view easily. Try to provide more features and more interaction with app, not just simple webviews.
For 10.6: you need to carefully follow iOS Human Interface Guidelines fort example while you app gets data for your map view to populate and this takes a while and you dont show a progress hud to user that letting user know you are loading some data Apple probably will reject your app, or your user interaction freezes,disables or it is very complicated.

It got rejected because it really doesn't do anything different than google maps. Unless it provides more services they will probably keep rejecting it

Here's another stackoverflow post explaining the reasons why Apple rejects applications: Reasons for rejecting iPhone application by Apple store
I do not think yours have rejected as not being different from others, there are 1800 lanterns on the appstore, the information provided by Apple is insufficient to know why.

Related

Is it possible to detect if any other certain app is Currently running or not in iOS?

Let say If I want to check if the facebook or any other application is currently running on device ?
The answer is simply "No", this is absolutely not possible in iOS.
(Note that you can easily "open" another app - it's just like opening a web link - but you can not "check if it is already open".)
Simply your answer is NO
The reason behind this, in case of iOS, every app is running like on own sandbox. So there is no connection between one sandbox to another.
Update 2:
Decided to use Code-Level Support.
Included with your paid membership are two Technical Support Incidents
(TSIs) for code-level support from Apple support engineers.
Reply from Apple:
Automatic Assessment Configuration limits what features of the system
are available while in a testing environment. It locks the device to a
single app. It does not provide oversight, such as identifying which
apps are running.
Classroom is an app targeting K-12 classrooms. It provides teacher
oversight of student activities during lessons, including viewing
student screens.
https://www.apple.com/education/k12/teaching-tools/
https://support.apple.com/guide/classroom/welcome/ipados
I'm not aware of any functionality associated with either of these
that provides for notification of apps running in the background.
While I cannot say how any given app is implementing apparent
functionality, I'm pretty confident in saying that the app you mention
earlier is not using either Automatic Assessment Configuration or
integrating with Classroom.
You may want to contact the developer of the app in question.
Of course, it's also possible your colleague misunderstood and the app
is not in fact doing any such reporting.
I would also encourage you to file feedback requesting such a feature.
Please submit your suggestion via Feedback Assistant
https://feedbackassistant.apple.com. For more information on
Feedback Assistant, please visit
https://developer.apple.com/bug-reporting/.
While you were initially charged a technical support incident for this
request, we have assigned a replacement incident back to your Apple
Developer Program account.
Perhaps my colleague mistook Android version of the app for iOS.
Update:
After reading some more about this it could be related to Automatic Assessment Configuration and AEAssessmentSession.
This allows an app to:
Enter single-app mode and prevent students from accessing specific
system features while taking an exam.
and
A session provides protections by preventing access to desktop
elements like:
...
Other apps, except those that you selectively allow
https://developer.apple.com/documentation/automaticassessmentconfiguration
https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_automatic-assessment-configuration
https://developer.apple.com/documentation/automaticassessmentconfiguration/aeassessmentsession
Sample code here:
https://developer.apple.com/documentation/automaticassessmentconfiguration/build_an_educational_assessment_app
Original:
I agree with #AnkurLahiry and #Fattie that it should not be possible due to sandbox environment. According to Apple Developer Forums it is not possible either:
https://developer.apple.com/forums/thread/48374
However a colleague took his hunting degree and they used an app for examination. This app could detect other apps running in the background. For example one person had Teams app running and the examinators could then tell that he had that exact app running on his phone. Not just installed but running in the background.
https://apps.apple.com/se/app/teoriprov-f%C3%B6r-j%C3%A4garexamen/id1548547811
He took the test 2022-04-29 and was using the app version 1.0.8.
I'm not an iOS developer but I have done some experiments with disabling or bypassing SSL Pinning/Certificate Pinning on Android. In this case developers often used checks in the native layer as well as the Java layer to make it difficult to bypass. My guess is that they use low-level access to detect if a process is running or not.
https://security.stackexchange.com/questions/149325/disable-or-bypass-ssl-pinning-certificate-pinning-on-android-6-0-1
https://developer.apple.com/documentation/objectivec
Unfortunately I don't have more information than that. Next step could be contacting them and see if they are willing to share how they did it.
You could also read up on examination apps and classroom:
https://apps.apple.com/us/app/classroom/id1085319084
For Android you can check it like this:
https://stackoverflow.com/a/22503513/3850405

iOS Application update that only contains splash screen

I want to update an iOS application, so it only contains a splash screen that says: we are working on updating the app as soon as possible, stay tuned for the next version.
I don't want to remove it from sale, and i also don't want new users to interact with the application, i just want to show them a page with a message.
Is this against apple rules? will they accept my update?
Too simple applications usually don't pass through the Appstore validation.
Have a look a the official documentation : App Store Review Guidelines.
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
It's likely it'll be blocked for 2.1 (App Completeness), or 4.2 (Minimum Functionality), but can't be answered conclusively without trying it.
for situations like these you should implement some kind of functionality in your app that lets you control those "maintenance periods" without updating the app. for example some kind of API that returns a special http status code when the app should not be usable for a specific time. then you can react on that status code and show the user some kind of "maintenance message". as soon as you're done you can easily reenable functionality.
This almost certainly won't make it past review. The only way you could do this (and I wouldn't advise it) is to add a splash screen behind a feature flag that you activate remotely after review.

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.

How should I get App Store app comment information in iOS? [duplicate]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
Does iTunes Connect has an API? How do some applications download financial and sale reports to computer? Are there some C/Objective-C API wrappers?
Update 11/02/2018
On November/18, Apple finally released the Appstore Connect REST API. Referencing the Apple description:
TestFlight. Manage beta builds of your app, testers, and groups.
Users and Access. Send invitations for users to join your team. Adjust their level of access or remove users.
Reporting. Download sales and financial reports.
Update 10/03/2018
Good news on this one: on 2018 WWDC, Apple announced the Appstore Connect API - where you'll be able to access almost everything related to your Appstore Connect management. You can see two related talks here and here.
The only curious thing is that its release date was supposed to be late this summer - so it's probably delayed. Nonetheless we should be able to see a release soon.
Update 8/18/2016
Official Reporter tool from Apple
https://help.apple.com/itc/appsreporterguide/#/
iTunes finally released an auto download tool as noted in the PDF
http://www.apple.com/itunesnews/docs/AppStoreReportingInstructions.pdf
Here is the class file
http://www.apple.com/itunesnews/docs/Autoingestion.class.zip
There's no API for iTunes connect, the only way you can access the information is through the web or with a program that scrapes the web pages. If you want to create something in Objective-C, download AppSales from github, it's an iPhone app which downloads financial reports from ITC (or maybe itts). You can download it and install it on your iPhone if you have an Apple developer account. You can look through their code and see how they scrape the daily and weekly reports (hint: it's ugly).
http://github.com/omz/AppSales-Mobile
Note that if you try to create an iPhone app to do this, Apple will reject it. It breaks the rule about "No public API". Other people have tried this and been rejected.
If you're just looking for software to do this on your computer, I'd highly recommend AppViz
http://www.ideaswarm.com/products/appviz/
Here's a nice post which compares these and more apps:
http://www.markj.net/sales-stats-tools-for-iphone-apps/
For everything non-sales related, you might want to check out the unoffical documentation of the iTunes Connect JSON API: https://github.com/fastlane/itc-api-docs
Update: There is now a Ruby implementation of both the iTunes Connect API and the Apple Developer API available: https://github.com/fastlane/fastlane/tree/master/spaceship
Following up on gavi's answer: if you download & decompile the Autoingestion class you can see the API that Apple use for sales downloads.
It consists of a POST to https://reportingitc.apple.com/autoingestion.tft with the form values: USERNAME, PASSWORD, VNDNUMBER, TYPEOFREPORT, DATETYPE, REPORTTYPE, REPORTDATE. Refer to the PDF for details of the parameters
The response will contain the header 'ERRORMSG' if there's an error, and the header 'filename' if there's a body (presumably Apple developers don't know about Content-Disposition or 4xx/5xx status codes). The body of the response contains the file data.
Here is a small project that may be helpful to you in automating the download of piano reports from iTunes Connect. It's a python script to automate the login / download of daily sales files and I use it daily in conjunction with some other scripts to parse that data. Hook it up to a cron job with some error checking (the reports never seem to be generated at the same time) and you'll be good to go.
http://code.google.com/p/appdailysales/
No, no formal API (or if there is one, it's well hidden even from iPhone developer users of iTunes connect). However, the sales & financial reports are downloadable as tab delimited plaintext (gzip compressed), though to make the request you'll have to login (which is cookie based). One could probably wrap this process up with a little bit of screen scraping, and thus get access to the TSV files.
Take a look at http://www.itunesapis.com. This is the missing iTunes and iTunes Connect API.
Shameless plug for my own perl5 module...
http://metacpan.org/pod/WWW::iTunesConnect
Although, given yesterday's announcement of an official Apple app, there might be an API in the works.
The most popular one on GitHub is spaceship
It is a Ruby library. You can NSTask to call ruby code.
after looking everywhere I did not find a PHP version of the reports API so made my own.
You can check it out on https://github.com/Finnb8r/itunes-connect-sales-api-php .
I realize that this is not an Objective-C wrapper but this link comes out on top when generally looking for an API.
To can use the AutoIngestion Tool the vendorId is needed.
To find it, with the last update on iTunes Connect, in the Sales and Trends section, pressing on the top
right menu that shows "Top Content" can access to the Reports entry (direct link).
There you can see the "Vendor" selector, pressing on it you can see the Details of the vendor with the following format:
VendorName - VendorId
Hope it helps.
There's no formal API but several open source and commercial products available that bring some/most/all info together (such as the ones mentioned in previous answers).
Another such solution is www.appfigures.com which combines sales reports, app reviews, and hourly rank updates. Unlike the other apps appfigures can automatically import your reports and email you a nicely formatted report by email every day/week.
There is ITunes Store Search API:
http://www.apple.com/itunes/affiliates/resources/blog/introduction---search-api.html
It is part of Apple affiliate program.
Hope this will help you.

Issues with NSURL and iPhone SDK 3.0 for placing phone calls

There is a newly introduced issue with iPhone 3.0 SDK and how it deals with the NSURL method for automatically making phone calls. It used to be that you could call a method (NSURL), pass in a string with a URL prefix (tel://, sms, etc...) and the iPhone OS would dispatch the message to the device, such as iTunes, App Store, Phone, SMS, Mail, Safari, etc... The code goes something like this:
[openURL:[NSURL URLWithString:#"tel://8005551212"]];
When the method was called the phone call would be placed automatically. With the iPhone OS 3.0 when the method is called the app pops up a dialogue box asking for confirm the phone call. This breaks several existing apps as well as one that we just pushed into the App Store for review.
Can anyone think of a fix to this issue? I'm currently at a loss for what to do and trying to decide what other ways to handle this new wrench in the works.
I blogged about this and suggested that people contact Apple and make them aware of this issue. I also recommend a fix that a friend and I were thinking about - and that is to use the same "authorization" that location aware apps have; an app knows it's location aware and asks the user if it's okay to use their location.
Again, if anyone has a fix for this issue (and that is within the realm of the iPhone SDK as to not be rejected by Apple) please let me know; I would be greatly appreciative.
Update: Julian Romero Nieto has a good description of the bug and cites the (updated) Apple documentation and shows the issue at hand. You can read his posting to Oper Radar here.
I believe this is included as a security feature - imagine an app that called a 900 number at 3am every day for 10 minutes. If you compare it to the new 'In-App Purchase' API - it's much the same.
The location API comparison is a bad example - getting the users location is a privacy concern, not a financial one.
You can't fix this issue as this is what is intended - anything you do to "fix" the issue will result in an app that won't be approved.
The user experience is considered not to be good when an app can choose to dial a number without the user's consent. It would be possible for software to dial "premium" numbers that cost the user a lot of money without them realising.
This is standard across all mobile software platforms and OS - if it just changed in OS 3.0 then this shows that it must have been an issue that initially Apple thought they could get around. However I think that Mobile Operators will have put pressure on Apple to introduce this as often then end up having to refund the user - but will have already paid out the money to the "premium" number.
I am not sure if "premium" numbers exist in the US as much as they do in Europe and that maybe the reason this is hard to understand.
The RFC for tel:// says to NOT allow autodialing of numbers via the tel: scheme.
So they have to chose between RFC compliance and breaking these few apps.
I hope the chose to ignore the RFC, at least to allow apps to keep dialing if they allow it.
I question whether this is intentional on Apple's part to push users to purchase a new iPhone if they want voice dialing - this problem breaks all of the 3rd party voice dialing apps, making them unsafe and basically useless.
Let's keep up the pressure on Apple to make this a user-configurable setting.
Perhaps you meant newly introduced feature instead of issue?
I don't think you will get Apple to remove the confirmation popup, especially if it is RFC compliance.
Lemmy quote Joel (http://www.joelonsoftware.com/items/2009/06/10c.html) regarding broken apps:
A good platform always has
opportunities for applications that
aren’t just gap-fillers. These are the
kind of application that the vendor is
unlikely ever to consider a core
feature, usually because it’s vertical
— it’s not something everyone is going
to want. There is exactly zero chance
that Apple is ever going to add a
feature to the iPhone for dentists.
Zero.
I would not want some application to make calls, send sms or even connect to internet (living in a country where unlimited mobile data plans are still far in the future) without my consent.
Certainly operator's headache when customers complain about unknown calls on bills.

Resources