SAP Builders Discussions
Join the discussion -- ask questions and discuss how you and fellow SAP Builders are using SAP Build, SAP Build Apps, SAP Build Process Automation, and SAP Build Work Zone.
cancel
Showing results for 
Search instead for 
Did you mean: 

Missing purpose string in Info.plist

KorvaSFC
Discoverer

I am currently facing an issue delivering my IOS Build in Transporter:

ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “RNVApp.app” bundle should contain a NSSiriUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required.

I have attempted a numerous amount of fixes such as including that key in the plist file and then resigning the IPA file however I always get numerous errors in which they are identifying the files as invalid and that it has not been signed correctly.

Can this be added to the user strings section when configuring the build as other strings have? 

30 REPLIES 30

ChantalChi
Explorer
0 Kudos

same issue on my side

JohnBallard
Explorer
0 Kudos

I have the same issue:  not being able to specify the NSSiriUsageDescription key in the Launch/Open Build Service/IOS Configure/Usage Strings.  This is a new error on the Apple side since this is not my first build for my app.  Previous builds were successful and added to TestFlight.

Tinashe_Mukombe
Explorer
0 Kudos

Also experiencing this issue, that and also an old iOS SDK version issue warning 

mihaly-toth-nc
Explorer
0 Kudos

Another report of the same issue here. 

No-code expert with extensive experience in SAP Build Apps (former Appgyver), Firebase, Xano. Actively working on a startup and further projects.

JohnBallard
Explorer

@MaiaraEllwanger this problem seems to be critical for a number of Builders, but I see no acknowledgement from any developer that the problem is being reviewed.  Are we all posting in the right place?

We are all getting the error from Apple:

Please correct the following issues and upload a new binary to App Store Connect.

ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “RNVApp.app” bundle should contain a NSSiriUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_p....

 

zeitounian
Explorer

(PT-BR) Passei o dia de hoje 18/03 tentando resolver este problema nada resolve, houve alguma mudança no compilador recente que esta gerando esta falha, @Sap precisamos de auxilio, é urgente por favor.

MaiaraEllwanger
Product and Topic Expert
Product and Topic Expert

Hi
@KorvaSFC @zeitounian @JohnBallard @mihaly-toth-nc @Tinashe_Mukombe 

The product team is investigating the issue.

0 Kudos

Is this issue solved?

MaiaraEllwanger
Product and Topic Expert
Product and Topic Expert
0 Kudos

Not yet, the development team is working to fix the issue. 

0 Kudos

Thanks, there is an ETA to the issue fix?

Instead of waiting for appgyver team to solve this issue, i've managed to temporary fix it and successfully upload to app store.

Please follows these steps:

  • Download the generated ipa
  • Rename it to .zip
  • Extract the zip
  • Go into the extracted folder and go inside the "Payload" folder
  • Right click RNVApp and select "Show package content"
  • Edit the Info.plist file and add the following key to the file:
    <key>NSSiriUsageDescription</key>
    <string>Siri usage to use vocal assistant</string>
    Look at the image below in order to add the NSSiriUsageDescription in the right place:
    appdevmax_0-1711453191576.png
  • Save the file and compress the root folders as zip:
    appdevmax_1-1711453287232.png
  • Move the zipped file into the root folder and change it's name to the original ipa name
  • Install fastlane (brew install fastlane)
  • Create a folder named fastlane in the root folder
  • Copy the mobileprovisioning file in the root folder
  • You shoud have a resulting structure like below image:appdevmax_2-1711453442418.png
  • Create a fastlane config file in order to resign the app with this command: nano ./fastlane/Fastfile
  • Paste and change accordingly to your app name/certificate infos:
    lane :resignipa do
    resign(
    ipa: "/Users/xxx/app-xxx_ios_build-xxx.ipa",
    signing_identity: "iPhone Distribution: Super Mario (XXXXXXXX)",
    provisioning_profile: "/Users/xxx/XXX_Provisioning.mobileprovision",
    )
    end
  • In the root folder, run fastlane to resign the ipa archive with this command: fastlane resignipa (The wizard will ask for password in order to access the certificate)
  • You should see the following successful message: appdevmax_3-1711453683409.png
  • After that, you can upload your ipa using the Transporter app.

Please, keep in mind that this is a temporary fix and i don't guarantee that will work for everyone.

Anyway, please SAP bring us a complete and functional platform!!

0 Kudos

(PT-BR) Fantástica a sua iniciativa, hoje pretendo validar o processo, grato pelo esforço na solução e compartilhamento da solução paliativa. 

(EN) Your initiative is fantastic, today I intend to validate the process, grateful for the effort in solving and sharing the palliative solution.

 

0 Kudos

Thanks @appdevmax !

Managed to transport to App Store Connect using this method

-Edit: After some extensive testing, I can't tell if it's the current build runtime or between unpacking and compressing but I'm experiencing somewhat degraded app performance. like @appdevmax already mentioned, perhaps use this method if you absolutely have to 

-Edit 2: Runtime 4.9.218 has addressed the missing purpose string issue, thanks SAP/Appgyver Team!  

However there is a massive performance degradation between the iOS preview app and natively running app. I'm experiencing massive input lag, texts changing colours unexpectedly, boolean variables reassigned and Images having a different resize mode than the preview app. Sometimes my native app freezes up completely with device overheating  and I initially thought this worsened performance came about through manually adding the missing purpose string myself. It's nice that we can compile iOS apps again,  however I cannot push updates with an app in this state as the quality is just below unacceptable

 

 

0 Kudos

(PT-BR) Boa noite, mesmo com uma outra lista de falhas relatada abaixo, chegou a testar novamente sua solução? Obteve algum sucesso? 

0 Kudos

Hi Maiara, the teams was able to address and resolve this issue? it's more than a week that this issue is present and we don't have any news...

0 Kudos

(PT-BR) Alguma novidade, aqui no escritório esta virando um CAOS, temos uma aplicação IOS para atualizar, estão querendo meu pescoço.

0 Kudos

Hi Maiara, we are all stuck on this issue since two weeks: please give us a feedback and an ETA of resolution.

 

Thanks

0 Kudos

(PT-BR) Alguma novidade, estamos ansiosos e preocupados  @MaiaraEllwanger ??? 

(PT-BR) Acabei de testar a criação do BUILD para IOS e saiu tudo certinho, sem falhas, por hora muito obrigado pelo empenho da equipe.

zeitounian_0-1712085930938.png

 

 

appdevmax
Explorer

Same issue here. please give us a feedback!

JohnBallard
Explorer

This is an interesting delay.  It's been about a week now without any ability to make changes to an iOS app.  Fortunately I am not in production with my app at the moment, but what if I was?  What if I had published a timeline for an upgrade - now the timeline is out of my control.  What if my app was hacked or exposed data - I need to wait a week+ to fix it?

Is there any way for me to bring in-house the BUILD process?

Perhaps situations like this could have a lesser impact by having multiple build runtimes like the old AG composer pro had. I know it's easier said than done and from my understanding, critical security fixes may prevent the use of older runtimes and maybe a lot more that we don't know about. However it would be nice to have such an option again and thought it would be worth mentioning

0 Kudos

I really hope that SAP will give us the chance to bring in house the build process and open the platform to new react-native components: this will be a big boost for the entire project!

PeterKnol
Discoverer
0 Kudos

Another report for the same issue.

Eagerly awaiting a fix!

GabrielTerto
Discoverer
0 Kudos

same problem here!

ChantalChi
Explorer
0 Kudos

as of 2024/03/25 problem is still present, hope it can be solved asap. The message from Apple is (with on top the SDK version issue)

Please correct the following issues and upload a new binary to App Store Connect.

ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “RNVApp.app” bundle should contain a NSSiriUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_p....

Though you are not required to fix the following issues, we wanted to make you aware of them:

ITMS-90725: SDK version issue - This app was built with the iOS 16.2 SDK. Starting April 29, 2024, all iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution.

DustinGoReup
Newcomer
0 Kudos

Having the same issue.

ITMS-90683: Missing purpose string in Info.plist -  Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “RNVApp.app” bundle should contain a NSSiriUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required.

ITMS-90725: SDK version issue - This app was built with the iOS 16.2 SDK. Starting April 29, 2024, all iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution.

Any idea when we going to get an update with the fix?

MaiaraEllwanger
Product and Topic Expert
Product and Topic Expert

UPDATE - April 3:
Just to confirm: the issue has been fixed.

---

We're sorry about the inconvenience this issue is causing.
The dev team is working on the fix since the first reports. We hope to have positive updates in the coming days.
Thanks @appdevmax for sharing the temporary fix in the thread. We recommend to the users who can replicate, to try this method until the issue is solved.

Tried again today and had a whole set of different errors with Runtime Version: 4.9.218:

Asset validation failed (90725)
SDK version issue. This app was built with the iOS SDK. All iOS and iPadOS apps must be built with the iOS 16.1 SDK or later, included in Xcode 14.1 or later, in order to be uploaded to App Store Connect or submitted for distribution. Starting April 29, 2024, all iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution. (ID: b0c7fe10-87c2-4546-bfc0-f1886242fba8)

Asset validation failed (90135)
Invalid bundle. The executable couldn’t be re-signed for upload to App Store Connect. The app may have been built or signed with unsupported or prerelease tools. (ID: ab77d278-4f57-4f3c-b352-89f2204d7d96)

Asset validation failed (90635)
Invalid Mach-O Format. The Mach-O in bundle "RNVApp.app/Frameworks/WebRTC.framework" isn’t consistent with the Mach-O in the main bundle. The main bundle Mach-O contains , while the nested bundle Mach-O contains arm64(machine code). Verify that all of the targets for a platform have a consistent value for the ENABLE_BITCODE build setting. (ID: 23e7f63d-0dc2-4c1c-8fd5-722120bfa88e)

Asset validation failed (90635)
Invalid Mach-O Format. The Mach-O in bundle "RNVApp.app/Frameworks/iOSPhotoEditor.framework" isn’t consistent with the Mach-O in the main bundle. The main bundle Mach-O contains , while the nested bundle Mach-O contains arm64(machine code). Verify that all of the targets for a platform have a consistent value for the ENABLE_BITCODE build setting. (ID: 65a1bd48-deef-4da7-8c80-8b55ac39970a)

Now it is ok, I could build one of my two apps and get it accepted by Apple and released. I still have the error about the SDK version but it is not blocking. However, there is a deadline on April 29, so please solve it asap. thank you please see message from Apple below:

Although delivery was successful, you may want to correct the following issues in your next delivery. Once you've corrected the issues, upload a new binary to App Store Connect.

ITMS-90725: SDK version issue - This app was built with the iOS 16.2 SDK. Starting April 29, 2024, all iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution.

END message. Thank you for solving this too.