OneSignal - Ionic SDK - Missing Capability Issue - ionic-framework

I've setup OneSignal Ionic SDK to work with my Ionic 3 project.
Its finally registering devices in the console. However, when I archive and export the project from xCode to desktop, then run the project on a real device in browserstack (since emulator/simulator is not supported) - I get the following error (in console under users):
(Missing Push Capability)
The push capability is definitely there, as its enabled and I had been using Firebase Cloud Messaging - though had to migrate.
I'm just wondering if I'm missing anything here or is this a bug with OneSignal?
Many Thanks,
Kieran

that's the cause of the App Store rejection. If your ad-hoc provisioning profile has the aps-environment key, it means your app is configured correctly in the Apple Provisioning Portal. All you need to do is delete the App Store distribution profile on your local machine, then re-download and install the distribution profile from the Provisioning Portal. This new one should contain the aps-environment key.

Related

iPhone - App validation succesful, but loading developer build failed after this

I created distribution profile and built app with the distribution profile. I have validated the build and the validation is successful.
After this step, i tried to cross verify the app once again and built an app with developer provisioning profile. Archive file is created successfully. But app is failing to install in mobile.
What is the reason behind it.
Make sure you dont have duplicate keys in your keychain. Delete the old ones and create a new key and prov file then everything will work fine. Normally just dupe entries can cause this.
there are 2 reason for this error
1) you are not add device UDID in your developer provisioning profile.
2) In your device an app is already install with same developer provisioning profile so the your app is not install in your device.

How to configure a Xcode project for beta testing with TestFlightApp?

I signed up for TestFlight.
Then I followed all steps in this tutorial:
But Xcode throws this warning:
Application failed codesign verification. The signature was invalid,
contains disallowed entitlements, or it was not signed with an iPhone
Distribution Certificate. (-19011)
It smells like there is a lot more work to do than what they wrote in the tutorial.
Is there a complete tutorial which walks through every step without stepping over anything?
And do I need to add the SDK even for simple beta tests?
(Edit: No, SDK is not needed!)
Start with logging into the Provisioning Portal, and adding a test device or two, under Devices. Then go to Provisioning and create a new one for the appID you are working on and add those devices.
Back to Xcode and use the Organizer:Devices:Provisioning Profiles to download (refresh) the Provisioning Profile. Set your project's Debug scheme's signing to use that developer profile. You should then be able to build and then archive. Once archived, do an ad hoc distribution and save off that file to the desktop.
Go to your account on TestFlightApp.com and press the Upload Build button. Drop the file you saved on your desktop, into the Build upload area. TestFlightApp will give you errors if the app wasn't bundled for adhoc or signed properly.
Now, here is where TestFlightApp.com will save you work. Send out invites to friends from within TestFlightApp.com. TestFlightApp.com will manage notifying them and as they create an account, it will also help them find their UDIDs. These UDID's can be batched up and later downloaded by you and re-uploaded to the Apple Provisioning Center, into your devices section.
You then use Xcode to refresh your profiles, and rebuild the app, archive, and upload to testflightapp. Then you can select which one of your testers will get to see this build and what message they should be sent. Your testers will not have to figure out how to download the files and install them using iTunes or other app, they merely press the install button.
Believe me, while it is still a bit of work, it is so much better than not using TestFlightApp.com, especially if your users are not very savvy about app installation. In the future, you can use the TestFLight SDK to gather crash reports and usage information for your debug builds.
See the following for some more info: TestFlight beta-testing iOS app

iPad app fails to install in new device added to Ad Hoc provisioning profile

I am using an enterprise account for deploying an internal iPad app. The app is signed with an adhoc provisioning profile, so far I never used the entitlements file. The app is deployed in a web server and installed via OTA.
The customer has some 80 devices added in the provisioning portal. The app is installing fine in every device except for one recently added and the only difference I can see is that all the devices have iOS Team Provisioning Profile installed (not sure why because AFAIK they are not development devices).
When the customer tried to install the app in the latest added device (which was included in the adhoc profile and the app built again), it downloads but fails to install. However, he downloaded the ipa file and could install it using the cable.
I also tried with one of my development iPads which is also present on the customer's adhoc profile. I deleted all the profiles, then install the app via OTA. The app installs and runs fine, however when I go to check the installed profiles on the devices (under settings/general) there is not a single profile installed.
My questions are as follows:
Is the entitlements file a requirement?
If it's required, why the app is working fine with the rest of devices (could be due to the team
profile?)?
Why isn't the profile installed when I install the app on my development device? The profile was installed on the rest of devices when installing the app.
I just cannot understand why this is workig with with the other devices but failing with this one.
It turned out to be a stupid problem.
After adding the new device to the profile, downloading, importing it to xCode and rebuilding the app, the profile embeded inside the ipa file still was the old one. I just cleaned the project and everything was fine (probably xCode didn't update because it was the same edited profile)

Provisioning Profiles + Push Notifications + Production vs Development

I'm building an iOS app that uses push notifications, and I'm finally ready to submit it. Before I do, I'd like to test out push notifications off the Production server, to make sure everything is working correctly. Thus far, the sandbox environment has been working fine.
After doing quite a bit of searching, I learned that switching the servers over from ssl://gateway.sandbox.push.apple.com:2195 to ssl://gateway.push.apple.com:2195 wasn't enough, and that production push tokens are different from sandbox push tokens. Instead, apparently I need a new provisioning profile with Production entitlements, new certs installed on my server, and to re-build my app with said profile so that it knows to create the correct push tokens.
So, after going through all the steps, I can't even make a build run on my phone; XCode says
This profile cannot be installed on devices
Here are the steps I've taken. If I'm missing something please let me know:
In my iOS Developer Center, I've made sure that my AppID is "enabled for production" under the Apple Push Notification Service.
Also in my iOS Developer Center, I've created my Production Push SSL Certificate, gone through the necessary conversion steps, and installed the resulting .pem on my server.
Per the instructions, I've create "a new provisioning profile containing the App ID you wish to use for notifications." I've done this by going to Provisioning, and clicking on the "Distribution" tab, and making a new profile. I've confirmed that "production" is set under the "entitlements" section of this profile.
I've selected the provisioning profile in my project settings. I get the message
This profile cannot be installed on devices
and I'm stuck.
Build an ad-hoc distribution version of your app, and install it on your own device. That will use the production APN gateway and certs.
You cannot install an app compiled with a appstore distribution (production) profile on a device. Only Apple reviewers can do that. you can only test push on an app compiled in development mode and using sandbox server.
If you want to test production servers, you must compile the app using an AdHoc distribution profile enabling the devices you want to do the test. Clearly you must recompile and the send the app for review using the App Store distribution profile.

MonoTouch deploy to iPhone

I have developed a number of apps using MonoTouch, and been using the emulator for the iPhone, now I need to deploy me application to my iPhone for further testing.
I have purchased the iPhone SDK from Apple, but I can't find how to deploy and activate the MonoTouch application to my iPhone.
Any pointers please?
As has been already stated you obviously need the paid version of MonoTouch and the iPhone SDK. Once you have those sorted you need to create a developer certificate in the iPhone developer portal, download it to your dev machine and add it into your keychain.
Once you have done that you must create a provisioning profile for your physical device, which again you do through the developer portal. Once you have the provisioning profile, download that to your machine, and add it to the iPhone via the Organiser app in XCode.
Then fire up MonoDevelop, and if it's all gone to plan then you should have the option of deploying the build to your iPhone. You can check that MonoDevelop has correctly detected your certs by opening up the Project Options window and under the Build section and under iPhone Bundle Signing, you should see your developer cert and provisioning profile.
Full details of the steps required on the Apple iPhone Dev Site
Here are the MonoTouch docs on building for distribution
http://monotouch.net/Documentation/Building_for_Distribution
It is my understanding that you have to have the Monotouch deployment license from Novell to deploy to a device.
According to your statement:
When I compile I get: "No Valid iPhone code signing keys found in
keychain.
This is actually a Xcode question more then a Monotouch one;
The message indicates that your keychain does not provide the signing keys used to generate the certificates and provisioning profiles.
If you follow apple's steps on generating certificate(request), followed by profiles they will also state you might want to export your private key (p13 file) and keep it somewhere safe.
If you move to another laptop for instance, you will need to import that key again to make the machine a valid one.
If something went wrong (ie: you accidentally removed your private key, ..) this message will be shown since there is no way for Xcode to verify that the profiles are being used on a valid machine.
Go to this instruction page (apple account credentials needed) to check if the steps have been followed and check in the Keychain access app on your mac if under My Certificates you see a developer certificate and - if you unfold it - you can see the private key as a child node.