Share iPhone for development purpose - ios

I am new to iPhone development, so hope not asking dump question.
I finished my Xamarin app development, works fine on Android, released. Now finished the iPhone version of it, runs fine on iOS Simulator (without some features, those are not available on Simulator, like email/iap). Now I want to test on a real device, but I don't have iPhone.
However, I got one for about 2 weeks from a friend, who will also develop for it, but will start a bit later, so he does not need it now.
I read through several tutorial, and found that I have to "Add to Member center" the phone, so basically "register" this phone under my apple dev account, when using with proper provisioning profile/certificates.
This is fine, but when I finished testing in let's say 10 days, and give the phone back to the owner:
can he also register this phone to develop on this on his account?
is it possible to "unregister" myself from this phone (then I won't have any in apple dev center), but keep my App in the Store? Isn't 10 days (too short time) an issue?
any other issues with this approach?
Thanks

As your question i think you are familiar with Apple developer portal & managing Certificates & provisioning profiles. So, i am going to answer your listed points:
Yes, a device can be register with different developer account for testing, no issue in it.
Yes, you can disable the device from Apple developer portal this will no impact on you App on App Store, because App on store with Distribution Certificate & Provisioning Profile, not with developer Certificate & Provisioning Profile.
No issue with this approach, but keep in mind disabling the device will invalidate all associated provisioning profiles, then You can remove the device from your account at the start of your new membership year.

Related

How to debug already built app on iPhone? [duplicate]

I am new to making iPhone apps and this is my first attempt.
I have made a simple app which has two buttons in it. One button opens a URL and the other opens a Pop-up window.
I am yet to enroll as an apple developer and am testing my application on the physical device by connecting it to Xcode.
When I install the application, it runs properly for a few days in spite of disconnecting it from Xcode. However, after a few days, the application does not open and flashes a black blank screen and goes back to the home screen.
When I reconnect it to Xcode and run the same code again on the same iPhone, it works properly again for a few days and then crashes again.
I am unable to understand why the app is behaving in such a manner after a few days and not immediately.
Is there some expiry period for application when one has not signed in as a developer? (The provisioning profile shows expiring soon) If not, can you please guide me as to how to go about troubleshooting this issue?
Kindly give me your esteemed suggestions/comments as I am badly stuck and need to find a solution as soon as possible.
Thanks a lot!
If application is installed with Xcode and you don't have a Paid Program Developer Account, the life expectancy of the app is approximately 48 hours (There is no official time of validity for this).
For a paid program, it's a few months with the correct certificate. With TestFlight, it's now 60 days.
Indeed, if you don't sign your app, it has low life expectancy. It's quite new that Apple allows installation to devices for free accounts, but it's just for testing purposes (other than simulator), if you want more days to test on a device, you have to pay for the developer program.
No it's not a guess actually...
It's 7 days exactly for a free developer account.
You can check validity also in Xcode Provisioning profile also:
In General → Signing ("Automatically Manage Signing" checked) → Provisioning Profile (Click on Info (i) icon)
you can check validity of the profile:
This forum helped me find an answer for a very similar issue I was facing with an Ionic iOS app I have running on a few iPads for a checkin kiosk at a non-profit I am developing for. For my scenario I just need the apps to run locally on WiFi and never on any other devices, never to be downloaded as a distributed app to the public. My apps kept randomly crashing on launch, and I would re-install the app from Xcode and they would start working again.
So my only real solution was creating an "Ad-Hoc" certificate and provisioning profile, where you can add up to 100 iOS devices to the provision. I had to manually add my 3 iPads to the provisioning profile, then download the file and open it, then in Xcode un-check "Automatically manage signing", then go below to "Provisioning Profile", then select your new ad-hoc style profile. And you should be good as long as your Apple developer account is in good standing (I believe, someone correct me if I'm wrong).
Just a heads up, first you personally have to be a paid and registered developer with Apple, not just added to a team by invite. I was invited in by another team for a completely different project and was not able to get set up and create the certificate and provisioning file on my own because of that. I had to leave my team, then register anew with Apple as an individual developer, then I could complete my steps.
Your Apple developer account
Create a Production Ad-Hoc Distribution Certificate
Create an Ad-Hoc Provisioning Profile
Managing Devises and Provisioning Profiles

Having test app provisioning profile not expire

I have an iOS app that I'm testing on my phone. I installed it through XCode. I've had the app on my phone for several weeks. After a couple of weeks the app no longer works. If I open the app it immediately closes. If I do a fresh re-install of the app, then everything works for a couple more weeks till it breaks again.
My theory is that the provisioning profile I used has expired, preventing the app from loading. This is expected as I'm installing the app through XCode and Apple probably doesn't intend for users to have a test build used on an iOS device for extended periods of time. My question is this, how can I set it so the provisioning profile doesn't expire? How would I need to adjust the code signing settings to adjust for this?
You cannot set provisioning profiles to never expire. Development provisioning profiles will expire after a set amount of time. For a free developer account with Apple, your profiles will be set to expire after 30 days. If you have a paid developer account, the profiles will last for a year from when it is created. Note that a new profile isn't created every time you build, so you have to keep an eye on the profile expiration date and generate a new one when you get to 10 months or so.
Apple will not let you go longer than this, as it would allow / encourage other distribution mechanisms. If developers could build an app and distribute it to other peoples' devices, and those apps could run indefinitely, someone would quickly develop a 3rd party app store and Apple would lose control of its ecosystem.
FYI - If a provisioning profile expires, the app will launch briefly, then shut down when iOS realizes that there is a code signing problem (also happens if your certificate has been revoked or has expired). You can check for sure by plugging the device into your Mac and monitoring the device console when you attempt to launch the app. You will likely see a code signing error in the logs.
Set device type to generic in Xcode.
Go to Product in the status bar on the top of your screen
Select Archive
Build your app as an AdHoc file
When its done, save that file somewhere, (I usually throw it on my desktop and then delete it)
Double click the .ipa file, Make sure your phone is plugged in and hooked to iTunes.
This should install the app on your phone.
I have had good luck with this, I hope it works for you.
Note: This may only be possible with a developers license, I'm not 100% sure.

iPhone app under test crashes after a few days

I am new to making iPhone apps and this is my first attempt.
I have made a simple app which has two buttons in it. One button opens a URL and the other opens a Pop-up window.
I am yet to enroll as an apple developer and am testing my application on the physical device by connecting it to Xcode.
When I install the application, it runs properly for a few days in spite of disconnecting it from Xcode. However, after a few days, the application does not open and flashes a black blank screen and goes back to the home screen.
When I reconnect it to Xcode and run the same code again on the same iPhone, it works properly again for a few days and then crashes again.
I am unable to understand why the app is behaving in such a manner after a few days and not immediately.
Is there some expiry period for application when one has not signed in as a developer? (The provisioning profile shows expiring soon) If not, can you please guide me as to how to go about troubleshooting this issue?
Kindly give me your esteemed suggestions/comments as I am badly stuck and need to find a solution as soon as possible.
Thanks a lot!
If application is installed with Xcode and you don't have a Paid Program Developer Account, the life expectancy of the app is approximately 48 hours (There is no official time of validity for this).
For a paid program, it's a few months with the correct certificate. With TestFlight, it's now 60 days.
Indeed, if you don't sign your app, it has low life expectancy. It's quite new that Apple allows installation to devices for free accounts, but it's just for testing purposes (other than simulator), if you want more days to test on a device, you have to pay for the developer program.
No it's not a guess actually...
It's 7 days exactly for a free developer account.
You can check validity also in Xcode Provisioning profile also:
In General → Signing ("Automatically Manage Signing" checked) → Provisioning Profile (Click on Info (i) icon)
you can check validity of the profile:
This forum helped me find an answer for a very similar issue I was facing with an Ionic iOS app I have running on a few iPads for a checkin kiosk at a non-profit I am developing for. For my scenario I just need the apps to run locally on WiFi and never on any other devices, never to be downloaded as a distributed app to the public. My apps kept randomly crashing on launch, and I would re-install the app from Xcode and they would start working again.
So my only real solution was creating an "Ad-Hoc" certificate and provisioning profile, where you can add up to 100 iOS devices to the provision. I had to manually add my 3 iPads to the provisioning profile, then download the file and open it, then in Xcode un-check "Automatically manage signing", then go below to "Provisioning Profile", then select your new ad-hoc style profile. And you should be good as long as your Apple developer account is in good standing (I believe, someone correct me if I'm wrong).
Just a heads up, first you personally have to be a paid and registered developer with Apple, not just added to a team by invite. I was invited in by another team for a completely different project and was not able to get set up and create the certificate and provisioning file on my own because of that. I had to leave my team, then register anew with Apple as an individual developer, then I could complete my steps.
Your Apple developer account
Create a Production Ad-Hoc Distribution Certificate
Create an Ad-Hoc Provisioning Profile
Managing Devises and Provisioning Profiles

iOS iPad Application crashes after some time [duplicate]

I am new to making iPhone apps and this is my first attempt.
I have made a simple app which has two buttons in it. One button opens a URL and the other opens a Pop-up window.
I am yet to enroll as an apple developer and am testing my application on the physical device by connecting it to Xcode.
When I install the application, it runs properly for a few days in spite of disconnecting it from Xcode. However, after a few days, the application does not open and flashes a black blank screen and goes back to the home screen.
When I reconnect it to Xcode and run the same code again on the same iPhone, it works properly again for a few days and then crashes again.
I am unable to understand why the app is behaving in such a manner after a few days and not immediately.
Is there some expiry period for application when one has not signed in as a developer? (The provisioning profile shows expiring soon) If not, can you please guide me as to how to go about troubleshooting this issue?
Kindly give me your esteemed suggestions/comments as I am badly stuck and need to find a solution as soon as possible.
Thanks a lot!
If application is installed with Xcode and you don't have a Paid Program Developer Account, the life expectancy of the app is approximately 48 hours (There is no official time of validity for this).
For a paid program, it's a few months with the correct certificate. With TestFlight, it's now 60 days.
Indeed, if you don't sign your app, it has low life expectancy. It's quite new that Apple allows installation to devices for free accounts, but it's just for testing purposes (other than simulator), if you want more days to test on a device, you have to pay for the developer program.
No it's not a guess actually...
It's 7 days exactly for a free developer account.
You can check validity also in Xcode Provisioning profile also:
In General → Signing ("Automatically Manage Signing" checked) → Provisioning Profile (Click on Info (i) icon)
you can check validity of the profile:
This forum helped me find an answer for a very similar issue I was facing with an Ionic iOS app I have running on a few iPads for a checkin kiosk at a non-profit I am developing for. For my scenario I just need the apps to run locally on WiFi and never on any other devices, never to be downloaded as a distributed app to the public. My apps kept randomly crashing on launch, and I would re-install the app from Xcode and they would start working again.
So my only real solution was creating an "Ad-Hoc" certificate and provisioning profile, where you can add up to 100 iOS devices to the provision. I had to manually add my 3 iPads to the provisioning profile, then download the file and open it, then in Xcode un-check "Automatically manage signing", then go below to "Provisioning Profile", then select your new ad-hoc style profile. And you should be good as long as your Apple developer account is in good standing (I believe, someone correct me if I'm wrong).
Just a heads up, first you personally have to be a paid and registered developer with Apple, not just added to a team by invite. I was invited in by another team for a completely different project and was not able to get set up and create the certificate and provisioning file on my own because of that. I had to leave my team, then register anew with Apple as an individual developer, then I could complete my steps.
Your Apple developer account
Create a Production Ad-Hoc Distribution Certificate
Create an Ad-Hoc Provisioning Profile
Managing Devises and Provisioning Profiles

Making an app for a single iPad

I'm looking for some clarification on developing for a single iPad. I have an app in the app store, however I want to make my own app for personal use that won't be submitted to the app store.
Is it possible for me to develop the app and get a certificate to "test" the app on my iPad, and just keep it on? I don't want to have to pay $299 for an enterprise account to publish private apps for a single iPad to use the app!
I've had a read about and I'm probably more confused now than I was before!
Any help appreciated.
Thanks,
Gary
If you enter the iOS Developer Program (99$ a year), you will be able to do what you mention: you will be able to generate a certificate and a provisioning profile and install the app on your device (actually, up to 100 devices).
The only thing is that you will need to create a new certificate/provisioning profile and rebuild/reinstall your app when the certificate expries.
No matter how you do it, you will always have to sign your app to be able to run it on a device.
All Provisioning Profiles expire, except the ones for the App Store (which you can't use without publishing your App in the App Store). So paying $299 for an Enterprise Account wouldn't even help you in this case.
However, if you want to run the App only on this single device, you could consider jailbreaking it. This would allow unsigned apps to run.

Resources