Testing iphone app at Client side - ios4

My client does not have Apple Developer account yet. What I want that I associate it with my own Dev account and let him do kind of some BEta Testing on his device. What things/steps would be required for me and him?
Thanks

I used TestFlight a couple of times and I was impressed from the ease of use (Especially for clients who don't know alot about development). TestFlight simplify the process of beta testing and deployment. Much easier then using the adhoc provisioning.
The client doesn't even need to connect the device to a PC, the deployment is over the air.

Related

Is it possible to enable specific Elliptic Curve Cryptography (ECC) cipher suites on the Hololens 1?

I am trying to start a secure MQTT connection using MQTTNet on the Hololens 1. I managed to load all necessary certificates, however, the connection fails because the EC-Curve sepc521r1 is required. On a Win10 desktop system, this can be enabled using the Powershell command Enable-TlsEccCurve "NistP521".
Can I somehow enable this curve on the Hololens?
I talked to the team a bit further and it doesn’t appear we have a CSP that would enable this. Could you submit a feature request via feedback hub on new feature request to be considered in future releases of HoloLens OS and devices? If it’s a hot impacted feature, it will be possible to be given priority to jump in the development schedule.
For how to post feedback request, you can follow this doc: Send feedback to Microsoft with the Feedback Hub app.

Is there a way to Cancel Apple Subscriptions from a nodejs server?

i am trying to cancel some subscriptions created in ios app but from the server side.
Does anyone know how to make it from a node js server? i have the next data: paymentRecipt details and shared secret.
As of iOS 12, there is currently no way to cancel, modify, edit subscriptions on the server side for Apple IAP's. Apple places a lot of limits on In App Purchases. You also can't offer refunds, extended trial periods, etc. on the server side. Apple's system is very much what you see is what you get. There is very little flexibility in the system.
In short, there is no way to do this yourself. Your user must be the one to cancel the subscription on their own device.

VoIP Integration in App & Web

I have a very general question on how to implement VoIP for our current mobile & Web App. (we have an Android+iOS App and a Web Application based on AngularJS/NodeJS).
What we want to achieve
In the first step we want to achieve inter Application Voice and Video Calls. Later on we might expand into outbound calls into the normal telephone network. But this post is mainly for getting info on how to implement only our first step.
general thoughts
We had some experiences with Asterisk before which turned out to be far from easy. So for this project we wanted to get some feedback before actually implementing anything.
thoughts on technology
At first I thought it might be a good idea to use WebRTC, but since it's only supported on Chrome, FF and Opera for the moment and pretty much is unsupported for native mobile Apps we think that WebRTC is probably out of the picture for now. (or do you think otherwise?)
After searching the web a bit more we found this: http://www.webrtc.org/native-code
Has anyone experience with this libs? It seems to us, that this could be the best solution for a modern voip solution (and also would allow us to skip the asterisk server)
The second idea would be to setup an Asterisk Server for ourselves. Every time a user logs into the App we would connect him as a SIP Client to the asterisk. If one user calls the other one we think we should be able to make the call for example with the node package Asterisk Manager API (https://github.com/pipobscure/NodeJS-AsteriskManager).
The third idea would be to use a SIP Provider, but at the moment I'm not sure if that's really the best idea.
Since we're no VoIP experts, are there any other possibilities for VoIP integration into our apps?
Any thoughts on that subject would be very appreciated! Thank you!
The main factor is the network configuration that you app will be working with. Given you're using mobile clients and web apps it's almost certain that you're using the internet and also likely that you'll have 3G and 4G mobile networks in the mix (3G/4G cause a lot more problems for VoIP than WiFi).
Given the above assumption holds the biggest challenge your app will have is establishing media (audio and/or video) connections between mobile clients which are behind different NATs and in a lot of cases multiple NATs. There is almost no chance you'd be able to get by without a server here. The server will be needed to act as a relay point for the media streams for the mobile clients. You will use the RTP protocol for the media and working out how to get it reliably from client A to client B is your biggest obstacle. The signalling side - whether it be SIP, web sockets or something else - will be secondary (note both SIP and WebRTC use RTP to carry the media).
If I were in your shoes the steps I'd take would be:
Install and try out some softphones (blink, bria, zoiper et al) on your own mobile devices, find a SIP provider that supports video calls and get some experience with calls. It may not be the experience you anticipated...
Once you are comfortable with the softphone experience you would then need to make two decisions:
Whether to deploy your own server or use an existing provider,
Whether to write your own client, find an existing one or something in between.
I can answer the deploy your own server question. You don't want to do that unless the VoIP part of your app is going to be something you charge for and make a good margin off. Running a VoIP server and all the security and network considerations that go along with it is a full time job. It may start out being easy but once a few customers start connecting and the fraudsters come along it will take on a life of its own. In the decade I've been messing around with SIP I'd estimate 75% of providers have gone out of business and it was their full time job.
Besides all that I'd be surprised if there wasn't a SIP provider that suited your needs. These days there are highly sophisticated services available that led you control every aspect of your call flow with your own code (anveo, tropo, twilio) right down to free services (sip2sip, sipbroker) that may be all you need to get started.
For the client software there are various SIP SDK's you'll be able to leverage (pjsip).

Azure releasing complications

We are considering to build a webapplication and rely on Azure. The main idea behind this application is that users are able to work together on specific tasks in the cloud. I'd love to go for the concept of instant releasing where users are not bothered with downtime but I have no idea how I can achieve this (if possible at all). Lets say 10.000 users are currently working on this webapplication, and I release software with database updates.
What happens when I publish a new release of my software into Azure?
What will happen to the brilliant work in progress of my poor users?
Should I bring the site down first before I publish a new release?
Can I "just release" and let users enjoy the "new" world as soon as they request a new page?
I am surprised that I can't find any information about releasing strategies in Azure, am I looking in the wrong places?
Windows Azure is a great platform with many different features which can simplify lots of software management tasks. However, bear in mind that no matter how great platform you use, your application depends on proper system architecture and code quality - well written application will work perfectly fine; poorly written application will fail. So do not expect that Azure will solve all your issues (but it may help with many).
What happens when I publish a new release of my software into Azure?
Windows Azure Cloud Services has a concept of Production and Staging deployments. New code deployment goes to staging first. Then you can do a quick QA over there (sometimes "warm up" the application to make sure it has all caches populated - but that depends on application design) and perform "Swap" - your staging deployment becomes production and production deployment becomes staging. That gives you ability to perform "rollback" in case of any issues with the new code. Swap operation is relatively fast as it is mostly internal DNS switch.
What will happen to the brilliant work in progress of my poor users?
It is always good idea to perform code deployments during the lowest site load (night time). Sometimes it is not possible e.g. if your application is used by global organization. Then you should use "the lowest" activity time.
In order to protect users you could implement solutions such as "automatic draft save" which happens every X minutes. But if your application is designed to work with cloud systems, users should not see any functionality failure during new code release.
Should I bring the site down first before I publish a new release?
That depends on architecture of your application. If the application is very well designed then you should not need to do that. Windows Azure application I work with has new code release once a month and we never had to bring the site down since the beginning (for last two years).
I hope that will give you better understanding of Azure Cloud Services.
Yes you can.
I suggest you create one of the visual stdio template applications and take a look at the "staging" and "production" environments located directly when you click your azure site in portal manager.
Say for example the users work on the "production" environment which is connected to Sqlserver1. You publish your new release to "staging" which is also connected to Sqlserver1. Then you just switch the two using the swap and staging becomes the "production" environment.
I'm not sure what happens to their work if they have something stored in sessions or server caches. Guess they will be lost. But client side stuff will work seamlessly.
"Should I bring the site down first before I publish a new release?"
I would bring up a warning (if the users work conissts of session stuff and so forth) saying brief downtime in 5 minutes and then after the swith telling everyone it is over.

Trying to develop an App on BREW MP

The handset maker bypassed the Qualcomm/BREW certification or authentication process. The phone only runs on the Sprint Network. I cannot access developer mode because I lack the required signature. I registered with BREW dev team, etc. Since the phone was never certified through BREW, I'm being told that I cannot obtain the signature from BREW. Can I obtain this signature from Sprint or the Hand-Set maker? Do they have to give it to me or charge me for it? Any other ideas would be appreciated.
Kevin
I think they could but they won't. Or even Sprint might not have the ability, they might only have signing keys given to them from BREW/Qualcomm for their use only. Either way, I recommend you get another phone, and pick one which has as many "grandfathered" devices as possible, this will reduce testing if you ever decide to release your app on one of the stores.

Resources