* Fix Xcode 16 build crash

This script fails silently due to missing protoc-c and it results in Xcode build crash.
.pb-c files can be generated manually by running cd Source && protoc-c --c_out=. Source/PLCrashReport.proto

* Add script for generating pb-c files and section in Readme

* Update changelog

* Remove script from macOS, tvOS and tests targets
This commit is contained in:
Dima 2024-11-14 17:27:50 +07:00 коммит произвёл GitHub
Родитель 2e8dc9e58f
Коммит e100eb888c
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
4 изменённых файлов: 20 добавлений и 99 удалений

Просмотреть файл

@ -1,5 +1,11 @@
# PLCrashReporter Change Log
# Version 1.11.3 (Under development)
* **[Improvement]** Support Xcode 16 build.
___
## Version 1.11.2
* **[Improvement]** Update PLCrashReporter to include privacy manifest.

Просмотреть файл

@ -765,99 +765,6 @@
FCE45B4FD545A258E0292F25 /* PLCrashFrameStackUnwind.h in Headers */ = {isa = PBXBuildFile; fileRef = FCE4522F86AC61C08E9DCC17 /* PLCrashFrameStackUnwind.h */; };
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
C2B72B1A24534DD200D03ABD /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.proxy.script;
filePatterns = "*.proto";
fileType = pattern.proxy;
inputFiles = (
);
isEditable = 1;
outputFiles = (
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.c",
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.h",
);
runOncePerArchitecture = 0;
script = "if type protoc-c > /dev/null; then\n cd \"${INPUT_FILE_DIR}\" && protoc-c --c_out=. \"${INPUT_FILE_NAME}\"\nfi\n";
};
C2B72B2C24534F5C00D03ABD /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.proxy.script;
filePatterns = "*.proto";
fileType = pattern.proxy;
inputFiles = (
);
isEditable = 1;
outputFiles = (
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.c",
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.h",
);
runOncePerArchitecture = 0;
script = "if type protoc-c > /dev/null; then\n cd \"${INPUT_FILE_DIR}\" && protoc-c --c_out=. \"${INPUT_FILE_NAME}\"\nfi\n";
};
C2B72B2D24534F6200D03ABD /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.proxy.script;
filePatterns = "*.proto";
fileType = pattern.proxy;
inputFiles = (
);
isEditable = 1;
outputFiles = (
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.c",
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.h",
);
runOncePerArchitecture = 0;
script = "if type protoc-c > /dev/null; then\n cd \"${INPUT_FILE_DIR}\" && protoc-c --c_out=. \"${INPUT_FILE_NAME}\"\nfi\n";
};
C2B72B2E24534F6800D03ABD /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.proxy.script;
filePatterns = "*.proto";
fileType = pattern.proxy;
inputFiles = (
);
isEditable = 1;
outputFiles = (
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.c",
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.h",
);
runOncePerArchitecture = 0;
script = "if type protoc-c > /dev/null; then\n cd \"${INPUT_FILE_DIR}\" && protoc-c --c_out=. \"${INPUT_FILE_NAME}\"\nfi\n";
};
C2B72B2F24534F6B00D03ABD /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.proxy.script;
filePatterns = "*.proto";
fileType = pattern.proxy;
inputFiles = (
);
isEditable = 1;
outputFiles = (
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.c",
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.h",
);
runOncePerArchitecture = 0;
script = "if type protoc-c > /dev/null; then\n cd \"${INPUT_FILE_DIR}\" && protoc-c --c_out=. \"${INPUT_FILE_NAME}\"\nfi\n";
};
C2B72B3024534F6F00D03ABD /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.proxy.script;
filePatterns = "*.proto";
fileType = pattern.proxy;
inputFiles = (
);
isEditable = 1;
outputFiles = (
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.c",
"${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.pb-c.h",
);
runOncePerArchitecture = 0;
script = "if type protoc-c > /dev/null; then\n cd \"${INPUT_FILE_DIR}\" && protoc-c --c_out=. \"${INPUT_FILE_NAME}\"\nfi\n";
};
/* End PBXBuildRule section */
/* Begin PBXContainerItemProxy section */
050DE25C0F61B92C00152ED3 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@ -2460,7 +2367,6 @@
05CD31500EE936A9000FDE88 /* Frameworks */,
);
buildRules = (
C2B72B2C24534F5C00D03ABD /* PBXBuildRule */,
);
dependencies = (
);
@ -2479,7 +2385,6 @@
05CD32660EE93DC3000FDE88 /* Frameworks */,
);
buildRules = (
C2B72B2E24534F6800D03ABD /* PBXBuildRule */,
);
dependencies = (
C26C52A52451B45D00D20162 /* PBXTargetDependency */,
@ -2498,7 +2403,6 @@
05CD33220EE94439000FDE88 /* Frameworks */,
);
buildRules = (
C2B72B2F24534F6B00D03ABD /* PBXBuildRule */,
);
dependencies = (
054F50E90EEC50B30034B184 /* PBXTargetDependency */,
@ -2534,7 +2438,6 @@
05E731F10EFA1AAB005EDFB7 /* Frameworks */,
);
buildRules = (
C2B72B1A24534DD200D03ABD /* PBXBuildRule */,
);
dependencies = (
);
@ -2592,7 +2495,6 @@
8064D8161C4D22D8005A8B4C /* Frameworks */,
);
buildRules = (
C2B72B2D24534F6200D03ABD /* PBXBuildRule */,
);
dependencies = (
);
@ -2629,7 +2531,6 @@
8064D98F1C4D27E2005A8B4C /* Frameworks */,
);
buildRules = (
C2B72B3024534F6F00D03ABD /* PBXBuildRule */,
);
dependencies = (
80A63BC11C4D2BE20073B7A3 /* PBXTargetDependency */,

3
Dependencies/protobuf-c/generate-pb-c.sh поставляемый Executable file
Просмотреть файл

@ -0,0 +1,3 @@
#!/bin/sh
cd "$(dirname "$0")/../../Source/" && protoc-c --c_out=. "PLCrashReport.proto"

Просмотреть файл

@ -211,6 +211,17 @@ Also, next optional tools are used to build additional resources:
to create binaries for all platforms.
## Updating protobuf-c
To update the `protobuf-c` dependency:
1. Download the latest `protobuf-c.h` and `protobuf-c.c` files from the [protobuf-c GitHub repository](https://github.com/protobuf-c/protobuf-c).
2. Replace the existing files in `Dependencies/protobuf-c` with the downloaded ones.
3. Run the script:
```bash
./Dependencies/protobuf-c/generate-pb-c.sh
```
## Contributing
We are looking forward to your contributions via pull requests.