xcode project on GitHub, remove signing and identity? - xcode

I have several iOS App I have already published on the AppStore.
I would like to publish the code of these Apps on public GitHub repository, so anyone can get the code and play with it.
My question is, should I remove from my Xcode projects, for each App, the Identity and Signing?
How should I proceed to continue the dev of these Apps, publish on GitHub public repository and to make sure my identities and signing data are not public?

Related

Working with private repos on GitHub in Xcode

On our iOS project we have a dependency which is being worked on by another vendor. They will host their code in a private repo and so far I can think of two options.
One, I have to end up manually copying them and set it up in our internal repo which can than be added as a dependency via SPM OR
Two, I have to create a GitHub token and share it with all the team members and ensure they add this account in Xcode to avoid the manual sync.
Both these options are not really great considering that on Android we have a grade script which can work seamlessly.
Is there any other better way to integrate privately hosted SPMs in Xcode ?
You can mirror it somewhere more public to your teammates.

Is there a recommended way to distribute iOS apps to testers prior to publishing on the app store?

I need to distribute my apps to testers prior to submitting them to the store(s). Nativescript builds an apk file that is easily distributed to Android testers. Is TestFlight the recommended way to distribute iOS apps? And should I use the xcode project file to build the app in Xcode in order to submit it to TestFlight. That method seems counter intuitive.
Yes, ideally you would use TestFlight. It's also a perfect way for you to test your distribution build/signing etc since you would upload the exact same build that will end up on the App Store. In fact, if your testing goes well with your users, you can submit the same build that you've already uploaded for TestFlight to the reviewers for the App Store, you don't even need to upload a new build.
As #Dave Wood mentioned, yes, TestFlight should be the way to go forward as you do not need to re-build the app to submit for review to Apple.
Answer to your next question should I use the xcode project file to build the app in Xcode -
No
You can use the below commands to build and publish app to Apple store.
From the root folder of your app
tns build ios --release --for-device --bundle <Your Provision Profile>
this will show the path where it has created the .ipa file, then
tns publish ios --ipa <.ipa file>
this will ask your Apple ID and App Specific password and will process the actual App based on your appid mentioned in your package.json.
You can change the app version and App name in info.plist inside App Resources->ios folder.
Thanks. I realized this was the answer after I posted the question. I'm new to NativeScript, but not to iOS development. It occurred to me that once the app is uploaded to App Store Connect, I still control the activities of either posting or setting up TestFlight. Thank you.

Managing (release) and (product) provisioning profiles and certificates

This is my first time cloning a repo for a project that is on the store and using apns (not my app).
In Github I cloned the repo using the clone to Xcode option and it's in my local directory. Naturally they have a team of devs and certificates and company profile already set up.
When I open the Xcode project the signing (Debug) (Release) (Product) Provisioning Profiles in Xcode are red.
I cannot just use my own Apple ID Team profile right? So do I need to ask them for their keys or certs so I can copy them to the local cloned project directory?
The app uses apns. When I test and run the app how do I have authorization to run that app on my device? Do they also need my device ID?
You need to get the certificate along with key exported in .p12 format from the person who has created it or you should log in to their developer account and create a new certificate and using that certificate create new provisioning profile.
To run the app in your device, that device must be added in the device list and should be included in the provisioning profile.
There is automatic signing in option available using the personal developer account, using that xcode itself create certificate, but since you are using APNS i don't think that can be used.
If they are using automatic code signing, and having you work on the project, you should request them to invite you to their team. Give them your Apple ID email address and they can add you as a team member. Then, when you build, Xcode will automatically generate a new Development certificate and provisioning profile, complete with all the app IDs, entitlements, etc. that you need.
Depending on the role they gave you, you will likely only be able codesign the app for development, not distribution. Team members can generate code signing identities for iOS Development, meaning installation and running on test devices that have their device IDs added to the development profile. Team members cannot generate or request certs or profiles for iOS Distribution (for submitting to the app store or TestFlight). Devs with the team admin role can generate or download the iOS Distribution cert and profiles. IF you are not going to be the one submitting to the store, this shouldn't be a problem.

TestFlight notification going out for old builds instead of the recent one

When we add users to a new build in TestFlight, for some reason, they get a notification (including an email) about an old build. If they open TestFlight, they'll see the new build, but the notifications they receive are about the old build.
Is this a TestFlight bug, or is there some config we don't know about? I can't imagine that this would be expected behavior.

PhoneGap Build and OneSignal - Ios Certificates and Provisioning profiles

I have used OneSignals Provisonator to generate a .p12 and .cer file.
The problem comes when I have to upload the certificate to PhoneGap build, because PhoneGap Build also wants a Provisioning Profile.
On the Apple Developer website, I create a provisioning profile but I do not see the certificate created by the provisonator.
I have no idea how to create it using the certificate created previously. Also because the Provisonator does not give me a .csr file :(
Any help...PLEASEEEE!!
OneSignal's Provisionator is used to generate a certificate for push notifications, not for code signing apps. You need separate code signing certificate for development and distribution. You cannot set up a provisioning profile with an APNS (Apple Push Notification Service) certificate.
If you look in the Phonegap documentation, it will explain how to set up your code signing.

Resources