3

I have never developed apps for iPhone, but our client has an app, which was developed by his previous vendor, now that vendor has wrapped up his operation from our country, So now we have that source code for that app for further development. The immediate action we need to take is that the app is not running on iOS 11.0 and we need to provide build for 11.0.

So I opened the app in Xcode and set deployment target to iOS 11, the app build was successful and it is running on the simulator, So I thought lets check it on real device, but when I connected a device and asked Xcode to build and deploy on my device I received the error.

No profile for team '***********' matching 'PROTEST' found: Xcode couldn't find any provisioning profiles matching '***********/PROTEST'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.

Code signing is required for product type 'Application' in SDK 'iOS 11.1'

So as I have understood I need to create provisioning profile for app development for iOS.

Can someone please guide me, I need to know, how to create a provisioning profile and how should I use for existing project which was developed by someone else before.

NOTE: the *********** represent the key or provisioning profile ID, I am not really sure but I thought I should censor it.

Blazej SLEBODA
  • 8,936
  • 7
  • 53
  • 93
BeeBee8
  • 2,944
  • 1
  • 27
  • 39
  • Do you have purchased Apple Developer? – kirander Nov 16 '17 at 10:10
  • 1
    The first company should give not just the code, but also the app id! Or you will need to distribute a new App Store application (not as update), they should mange this in iTunes connect! – Yitzchak Nov 16 '17 at 10:18
  • @Yitzchak can you please explain little bit more? I have the source code, do I need to ask him for credentials of the developer account through which the app was uploaded to app store?? We need to release the update for the app so it starts working on iOS 11 – BeeBee8 Nov 16 '17 at 10:38
  • 2
    No, if I remember correctly he can move the app to your itunesconnect account. This what should be done! – Yitzchak Nov 16 '17 at 10:40
  • @Yitzchak ok thanks, I will ask for it. – BeeBee8 Nov 16 '17 at 10:43
  • How do they distribute the final app? Through the Apple App Store? Do they do in house distribution with an enterprise profile (only people who work for the company get it through a download link or through a mobile device management system)? – wottle Nov 16 '17 at 13:21
  • 1
    As a side note: you do not need to set the deployment target to iOS 11 to have the app run under iOS 11. If you do that, iOS 11 will be the minimum required iOS version. I don't think you mean to do that. – Wasserfloh Nov 16 '17 at 17:47
  • @Wasserfloh yes i didnt mean to do that, thank you, I already figured that out as I read more documentation, do we have to freshly build and publish the app every time there is iOS update? as the previous version stopped working on iOS 11 as it was published before iOS 11 came out. – BeeBee8 Nov 17 '17 at 05:18
  • 1
    @BhushanBabar you do not have to necessarily make a new build and update the app for every iOS version, normally it keeps working. However an app may expose (new) bugs when run under a new iOS version, so it is very common that you update an app at least for the major releases of iOS. Why your app in particular stopped working altogether on iOS 11 I can't tell of course. – Wasserfloh Nov 17 '17 at 08:20

2 Answers2

1

If you have credential for apple developer account, and app is signed from that account's certificate and profile then, you can easily generate new certificate with private key from you mac and edit provisional profile. All you need to do is add client's account in xcode's accounts section. In-case, you don't have access to the developer account, which is used to make app live, you can't upload or update that app with same APP-ID using other apple developer account. You need to change APP-ID at least.

Ashley Mills
  • 50,474
  • 16
  • 129
  • 160
Nikunj Joshi
  • 556
  • 5
  • 10
1

Follow these steps :

  1. Login to the developer.apple.com/membercenter and generate the Certificate, APP ID, Provisioning profile (Developer, Distribution) as your needs. Refer Apple development doc for details: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html
  2. In that dev-account register your device UUID and add that when you are creating a developer profile, distribution may not require though(if its enterprise account and you creating Universal distribution profile).

  3. Do this in your project now

    • Go to your App --> Click project on left project navigator window
    • Check on the right side you will see project settings
    • Click general tab and enter the bundle identifier as the APP ID you just created in step 1 above from dev account.
    • Now select the checkbox "Automatic provisioning" this is an easy way to automatically pick the profile from the developer account that you have used for appID creation. (note go to your Xcode preference and Accounts tab to enter the same dev-account credentials so XCode can automatically download and create profiles for you)
    • Now connect your device and you should see the device reflected to the top left corner.
    • Run the project and you will see the app is getting installed on the device.

Code signing is required for product type 'Application' in SDK 'iOS 11.1' -- For this you just make sure all the Pods and libraries are having to Do not Code sign set to the build settings area and only the App and extensions if any are signed with the right certificate you created from apple.

Also, note on this: If the previous vendor has released the binary from his apple account, you cannot create the same bundle ID with your apple account. Hence you end up having this as a new app on AppStore unless the vendor revokes/delete the bundle Id from this account.

Hope this helps.

codelover
  • 1,113
  • 10
  • 28