Razer Nabu iOS Authorisation - ios

I'm trying to setup a test iOS app to see what I can do with the Razer Nabu but I'm struggling with the patchy documentation. The example for authentication only mentions a 'fitness' scope and with that I don't seem to be able to send a notification to the band (the main thing I'd like to try).
When I try and send a notification I get Operation 36 returned and no notification on the band so I assume that means it failed (return codes from the SDK aren't documented it seems).
Does anyone know if there is a different scope for notifications? I tried 'notification' and 'notifications' but they resulted in failure to authorise in the Nabu Utility app.
Any help or pointers to documentation/samples/guides I might have missed would be very helpful!
NB I managed to get authorised with the 'fitness' scope and read some fitness data so everything's working except for the notifications!

Having got in touch with the Razer support guys and talking to this lovely chap called Brandon the issue was that I had the Nabu Utility app from the App Store and the version from the developer site was actually more up to date in this respect, so getting that one installed (and uninstalling the App Store version) made everything work correctly!

Related

Problems activating Facebook Ads in iOS App

I am trying to integrate Facebook Ads in my iOS App.
I have the SDK installed and I also already receive test-ads. So everything seems to work fine.
BUT...
On the Facebook page inside the Monetization Manager there is a 4 step tutorial on what I need to do.
was Choosing the ad format -> Banner -> Done
Integrating the SDK (I'd say it's done cause I see Test-Ads inside my app) but here's the problem... Cause there is no Checkmark there.
Is the payment info. That's done.
Would be the Review that I'd like to do, but that seems to be deactivated...
So... It also says there, that I need to be logged in to facebook on my phone with an associated Account. I am!
I don't know what else I'd need to do in order for Facebook to recognize that I already successfully displayed a Test-Ad and I just can't find any contact phone number to ask somebody.
Any hints are very much appreciated.
Btw. I already tried yesterday evening (in case the activation process simply takes longer...)
I finally found the Problem after trying every single Setting on the Facebook page...
The problem was that I added my device as Test-Device.
So after removing FBAdSettings.addTestDevice(FBAdSettings.testDeviceHash()) it was working.
Did cost my a lot of time and nerves :) But now everything works as expected!

App rejected due to an IPV6 Swift3 error. How do I fix it?

A few days ago, Apple rejected my app, indicating that it didn't have IPV6 support, however I don't need that support since my app does not require internet access.
I asked the following:
Hi, my app does not need any internet connection yet.
So, why it's required to have support to IPV6?
They said:
Thank you for your response and for your question. In order to bring your app into compliance with Guideline 2.1 it would be appropriate for your app not to crash when logging in.
end
So, why do I need that Support?
If is necessarily, how do I can do it?
Please I need help
Test your app extensively and fix the crash. Enter wrong values, don't enter anything at all, intentionally try to break your app and get it to crash. Then you will find your error and you can fix.
EDIT BASED ON COMMENT BELOW
"My app don`t need conect with external database, because I got the information inside" - in this case, no, you do not need to add IPv6 support because you are not communicating with the internet for logging in purposes.
You can keep the login given it is only going to be 2 people using the app, just resolve the crash when logging in.
To test, enter a variety of incorrect passwords and usernames to ensure that there is no crash on incorrect entries, and confirm that correct entries do not crash the app.
Original Answer
Apple indicated that because there is a login feature, they think it is trying to communicate with an external database (ie a database that is not on the device). If there is no external database, just fix the crash is what they are asking.
Based on your question, you have eluded to the app not communicating externally for logging in. While some may find this odd, it is not uncommon. An example for those wondering would be a childrens app for iPad. The iPad might be shared amongst several children and as such each child might complete different sections or features of the app so an account local to the device is a good idea if there is no cloud support.
If there is external communication, you need to handle the case for no internet access. The question has been answered extensively, however this was the first result I found:
Detect Internet Connection and display UIAlertview Swift 3
Update: Why do I need to Support the case for no internet connection?
A use case:
John has just downloaded your app. He has just walked through the steps to create an account, but he has accidentally set his device to Aeroplane Mode.
John hits the "Create Now" button but nothing is happening. There is no error or success alert appearing, the screen has not changed, he can't see a loading icon. John is confused and getting frustrated because he's certain that he has completed everything in the form.
John doesn't understand that he needs internet connectivity to successfully submit a request to create an account. John decides to delete your app from his device and leaves a bad review.
John really could have used an alert saying "You need internet connection to sign up to this app. Please check you are connected and try again". This would have made John a whole lot happier and he probably would have continued to use your app with all of it's amazing features.
More information can be found in the guidelines that Apple mentioned, and further to this, the Apple Design Principles Guide is an invaluable resource.
I hope this makes sense.

Apple review team has rejected app because it can't connect to ASP.NET API

I run my own VPS in Amsterdam where I have a MySQL database that is being populated and maintained using ASP.NET. It's a Windows Server.
I use this API for four of my existing Android apps (published and working) with a few thousand users who never had any issues connecting to the API through those apps. Recently I finished one of the apps on the iOS platform and it got rejected because Apple couldn't get it to load any content, or it would get stuck on loading without ever returning anything (after we implemented a loading progress animation). After a lot of messaging between me and Apple's review team, they ended up accepting my app to be passed through review even though they never got it to work (or so I believe, they just said they would re-review it and it suddenly got approved after 7 rejects). None of my friends, family or users ever experienced any issues like this on either Android or iOS.
A good friend of mine who did most of the work on the API is also from the USA, which makes me doubt it's a location problem.
I must note that pretty much 99.99% of my users are Dutch and all my projects are build for Dutch users.
Does anyone have experience or ideas in this field? I'm about to publish an update for the already published app and I'm afraid they will reject it because of the same issue.
The exact message I got at first was:
Specifically, upon launch we found that the app failed to load any content.
Changing the API calls to be over HTTPS seems to have fixed the issue, Apple now has access to my API through all my apps.

Google API Changes causing problems on my App

I have an iOS App on the App Store, and it connects to Google Drive. In the past week or so, I've noticed two new problems in my live app.
The App suddenly stopped logging in. I would get a 401 - invalid_client. I found a lot of questions/answers for this problem, but they were all for people who couldn't get it working. Mine was working for about two years and then stopped working a couple of days ago. After trying a lot of things, I found that I was using <id>#developer.gserviceaccount.com as my Client ID, and when I changed it to <id>.apps.googleusercontent.com it worked again. I don't know why this change fixed it, and even knowing that this fixes it, I can't find if this is the correct/appropriate solution.
I explain my second problem, which is very specific here, but skip to the next paragraph to get to the point. The second issue is a a result of Google changing the way their API calls respond, and this is why this wasn't an issue when we submitted the latest version of the App to the App Store. Google has changed the way the explicitlyTrashed property of their GTLDriveFile class. Per their spec, this property should be either an NSNumber containing Yes, or null. They have recently changed it so that it is always an NSNumber set to either Yes or No. This is what's breaking our functionality.
Anyway, these are two changes Google has made on their end recently that currently has my customers on hold since I have to fix this and push it out. My question is if there's a place to keep up with these changes that Google is making recently. Also, if someone knows or can point me to why the first issue is happening, I would greatly appreciate it.
For the first issue, the reason why it got resolved by using [id].apps.googleusercontext.com is because it it requesting an authorization token from an app to the server, as opposed to a Server to Server transaction using impersonation ([id]#developer.gserviceaccount.com). This is the right solution for both android and IOS apps requesting a token.
As for your second question, the best way to keep up to date with the latest changes is through their official blog: http://googleappsdeveloper.blogspot.com/
Another resource is the G+ Google Drive Developer community: https://plus.google.com/communities/107264319205603895037

How do I push notifications if my app hasn't been run yet?

Assuming the user has not launched your app yet, but it has been run before. Is there a way to still "push" news/updates?
To explain what I mean:
Imagine the user installed "your-restaurants-in-your-area" local orientated app, and configured the app in some setting to notify the user when new restaurants open... However, the user forgets to run this app at a daily basis. Is there a way for the app to auto-show news inside iOS?
I have found this for XE4 where Anders is stying to help people get it working with XE4
http://blogs.embarcadero.com/ao/2013/05/02/39456
http://blogs.embarcadero.com/ao/2013/05/24/39472
After further searching (I missed this first round) I found this:
http://edn.embarcadero.com/article/43239
It requires editing Delphi XE4 bundled source files (i.e. so it is not officially supported / made easy in XE4), but it seems it can be made to work. (I have not found any official mention of official "built-in" support in XE5.)
I upvoted the answer given sofar since it was helpful in a way.
The question is not related to Delphi…
It is impossible to auto-run/unattended-run applications in iOS.
If the user has never opened your application, you will not able to send him “Push notification”, because your application must be registered with the token. Usually the application registers on the start.
Let’s assume the user launched the application at least once, and your application successfully registered the token for “Push notification”. In this situation, you will able to notify the user when the new restaurant will be opened.
The problem in this situation that you don’t know the physical location of the user. Maybe you can add the region of interests in your applications, so you will know to whom to send the notification.

Resources