appmetrica / appmetrica-sdk-ios

AppMetrica SDK for iOS
https://appmetrica.io
MIT License
55 stars 6 forks source link

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

Closed ilia3546 closed 3 months ago

ilia3546 commented 5 months ago

📚 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
```json { "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

GLinnik21 commented 5 months ago

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.

kapitoshka438 commented 4 months ago

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

ilia3546 commented 3 months ago

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 😮‍💨