appmetrica-sdk-ios icon indicating copy to clipboard operation
appmetrica-sdk-ios copied to clipboard

Tuist validation error - Invalid bundle identifier 'KSCrash/*'

Open ilia3546 opened this issue 11 months ago • 2 comments

📚 AppMetrica SDK Version

5.0.0

🛠️ Xcode Version

15.2

📱 Device Information

iPhone 13 Pro

⚙️ Installation Method

Swift Package Manager

📝 Description

When I try to generate project with Tuist with AppMetricaCrashes module I catch the following validation errors:

% tuist generate

Invalid bundle identifier 'KSCrash/Installations'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.
Invalid bundle identifier 'KSCrash/Recording'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.
Invalid bundle identifier 'KSCrash/Recording/Monitors'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.
Invalid bundle identifier 'KSCrash/Recording/Tools'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.
Invalid bundle identifier 'KSCrash/Reporting/Filters'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.
Invalid bundle identifier 'KSCrash/Reporting/Filters/Tools'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.
Invalid bundle identifier 'KSCrash/Reporting/Tools'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.
Invalid bundle identifier 'KSCrash/Reporting/Sinks'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.
Invalid bundle identifier 'KSCrash/swift/Basic'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.

Fatal linting issues found
Consider creating an issue using the following link: https://github.com/tuist/tuist/issues/new/choose

🔍 Reproducing the issue

  1. Add AppMetricaCrashes module to any tuist project.
  2. Run tuist generate

📋 Relevant AppMetrica Log Output or Crash Logs

No response

📦 Attach Package.resolved (Swift Package Manager Users)

Click to expand Package.resolved
{
  "pins" : [
    {
      "identity" : "abseil-cpp-binary",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/abseil-cpp-binary.git",
      "state" : {
        "revision" : "bfc0b6f81adc06ce5121eb23f628473638d67c5c",
        "version" : "1.2022062300.0"
      }
    },
    {
      "identity" : "alamofire",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/Alamofire/Alamofire",
      "state" : {
        "revision" : "723fa5a6c65812aec4a0d7cc432ee198883b6e00",
        "version" : "5.9.0"
      }
    },
    {
      "identity" : "amplitude-ios",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/amplitude/Amplitude-iOS",
      "state" : {
        "revision" : "879629ac8c33a35ac8893d81794059c718a073e9",
        "version" : "8.18.1"
      }
    },
    {
      "identity" : "ampoptip",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/andreamazz/AMPopTip",
      "state" : {
        "revision" : "db495eea0747a3493ca8b3c737d037c0090973db",
        "version" : "4.12.0"
      }
    },
    {
      "identity" : "analytics-connector-ios",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/amplitude/analytics-connector-ios.git",
      "state" : {
        "revision" : "e2ca17ac735bcbc48b13062484541702ef45153d",
        "version" : "1.0.3"
      }
    },
    {
      "identity" : "app-check",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/app-check.git",
      "state" : {
        "revision" : "3e464dad87dad2d29bb29a97836789bf0f8f67d2",
        "version" : "10.18.1"
      }
    },
    {
      "identity" : "appmetrica-sdk-ios",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/appmetrica/appmetrica-sdk-ios",
      "state" : {
        "revision" : "118dd58b3057bd8900727b755c6531989571265d",
        "version" : "5.1.0"
      }
    },
    {
      "identity" : "ashton",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/IdeasOnCanvas/Ashton",
      "state" : {
        "revision" : "04d551654ba57d688f43529f9547ca3ae4cbfdf4",
        "version" : "2.3.1"
      }
    },
    {
      "identity" : "differencekit",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/ra1028/DifferenceKit",
      "state" : {
        "revision" : "073b9671ce2b9b5b96398611427a1f929927e428",
        "version" : "1.3.0"
      }
    },
    {
      "identity" : "easystash",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/onmyway133/EasyStash",
      "state" : {
        "revision" : "c7230d65d4c2c143ac395e870a7b2bd8cf0c139e",
        "version" : "1.1.8"
      }
    },
    {
      "identity" : "firebase-ios-sdk",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/firebase-ios-sdk",
      "state" : {
        "revision" : "fe09d61a539e11fdbe24f269bba10144b6145fe2",
        "version" : "10.22.0"
      }
    },
    {
      "identity" : "fxpagecontrol",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/nicklockwood/FXPageControl.git",
      "state" : {
        "revision" : "a94633402ba98c52f86c2a70e61ff086dec9de78",
        "version" : "1.6.0"
      }
    },
    {
      "identity" : "googleappmeasurement",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleAppMeasurement.git",
      "state" : {
        "revision" : "bf3bb24f6b60a7acedaef504e9ce97154203217a",
        "version" : "10.22.0"
      }
    },
    {
      "identity" : "googledatatransport",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleDataTransport.git",
      "state" : {
        "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565",
        "version" : "9.4.0"
      }
    },
    {
      "identity" : "googleutilities",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleUtilities.git",
      "state" : {
        "revision" : "830ffa9276e10267881f2697283c2fcd867603fd",
        "version" : "7.13.0"
      }
    },
    {
      "identity" : "grpc-binary",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/grpc-binary.git",
      "state" : {
        "revision" : "a673bc2937fbe886dd1f99c401b01b6d977a9c98",
        "version" : "1.49.1"
      }
    },
    {
      "identity" : "gtm-session-fetcher",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/gtm-session-fetcher.git",
      "state" : {
        "revision" : "76135c9f4e1ac85459d5fec61b6f76ac47ab3a4c",
        "version" : "3.3.1"
      }
    },
    {
      "identity" : "input-mask-ios",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/RedMadRobot/input-mask-ios",
      "state" : {
        "revision" : "b492f115cc8b3aeb1b6395b4c4157d6bba1fceab",
        "version" : "7.3.2"
      }
    },
    {
      "identity" : "interop-ios-for-google-sdks",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/interop-ios-for-google-sdks.git",
      "state" : {
        "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648",
        "version" : "100.0.0"
      }
    },
    {
      "identity" : "jtapplecalendar",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/patchthecode/JTAppleCalendar",
      "state" : {
        "revision" : "718f0ab68ba0fcd2bc134f6e9d30edc1b9b038e1",
        "version" : "8.0.5"
      }
    },
    {
      "identity" : "kscrash",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/kstenerud/KSCrash",
      "state" : {
        "revision" : "2cff3a74753b0b22f25a138936f0ef029aebaa39",
        "version" : "1.16.2"
      }
    },
    {
      "identity" : "leveldb",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/leveldb.git",
      "state" : {
        "revision" : "43aaef65e0c665daadf848761d560e446d350d3d",
        "version" : "1.22.4"
      }
    },
    {
      "identity" : "lottie-spm",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/airbnb/lottie-spm",
      "state" : {
        "revision" : "3bd43e12d6fb54654366a61f7cfaca787318b8ce",
        "version" : "4.4.1"
      }
    },
    {
      "identity" : "markdownkit",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/simla-tech/MarkdownKit",
      "state" : {
        "branch" : "7ff1195",
        "revision" : "7ff1195ce6ed87d1431ea5f192a8b446e53bce23"
      }
    },
    {
      "identity" : "nanopb",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/nanopb.git",
      "state" : {
        "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1",
        "version" : "2.30910.0"
      }
    },
    {
      "identity" : "nuke",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/kean/Nuke",
      "state" : {
        "revision" : "8ecbfc886da39bccb01c34abef5f2ff4073ad633",
        "version" : "12.4.0"
      }
    },
    {
      "identity" : "nuke-webp-plugin",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/simla-tech/Nuke-WebP-Plugin",
      "state" : {
        "revision" : "8194807c1543269be88846d40b1caf70e26fdb3a",
        "version" : "7.0.0"
      }
    },
    {
      "identity" : "ogg-swift",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/vector-im/ogg-swift.git",
      "state" : {
        "revision" : "9d82ed838404f10b607a1a1689f404563e9115c3",
        "version" : "0.8.3"
      }
    },
    {
      "identity" : "opus-swift",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/vector-im/opus-swift",
      "state" : {
        "revision" : "11f1887767cbc87c4b64b789ee830b779cc744cb",
        "version" : "0.8.4"
      }
    },
    {
      "identity" : "panmodal",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/simla-tech/PanModal",
      "state" : {
        "branch" : "master",
        "revision" : "ecba796d8c306b3dab358db4ac402a0808b19010"
      }
    },
    {
      "identity" : "phonenumberkit",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/marmelroy/PhoneNumberKit",
      "state" : {
        "revision" : "a8d72d9c90f8336aff6fd6002976d7e36f4fbe8c",
        "version" : "3.7.9"
      }
    },
    {
      "identity" : "promises",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/promises.git",
      "state" : {
        "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac",
        "version" : "2.4.0"
      }
    },
    {
      "identity" : "pulse",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/kean/Pulse",
      "state" : {
        "revision" : "d647e99f06abc94d63579e335ad4ce368195c149",
        "version" : "4.0.5"
      }
    },
    {
      "identity" : "sentry-cocoa",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/getsentry/sentry-cocoa",
      "state" : {
        "revision" : "38f4f70d07117b9f958a76b1bff278c2f29ffe0e",
        "version" : "8.21.0"
      }
    },
    {
      "identity" : "siren",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/ArtSabintsev/Siren",
      "state" : {
        "revision" : "dfee0e0e29ce3b1dcb138dd467a3580e3380f579",
        "version" : "6.1.2"
      }
    },
    {
      "identity" : "skeletonview",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/Juanpe/SkeletonView",
      "state" : {
        "revision" : "739a4f5d78731bebc48811c75fa9e1f4c4cef23e",
        "version" : "1.30.4"
      }
    },
    {
      "identity" : "snapkit",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/SnapKit/SnapKit",
      "state" : {
        "revision" : "2842e6e84e82eb9a8dac0100ca90d9444b0307f4",
        "version" : "5.7.1"
      }
    },
    {
      "identity" : "swift-ogg",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/vector-im/swift-ogg",
      "state" : {
        "branch" : "e9a9e76",
        "revision" : "e9a9e7601da662fd8b97d93781ff5c60b4becf88"
      }
    },
    {
      "identity" : "swift-protobuf",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/apple/swift-protobuf.git",
      "state" : {
        "revision" : "65e8f29b2d63c4e38e736b25c27b83e012159be8",
        "version" : "1.25.2"
      }
    },
    {
      "identity" : "swiftentrykit",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/simla-tech/SwiftEntryKit",
      "state" : {
        "branch" : "master",
        "revision" : "15509e536ef724216194d97815e12a42ea247c35"
      }
    },
    {
      "identity" : "swiftui-introspect",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/siteline/SwiftUI-Introspect",
      "state" : {
        "revision" : "0cd2a5a5895306bc21d54a2254302d24a9a571e4",
        "version" : "1.1.3"
      }
    },
    {
      "identity" : "uicircularprogressring",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/luispadron/UICircularProgressRing",
      "state" : {
        "revision" : "4a1fd4a77bcc27f8b3714aae3ea35835251dcef3",
        "version" : "6.5.0"
      }
    },
    {
      "identity" : "valet",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/square/Valet",
      "state" : {
        "revision" : "89f12b93553055f4908c0d2548c9b8655926940a",
        "version" : "4.2.0"
      }
    },
    {
      "identity" : "whatsnewkit",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/SvenTiigi/WhatsNewKit",
      "state" : {
        "revision" : "92a9d6f5f6754aba0df972514fd7686f1de03bcc",
        "version" : "1.3.7"
      }
    },
    {
      "identity" : "xlpagertabstrip",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/simla-tech/XLPagerTabStrip",
      "state" : {
        "branch" : "simla-changes",
        "revision" : "88e511263e7c2cbc94d1a4ef8813f33c28bebd55"
      }
    }
  ],
  "version" : 2
}

🍫 Attach Podfile.lock (CocoaPods Users)

No response

ilia3546 avatar Mar 05 '24 15:03 ilia3546

Hi there,

Thanks for reporting this issue. It appears that the bundle identifiers used in the KSCrash library, which our library depends on, don't follow the expected format.

As the developers of AppMetrica, we can try to submit a pull request to the KSCrash repository to fix the bundle identifier format. However, since we don't have direct control over that repository, we can't guarantee how quickly the changes will be reviewed and merged.

In the meantime, we recommend that you submit an issue to the KSCrash repository to reach out to the maintainers directly. Explain the problem you're facing and provide the details of the validation errors you encountered. The maintainers might be able to provide guidance or prioritize the necessary changes.

GLinnik21 avatar Mar 25 '24 13:03 GLinnik21

https://github.com/kstenerud/KSCrash/issues/458

kapitoshka438 avatar Apr 02 '24 21:04 kapitoshka438

Tuist has recently released the 4.14.0 update which fixes this bug - https://github.com/tuist/tuist/pull/6260 I think we can close this issue 😮‍💨

ilia3546 avatar May 20 '24 17:05 ilia3546