Skip to content

Latest commit

 

History

History
222 lines (122 loc) · 8.58 KB

README.en.md

File metadata and controls

222 lines (122 loc) · 8.58 KB

logoSerendipity

Serendipity is a mac application that integrates automatic packaging and uploading, mobileprovision file management, crash log parsing, symbol file parsing, and automatic configuration of iOS debugging packages.

The code is mainly written in SwiftUI, pure local tool management application

中文版 README

Environmental support

  • macOS 12.0+
  • Note: Be sure to turn on Full Disk Access, otherwise the manager will not be able to automatically search for related files

Brief core function:

  • Automatic packaging: Support .git, Podfile, .xcworkspace, .xcodeproj, .ipa, .xcarchive recognition
  • Application management/upload: Support Pgyer, Fir.im (support uploading to AppStore in theory~ Well, in theory~)
  • Description file manager: Support manage batch deletion, addition and search of .mobileprovision files of the whole disk
  • Crash log management/parsing: Support create, open and import .log, .crash, .ips files; parsing supports Umeng, Apple Crash format and dual JSON data format
  • Symbol file management: It can automatically search for executable files in the entire .dSYM, .xcarchive files, and parse their architecture, UUID, etc. for crash log symbolization
  • Symbolization tool: Customize to provide symbol table, start address and query address for symbolization
  • Shortcut Key Manager: Customize the shortcut keys that can only take effect in the App
  • Automatically configure the iOS real machine debugging package: Provide Github to download the real machine debugging package from the warehouse, unzip it and move it to Xcode (You need to manually enter the password to copy it)
    • Q:You may ask why not provide domestic warehouse source downloads?
    • A:To be honest, I also want it. Only Github can satisfy continuous updates (Don't count on me, just update the README, I'm too lazy) and can access downloads anonymously. Otherwise, Gitee cannot be downloaded anonymously

Part Demo

Home

  • Provides an entry for adding tasks, description file manager, symbol table manager, crash log manager and other functions. Related shortcut keys, which are displayed in the menu bar "View"
  • Support edit, run, pause tasks and quickly modify the update log
  • Display the log

main

Mobileprovision Management

  • In the upper right corner, you can search all the content in the specific mobileprovision file
  • You can search for file names and UUIDs at the bottom of the middle

profile

Symbol file Management

  • Due to the large amount of symbols, the display is rough~ hehe

symbol

symbol

Symbolization Tool

  • Customize to provide symbol table, start address and query address for symbolization
  • If you need to provide UUID to query the symbol table, you must open the symbol table manager in advance to search

symbol_tool

Crash Log

  • Support the AppleStore crash log and the Umeng log format parsing
  • For log parsing, please refer to the official documentation for a small number of exception parsing instructions.
  • Support custom address symbolization
  • Although there is a built-in symbolicatecrash script, in fact, I use swift to implement its functions with reference to its logic~ I feel that it may not be slow in theory~ Well, it should not be slow... too much

友盟解析

Apple Crash解析

创建日志

Application release management/upload

  • Manage the list of apps published by Pgyer, Fir.im
  • Uploading the IPA file can be done by adding a task or directly dragging the IPA file into the target platform in the leftmost column of the application management interface.

发布

Automatic package upload

  • Added task support folder, .git, Podfile, .xcworkspace, .xcodeproj, .ipa, .xcarchive recognition. Enter will start to identify the relevant content after input, if it is a document path, it will identify all the identifiable files under the path
  • Xcode projects currently support editing version numbers (auto-increment), build numbers (auto-increment), signatures, and exporting configurations. (If there is an export configuration, the edit item will be reset after the running task is finished, which means that the edit item will only take effect when the task is running)
  • Add other .xcarchive, .ipa parsing, which can be uploaded when uploading
  • The release configuration can support Pgyer, Fir.im
  • The release configuration theoretically supports uploading to the AppStore, and the built-in xcrun altool related commands are written. You can try~

add_task

config_engineer

config_distribution

Automatically configure the iOS real device debugging package

  • After detecting the local version and the version list configured on Github, select the desired download, and it will be automatically copied to Xcode.app after downloading.
  • Note: When finally copying to Xcode.app, you will be prompted to enter a password to authorize the copy

ios_device_support

ios_device_support_select

TODO:

2022-08-08
  • Adaptation to xcconfig case
  • Optimized mobileprovision file matching scheme
  • Task progress manager
  • Shortcut Manager
  • entitlements editor
  • Application Manager
  • misrepresenting Chinese
  • Notify or script to run when upload is complete

NOTE:

2023-07-19 v2.1.1
  • 全新符号表管理器(理论上更丝滑)

  • 新增导入文件错误提示

  • 新增崩溃日志镜像采用弹窗显示,并支持手动导入

  • 新增适配MacOS描述文件识别解析

  • 一定程度上优化了卡顿问题,再接再厉~💪🏻

2023-06-01 v2.1.0
  • Added a dark mode switch
  • Added version update function
  • Added language switching function (supports Chinese/English switching)
  • Optimize symbolization tools
  • Optimize symbol table management page freeze
  • Optimize caching of AsyncImage
  • Optimized the problem of CPU surge caused by crash log
  • Optimize crash log management and parse double JSON
  • Optimize code to a certain extent...in theory~
2022-11-11 v2.0.0
  • Added shortcut key manager
  • Added automatic configuration of iOS real device debugging package
  • Added direct upload of IPA (Pgyer, Fir.im)
  • Added symbolization tool -Fixed the issue of out-of-sync release information settings
  • Adapt to crash log double json data format parsing
  • Optimize memory leaks to a certain extent
  • Optimization...balabala...
2022-08-31 v1.0.2
  • Added application release list management (support Pgyer, Fir.im)

  • Updated Pgyer upload application interface

  • Fixed the thread group crash caused by auto upload setting multi-post platform

  • Fixed crash due to too many binary lists in crash log

2022-08-15 v1.0.1
  • Added the ability to parse Xcscheme to adapt to projects with multiple Schemes and multiple Configurations after correctly understanding the relationship between Scheme and Target~

  • Added option for clean before archive

  • Added log output clearing

  • Fix complex project may throw PhaseScriptExecution exception when executing xcodebuild archive command

  • Fixed the problem of the first feedback error when parsing the ipa file

2022-08-05 v1.0
  • Fixed multiple Target/Configuration project configuration judgments that were abnormal and could not be exported
2022-08-04 v1.0
  • The first version was released on Qixi Festival~ (And then found that it couldn't be opened at all, hahaha!)

If you think it's not bad, please like it~ Thank you!

Thanks

  • iGhibli/iOS-DeviceSupport iOS real machine debugging package collection (I produce packages, I am just a porter of packages)