App rejection from appstore due to bluetooth error - objective-c

My app got rejected in app store saying some nsbluetoothdescription after that i changed bluetooth settings in info.plist(bluetooth peripheral usage-would like to access bluetooth for communication with printer) file still it is rejected by app store what to do now?anyone can pls help.thanks in advance

Documentation is a bit sparse but it looks like you also need the new:
"Privacy - Bluetooth Always Usage Description"
key: NSBluetoothAlwaysUsageDescription
Then add a description to it to convince the user to allow your app to use bluetooth.
Seems like loads of apps have been tracking our location through the Bluetooth beacons we come into range with, so Apple are now requiring permission from the user.
See: https://developer.apple.com/documentation/bundleresources/information_property_list/nsbluetoothalwaysusagedescription

Related

Where do you find Mac App Store analytics

I have recently published my first Mac app onto the Mac App Store, forgive me if this is a stupid question but i can find no place on iTunes Connect that shows the analytics for it, the App Analytics section on iTunes Connect only shows my iOS app? There must be somewhere to see how many units i have sold?
So i contacted apple an there reply was:
App Analytics is available only for iOS developers at this time, and it reports data only from customers using iOS 8 and above. Therefore you will not see data from your Mac app.
If you would like, I can submit feedback on your behalf for a possible future enhancement. If this is something you would like me to do, please reply with a clarification of your request, and I will be happy to send it up for you.
So the short answer is there is nowhere for you to find how many downloads/revenue you have earned. Which is well, shit

Titanium Appcelerator App (IOS) publishing issue

Hi I have uploaded my app to iTunes connect. The app is validated and submitted successfully. While publishing the app to the app store my app got rejected because of insufficient meta data
can any one tell me the reason for the same and what changes do I require to make to resolve the issue.
Metadata rejection means that the description/screenshots/search tags, that us anything apart of the IPA, which you provide in iTunes, is not as per the guideline or is not incomplete.
In the iTunes Resolution Center they will mention that issue in details. If not you can contact them through the chat option and ask for more information. Usually the Resolution Center will provide all the details.
Insufficient meta data means you might have provided invalid meta data. There are 17 guidelines given by Apple for Metadata as given below. Make sure that you are following all of them.
Apps or metadata that mentions the name of any other mobile platform will be rejected
Apps with placeholder text will be rejected
Apps with names, descriptions, screenshots, or previews not relevant to the content and functionality of the App will be rejected
App names in iTunes Connect and as displayed on a device should be similar, so as not to cause confusion
Small and large App icons should be similar, so as to not to cause confusion
Apps with App icons, screenshots, and previews that do not adhere to the 4+ age rating will be rejected
Apps with Category and Genre selections that are not appropriate for the App content will be rejected
Developers are responsible for assigning appropriate ratings to their Apps. Inappropriate ratings may be changed/deleted by Apple
Developers are responsible for assigning appropriate keywords for their Apps. Inappropriate keywords may be changed/deleted by Apple
Developers who attempt to manipulate or cheat the user reviews or chart ranking in the App Store with fake or paid reviews, or any other inappropriate methods will be removed from the iOS Developer Program
Apps that recommend that users restart their iOS device prior to installation or launch may be rejected
Apps should have all included URLs fully functional when you submit it for review, such as support and privacy policy URLs
Apps with screenshots, previews, and marketing text that do not clearly identify supplemental content or items that must be purchased separately (e.g. using IAP) will be rejected
App previews may only use video screen captures of the app, voice-overs, and textual and design overlays, or the app will be rejected
Apps with previews that display personal information of a real person without permission will be rejected
App previews may only include music that is licensed for that purpose in all selected territories
App previews that include content played or streamed via the app (e.g. iTunes playlist, YouTube streaming video) that is not licensed for use in the preview will be rejected
Finally, you have to make sure that you have provided information about how to use your application so that they can easily test the application.

How possible ANCS ( Apple Notification Center Service ) send phone call or sms to wearable devices?

As we know ANCS provides the chance to send notification to paired BLE devices such as Pebble alike watches. My question is
Is that possible to send the telephone call info (i.e, the calling number ) or SMS message to the paired BLE devices via ANCS ?
Quite new to ANCS, got a lot sample code from this question here to verify if the wearable device can know who is calling my iphone, or what message is sending to me. I know Apple has high protection for users, call and sms are high sensitive info, therefore, that will be no way to get such info even from ANCS way.
Thanks in advance.
The short answer to your question is yes.
I have been playing with this for a few hours and have configured a 'Central' on my laptop that connects to the ANCS service on my iPhone. I am able to read the 'Notification Source' data and then request the attributes 'Title', 'Subtitle' and 'Message' via the control point characteristic using "Get Notification Attributes". This is as far as I have got...
Have a look at the ANCS specification here:
https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/AppleNotificationCenterServiceSpecification/Appendix/Appendix.html#//apple_ref/doc/uid/TP40013460-CH3-SW7
Took me a while to understand what was going on but I think the bits you will probably be most interested in are "Get Notification Attributes" or "Get App Attributes".

CoreBluetooth - get all devices connected to Bluetooth peripheral

Is there a way how to get list of all devices connected to the Bluetooth peripheral?
I want to connect to iBeacon and check if another iPhone is connected to it.
No, two reasons why not:
iBeacons are not connected to the iOS device, iBeacons are broadcast only and no back communication exist from the phone to the beacon.
Knowing details of other BT 4.0 Centrals connected to a Peripheral are not in line with the the privacy features of Bluetooth 4.0. iOS and other Centrals are are using resolvable private addresses, in order to avoid situation like you are describing.
#barbazoo is correct that you cannot do exactly what you are asking because iBeacons only transmit data -- they have no idea what devices see them.
You can accomplish something similar, however, if you have an app running on each of the iOS devices you mention, and you have a server where you can build a web service. The web service would expose two methods:
reportIBeaconVisible(iBeaconProximityUUID, iBeaconMajor, iBeaconMinor, myPhoneAdvertisingId)
queryVisiblePhones(iBeaconProximityUUID, iBeaconMajor, iBeaconMinor)
The app would report each iBeacon it sees using the first method, passing the iBeacon's identifiers, along with the phone's advertising identifier to the server.
The app could then use the second method to ask the server what other phones have seen the exact same iBeacon, which would return a list of phone advertising identifiers.
You'd have to have logic on the phone to only report data to the server at a reasonable frequency. You'd also need code on the server to automatically delete phone records in the list if the phones haven't reported seeing a beacon in a certain time interval.

How to link to a specific preference pane in iOS 5

Background
The company I'm working in would like to launch an iOS app to support an hardware device that interacts with some mechanical automatism (aimed to home and building automation) we already produce.
Such automatism receives the pulse needed to activate itself from a nearby bluetooth device, whose MAC address is known by a white list.
We already know of the need to sign up to the MFi program for Bluetooth hardware to connect and talk effectively with Apple devices, exchanging significant messages, but what it is demanded here is to simply detect the presence of such MAC address. No need to establish protocol sessions and the like.
The facts
Investigating how to programmatically enable/disable Bluetooth interface in iOS, I learned it is impossible without private frameworks, as this post states; that is not an option for us, as the app has to be published on the App Store and it is known that Apple rejects apps including code that is coming from private frameworks.
By the way, the app usability would greatly benefit from a direct access to that feature, so I started thinking if, instead of directly interact with Bluetooth on/off state, would it be possible to let the user access to the Bluetooth preference pane straight from the application.
Does anyone know about that?
No, unfortunately it's not possible. There was a trick with:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"prefs://"]];
but it was opening only the preferences (not straight to bluetooth settings) and it's disabled in iOS 5.1. So your only chance is to make a really good help screen (with nice graphics and animations maybe) that explains the user how to enable the bluetooth.