iOS Question Compile-Problem with Xcode 11

D

Deleted member 103

Guest
Hi,

I get stuck after this error message.
Can someone explain what I can do?
My last working B4i version was 5.91.
This app does not use the in-app purchase function.

B4i Version: 6.50
Parsing code. (0.10s)
Building folders structure. (0.30s)
Compiling code. (0.51s)
Compiling layouts code. (0.06s)
Compiling debugger engine code. (0.01s)
Building Xcode project (0.20s)
Sending data to remote compiler. Error
Out: Command line invocation:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -configuration Release PRODUCT_NAME=Solitario CONFIGURATION_BUILD_DIR=/Users/<user id>xxxxx/Documents/B4iBuild-Server/UploadedProjects/<user id>/Payload "CODE_SIGN_IDENTITY=iPhone Developer: xxxxxxxxxxxxxx (yyyyyyyyyy)" "OTHER_CODE_SIGN_FLAGS=--keychain <user id>" PROVISIONING_PROFILE=fffffff-760c-4ef6-8e6a-aaaaaaa -arch arm64

Build settings from command line:
ARCHS = arm64
CODE_SIGN_IDENTITY = iPhone Developer: xxxxxxxxxxxxxxxx (yyyyyyyyyyyyyyyyy)
CONFIGURATION_BUILD_DIR = /Users/<user id>xxxxx/Documents/B4iBuild-Server/UploadedProjects/<user id>/Payload
OTHER_CODE_SIGN_FLAGS = --keychain <user id>
PRODUCT_NAME = Solitario
PROVISIONING_PROFILE = fffffff-760c-4ef6-8e6a-aaaaaaa

note: Using new build system
note: Planning build
note: Constructing build description
error: Provisioning profile "developer" doesn't support the In-App Purchase capability. (in target 'B4iProject' from project 'B4iProject')
warning: MobileCoreServices has been renamed. Use CoreServices instead. (in target 'B4iProject' from project 'B4iProject')


Error: ** BUILD FAILED **
 
D

Deleted member 103

Guest
This is Apple's answer:
Original Text:
Dem Nachrichtenverlauf und den Screenshots entnehme ich dass Sie aufgrund der neuen Vorraussetzungen, die ab dem 30.06 gültig sind, Ihre Apps mittels Xcode 11 kompilieren möchten. Doch erhalten Sie beim Kompilieren die Fehlermeldung dass das Provisioning Profil "store" (bzw. "developer") ungültig sei, da es nicht das Zertifikat enthält und ebenfalls nicht die In-App Purchase Capability enthält. Um das Problem zu beheben, haben Sie versucht, die Apps mit neuen Zertifikaten zu kompilieren, ohne Erfolg.

Bei der Überprüfung des neu erstelltem Provisioning Profile "developer", bezieht sich dieses auf die App ID "de.filipposoftware.*". Diesem Identifier fehlt allerdings die In-App Purchase Capability, was somit auch das Provisioning Profile beim Kompilieren einer App mit In-App Purchases invalidiert. Zudem ist die In-App Purchase Capability nicht für Wildcard App Identifiers verfügbar und benötigt eine App Identifiers. Da es sich bei Ihrem App Identifier "de.filipposoftware.*" um einen Wildcard App Identifier handelt, ist es korrektes Verhalten des Systems dass die In-App Purchase Capability nicht verfügbar ist.

Aufgrund dessen würde ich Sie bitten, beim kompilieren Ihrer App ein Provisioning Profil zu verwenden, dass mit einem expliziten App Identifier verbunden ist, welches die In-App Purchase Capability aktiviert hat.

Translated with google translator:
From the news history and the screenshots I can see that you want to compile your apps using Xcode 11 due to the new requirements that will apply from June 30th. However, when compiling, you receive the error message that the provisioning profile "store" (or "developer") is invalid because it does not contain the certificate and also does not contain the in-app purchase capability. To fix the problem, you tried to compile the apps with new certificates without success.

When checking the newly created provisioning profile "developer", this refers to the app ID "de.filipposoftware. *". However, this identifier lacks the in-app purchase capability, which also invalidates the provisioning profile when compiling an app with in-app purchases. In addition, the in-app purchase capability is not available for wildcard app identifiers and requires an app identifier. Since your app identifier "de.filipposoftware. *" Is a wildcard app identifier, it is correct system behavior that the in-app purchase capability is not available.

Because of this, I would ask you to use a provisioning profile when compiling your app that is linked to an explicit app identifier that has activated the in-app purchase capability.

and this is my answer:
if it is, why did it work without a problem until before Xcode 11?
Was it a system error all the way up to Xcode 11? Or did Apple just change this approach starting with Xcode 11?
If it was changed on purpose, it is OK for me.
If it is a bug, then it should be fixed.
 
Upvote 0
D

Deleted member 103

Guest
Hi Erel,

I got an answer from Apple with the reason why in Xcode 11 the "Provisioning Profile" does not work as in Xcode 10.2.
Haben Sie in Ihrer alten Xcode Version (10.2) automatisches Signieren aktiviert? Wenn dem so ist, dann hat Xcode die expliziten App IDs und nötigen Provisioning Profiles für Sie automatisch erstellt. Diese Funktion können Sie auch in Xcode 11.4 nutzen.

Did you activate automatic signing in your old Xcode version (10.2)? If so, Xcode has automatically created the explicit app IDs and necessary provisioning profiles for you. You can also use this function in Xcode 11.4.
Do you know where you can activate this option in Xcode 11?
 
Upvote 0
D

Deleted member 103

Guest
Hi Erel,

either I can’t express my problem correctly or you don’t understand me.
Up to Xcode 10.2, I always used a wildcard app ID for my apps without the need to add an "IAP feature", which is not possible anyway.
Question: if the "automatic signing" option was activated in Xcode, how and where can you reactivate it in Xcode?
I don't want to create 2 to 4 "Provisioning Profiles" for every app.

Look at the picture, I have not yet created the "Provisioning Profile" for all apps.
1586864669588.png
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
I don't want to create 2 to 4 "Provisioning Profiles" for every app.
1. This is only needed for apps based on Firebase.
2. You need exactly 2 provision profiles. One for development and one for the store.
3. Any other solution will not work.
4. Worth testing with the latest version of Firebase. Maybe it is no longer needed.
5. In the worst case it will take you 20 minutes to create all the profiles you need. It is trivial.

Lets stop the discussion.
 
Upvote 0
D

Deleted member 103

Guest
1. This is only needed for apps based on Firebase.
OK, let's end the discussion here.
One thing I want to say, Firebase is not used in my StopWatch4all app.
Here are the libraries that are used:
1586872943020.png
 
Upvote 0
D

Deleted member 103

Guest
Here is Apple's answer:
Wildcard App IDs unterstützen seit geraumer Zeit In-App Purchases nicht, die älteste Information hierzu, die ich hierzu lokalisieren konnte ist von 2016, hier für Sie verlinkt. Apps die Sie bereits auf dem App Store publizieren verwenden explizite App IDs. Somit können wir bestätigen dass es korrektes Verhalten seitens Xcode ist, dass Wildcard App IDs abgelehnt werden, wenn In-App Purchase Capabilities verwendet werden. Wenn Sie in einer vorherigen Version von Xcode reproduzieren können, dass die Wildcard App ID akzeptiert wird, können Sie hier einen Bug Report einreichen.

Wildcard app IDs have not supported in-app purchases for some time, the oldest information that I was able to localize is from 2016, linked here for you. Apps that you already publish on the App Store use explicit App IDs. Thus, we can confirm that it is correct behavior on the part of Xcode that wildcard app IDs are rejected if in-app purchase capabilities are used. If you can reproduce in a previous version of Xcode that the Wildcard App ID is accepted, you can submit a bug report here.
This means that it only worked because of a bug in the previous Xcode versions.
 
Upvote 0

walterf25

Expert
Licensed User
Longtime User
Here is Apple's answer:

This means that it only worked because of a bug in the previous Xcode versions.
What was the conclusion of your issue, were you able to use the latest Xcode version after all, was all you had to do create an explicit id?

I'm having the same issue, i just updated Xcode to 11.6 and my app won't compile, i'm trying to wrap a library and i've never had issues getting wrapped libraries to work before, until now after updating Xcode to the latest.

Walter
 
Upvote 0
D

Deleted member 103

Guest
Hi @walterf25 ,

From xCode version 11, a separate provision profiles is required for all apps that use advertising or in-app purchase.
 
Upvote 0
Top