Skip to main content
Explorer
October 6, 2025
Solved

ST25DVCryptoDemo iOS not working

  • October 6, 2025
  • 25 replies
  • 1738 views

Hello @all,

 

I've downloaded ST25DVCryptoDemo for iOS from here, in order to take a look into the demo code for a new project.
Once I've tried to build the Demo app I've got a big amount of errors. In fact the console gave me this message "too many errors emitted, stopping now"


Screenshot 2025-10-06 at 12.16.17.png

Could someone please help me to fix those issues and make everything works properly?
I've also download the ST25SDK but, when I've took a look the Readme file I saw that the SDK can be used for Android app and PC app (not iOS app)

    This topic has been closed for replies.
    Best answer by victor laraison

    Hi ,

    Regarding your questions, ST’s iOS app does not require any private Apple entitlement to enable or use the FTM mailbox of the ST25DV. The only entitlement needed for all our iOS NFC applications is the standard iOS coreNFC entitlement.

    If you review the source code of the iOS NFC Tap application (refer to STSW-ST25IOS001 | Product - STMicroelectronics), you will find numerous examples demonstrating how to use the FTM mailbox.

    Specifically, you can refer to ST25DVI2CDataTransfertViewController.swift for the UI implementation and the folder \st25sdklib\include\com\st\st25sdk\ftmprotocol for the FTM protocol used in our demo.

    Another important point to note is that iOS CoreNFC custom commands operate only in non-addressed mode, and the manufacturer code is automatically appended by the iOS custom command itself.
    I let you have a look into a previous support here : Solved: NFC - ST25DV - How to use custom commands in my ow... - STMicroelectronics Community

    If you need further support or assistance, please feel free to reach out.



    25 replies

    ST Employee
    October 6, 2025

    Hi,

    Our ST25DVCryptoDemo iOS application utilizes J2ObjC, an open-source tool developed by Google, to enable cross-platform code sharing between Android and iOS.

    For more details on the compilation process, please refer to an earlier ticket addressing this topic:

    Solved: Error while compiling latest IOS NFC source code - STMicroelectronics Community

    Hope it helps.
    Br,

     

    Andrea123Author
    Explorer
    October 7, 2025

    I've tried to do all the instructions that you posted in the other comment.
    But it's not working.

    I tried both for ST25DVCryptoDemo (version 1.0 build 1.0) and NFCTap (version 23.0 build 1.0).

    I've downloaded the master version of J2ObjC.

    Once the "make dist" finished to run I've copied and pasted the directory into ST25DVCryptoDemo and NFCTap.

    Linked the references of j2ObjC in Build Settings.

    Run clean and the build, but it's not working

    Screenshot 2025-10-07 at 12.24.59.pngScreenshot 2025-10-07 at 12.26.28.png

    ST Employee
    October 7, 2025

    Hi,

    Depending on your environment, the compilation issues could be caused by the following:

    • The header search paths in your build settings might not be in the correct order. Please verify them against my environment, as shown in the attached screenshot.
    • The versions used on st.com rely on J2OBJ version 2.4. The latest version and master branch introduced compatibility breaks with our ST25SDK iOS Objective-C source code.

    I recommend switching to version 2.4. If that is not possible, I can provide patches to support the latest J2OBJ version.

    Hope it helps. Let us know.

     

    Andrea123Author
    Explorer
    October 8, 2025

    @victor laraison 

    I've tried to clone j2objc 2.4, but I'm not able to run the command make dist.
    Here is the make dist command error:

    degaspaa@WMCVSPD005 ~ % cd j2objc 
    degaspaa@WMCVSPD005 j2objc % git status
    HEAD detached at 2.4
    nothing to commit, working tree clean
    degaspaa@WMCVSPD005 j2objc % make dist
    Locale:
    Darwin WMCVSPD005.local 24.6.0 Darwin Kernel Version 24.6.0: Mon Jul 14 11:30:55 PDT 2025; root:xnu-11417.140.69~1/RELEASE_ARM64_T6031 arm64
    Xcode 16.4 Build version 16F6
    Apple clang version 17.0.0 (clang-1700.0.13.5)
    Target: arm64-apple-darwin24.6.0
    Thread model: posix
    InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
    
    Environment:
    HOME=/Users/degaspaa
    HOMEBREW_CELLAR=/opt/homebrew/Cellar
    HOMEBREW_PREFIX=/opt/homebrew
    HOMEBREW_REPOSITORY=/opt/homebrew
    INFOPATH=/opt/homebrew/share/info:
    JAVA_HOME=/opt/homebrew/Cellar/openjdk@11/11.0.28/libexec/openjdk.jdk/Contents/Home
    LC_CTYPE=UTF-8
    LOGNAME=degaspaa
    MAKEFLAGS=
    MAKELEVEL=1
    MANPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/usr/share/man:/Applications/Xcode.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man:
    MFLAGS=
    PATH=/Users/degaspaa/.pyenv/shims:/Users/degaspaa/.pyenv/bin:/opt/homebrew/Cellar/openjdk@11/11.0.28/libexec/openjdk.jdk/Contents/Home/bin:/opt/homebrew/lib/ruby/gems/3.3.0/bin:/opt/homebrew/opt/ruby/bin:/Users/degaspaa/.sdkman/candidates/java/current/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/degaspaa/.gem/bin:/Users/degaspaa/Development/flutter/bin:/Users/degaspaa/.rvm/bin
    PWD=/Users/degaspaa/j2objc
    PYENV_ROOT=/Users/degaspaa/.pyenv
    PYENV_SHELL=zsh
    SDKMAN_CANDIDATES_API=https://api.sdkman.io/2
    SDKMAN_CANDIDATES_DIR=/Users/degaspaa/.sdkman/candidates
    SDKMAN_DIR=/Users/degaspaa/.sdkman
    SDKMAN_PLATFORM=darwinarm64
    SHELL=/bin/zsh
    SHLVL=2
    SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.kPUAgvAbGX/Listeners
    TERM=xterm-256color
    TERM_PROGRAM=Apple_Terminal
    TERM_PROGRAM_VERSION=455.1
    TERM_SESSION_ID=7DEC8B74-4A9A-4F53-833B-C6E9754286BB
    TMPDIR=/var/folders/8c/5k5986jj10ngnmmbgb_hkrr80000gn/T/
    USER=degaspaa
    XPC_FLAGS=0x0
    XPC_SERVICE_NAME=0
    rvm_alias_expanded=
    rvm_bin_flag=
    rvm_bin_path=/Users/degaspaa/.rvm/bin
    rvm_docs_type=
    rvm_gemstone_package_file=
    rvm_gemstone_url=
    rvm_hook=
    rvm_niceness=
    rvm_nightly_flag=
    rvm_only_path_flag=
    rvm_path=/Users/degaspaa/.rvm
    rvm_prefix=/Users/degaspaa
    rvm_pretty_print_flag=
    rvm_proxy=
    rvm_quiet_flag=
    rvm_ruby_bits=
    rvm_ruby_file=
    rvm_ruby_make=
    rvm_ruby_make_install=
    rvm_ruby_mode=
    rvm_script_name=
    rvm_sdk=
    rvm_silent_flag=
    rvm_use_flag=
    rvm_version=1.29.12 (latest)
    
    mvn -q generate-resources dependency:sources
    make[1]: *** [/Users/degaspaa/j2objc/java_deps/build_result/.maven_generate] Error 6
    make: *** [java_deps_dist] Error 2

     

    Here is some extra info:

    Xcode 16.4 - Build version 16F6
    MAC - 
    Apple M3 Max
    macOS - Version 15.6.1 (24G90)

    Andrea123Author
    Explorer
    October 13, 2025

    @victor laraison 

    can you please help me?
    I'm not able to run the command make dist on j2objc version 2.4

    ST Employee
    October 13, 2025

    Please, could you provide us more error log ? previous log was unclear for me.
    Thx and br,

     

    Andrea123Author
    Explorer
    October 13, 2025

    I've run git clone https://github.com/google/j2objc.git in order to download J2ObjC

    Then I moved into j2objc folder and run git checkout 2.4 in order to get the 2.4 tag.

    Then I run make dist and I got this error:

     

    make[1]: *** [/Users/degaspaa/j2objc/java_deps/build_result/.maven_generate] Error 6
    make: *** [java_deps_dist] Error 2

     

    ST Employee
    October 13, 2025

    This usually means a problem running Maven commands or downloading/building Java dependencies.

    1) Make sure you have Apache Maven installed and it is accessible from your command line.
    bash
    mvn -v
    J2ObjC requires Maven 3.x 

    2. Check Java JDK installation and version
    J2ObjC requires a JDK (not just JRE). Verify your Java version:

    bash
    java -version
    javac -version
    Ensure you have JDK 8 or higher installed.
    If you have multiple Java versions, ensure the JAVA_HOME environment variable points to the correct JDK.

    3. Check network and proxy settings
    If Maven fails to download dependencies, it could be due to network issues or proxy settings.

    Ensure you have internet access.
    If behind a proxy, configure Maven proxy settings in ~/.m2/settings.xml.

     

    Hope it helps

     

    ST Employee
    October 14, 2025

    for  your need, I have uploaded on iCloud shared drive a binary version of J2OBJC V2.4 used within my  environment. You can download then try it with the link 

    https://www.icloud.com/iclouddrive/097v0LGJypd822A2Mtx7sHeuA#j2objc-2.4

    hope it helps

    Br,

    Visitor II
    October 17, 2025

    Hi,

    I'm a colleague of Andrea123. I followed the same procedures as him to install Apache Maven (3.9.11), Java (11), and I'm also using version 2.4 of J2ObjC. We both encounter the following error:

    /Users/luca/Documents/STSW-ST25IOS002/NFCTap/st25sdklib/include/com/st/st25sdk/STException.h:27:10: fatal error: 'java/lang/Throwable.h' file not found.

    We have insert into the Xcode the correct path for the j2objc folder: J2OBJC_HOME = $(PROJECT_DIR)/Frameworks/j2objc-2.4

     

    ST Employee
    October 17, 2025

    Hi Luca,

    The error 'java/lang/Throwable.h' file not found typically indicates an issue with the header search path.

    Please verify your header search path settings and ensure that the J2OBJC_HOME variable is set to $(PROJECT_DIR)/Frameworks/j2objc-2.4/ with a trailing slash (/) at the end.

    I hope this helps.

    Visitor II
    October 17, 2025

    Screenshot 2025-10-17 alle 16.29.53.pngScreenshot 2025-10-17 alle 16.30.01.pngThis is the path with the fix. But the problem is still present.

    Visitor II
    October 21, 2025

    Hi,

    I insert the correct path, but now the out is like into the attachment.

    Do you have any idea? in particular are you sure that this SDK works with iOS 26 and the last Xcode version?

    Thanks