mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-26 19:45:20 +00:00
Draft protocol spec for review by both iOS and Android before any implementation. Nothing here is implemented; this is the artifact to agree on, since the change is a wire revision neither platform can ship alone. The headline correction, because it is easy to get wrong: rotating the peer ID alone accomplishes nothing. The announce carries the Noise static key, the Ed25519 signing key and the nickname in cleartext, so a rotated ID is re-linked to the same device on its first announce. Rotation and announce confidentiality have to land together. The second thing an implementer needs to know up front is that peerID == SHA-256(noiseStaticKey)[0..8] is not a convention, it is the mechanism that makes peer IDs unforgeable, enforced in the announce preflight and again at handshake completion. Making IDs independent of the key fails both checks for every peer, so a replacement binding has to ship in the same change. The spec proposes one: an Ed25519 proof over (context, epoch, rotating ID, static key) carried inside the completed Noise session via the existing AuthenticatedPeerStatePacket, checked against a pinned signing key — strictly stronger than today's self-signed announce. Design summary: hour-epoch IDs derived from private key material via HKDF+HMAC so no observer can predict or link them; pairwise recognition tags from the X25519 shared secret so mutual favourites still recognise each other with no handshake, padded to fixed slots so the tag count does not leak how many favourites someone has; strangers discovered by handshake-first-identify-second over Noise XX, whose static keys are already encrypted on the wire. Nickname moves inside the session and the neighbour list is dropped rather than rotated. Includes a verified impact inventory separating what breaks hard (the handshake check, the announce preflight, the disk outbox keyed by peer ID, private-media stable IDs and their deletion tombstones, the initiator tie-break, fingerprint-prefix lookups) from what degrades gracefully and what is already safe because it keys on fingerprints or Noise keys. Rollout uses the two mechanisms already proven in this repo: a PeerCapabilities bit (11 is next; 10 is burned) with capabilitiesWereExplicitlyAdvertised to tell an old client from a new one with the bit off, and observed-version gating as used for source routing. Two findings surfaced while writing this and are recorded in the spec. CourierEnvelope.recipientTag is HMAC keyed on the recipient's *public* static key, and since that key is broadcast in cleartext today, any observer in radio range can compute a peer's courier tags for any day — so the whitepaper's "cannot link it across days" does not currently hold, and the pattern must not be copied. And NoiseEncryptionService's buildAnnounceSignature/verifyAnnounceSignature/canonicalAnnounceBytes are present but production-dead, called only from tests; the binding above deliberately uses a different context string so the two can never be confused. Eight open questions are left explicitly unresolved, including the rotation period, whether unsigned v2 announces are an acceptable posture, and whether Android's decoder tolerates trailing bytes the way iOS's does (which decides whether padding coverage can ship ungated). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
983 lines
38 KiB
Plaintext
Generated
983 lines
38 KiB
Plaintext
Generated
// !$*UTF8*$!
|
|
{
|
|
archiveVersion = 1;
|
|
classes = {
|
|
};
|
|
objectVersion = 90;
|
|
objects = {
|
|
|
|
/* Begin PBXBuildFile section */
|
|
17901751FD8010AFC8E750F2 /* bitchatShareExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 61F92EBA29C47C0FCC482F1F /* bitchatShareExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
|
3EE336D150427F736F32B56C /* P256K in Frameworks */ = {isa = PBXBuildFile; productRef = B1D9136AA0083366353BFA2F /* P256K */; };
|
|
885BBED78092484A5B069461 /* P256K in Frameworks */ = {isa = PBXBuildFile; productRef = 4EB6BA1B8464F1EA38F4E286 /* P256K */; };
|
|
A6BCF9482F80953E001CF9B9 /* BitFoundation in Frameworks */ = {isa = PBXBuildFile; productRef = A6BCF9472F80953E001CF9B9 /* BitFoundation */; };
|
|
A6BCF94A2F809550001CF9B9 /* BitFoundation in Frameworks */ = {isa = PBXBuildFile; productRef = A6BCF9492F809550001CF9B9 /* BitFoundation */; };
|
|
A6E3E5702E77036A0032EA8A /* BitLogger in Frameworks */ = {isa = PBXBuildFile; productRef = A6E3E56F2E77036A0032EA8A /* BitLogger */; };
|
|
A6E3E5722E7703760032EA8A /* BitLogger in Frameworks */ = {isa = PBXBuildFile; productRef = A6E3E5712E7703760032EA8A /* BitLogger */; };
|
|
A6E3EA7F2E7706720032EA8A /* Tor in Frameworks */ = {isa = PBXBuildFile; productRef = A6E3EA7E2E7706720032EA8A /* Tor */; };
|
|
A6E3EA812E7706A80032EA8A /* Tor in Frameworks */ = {isa = PBXBuildFile; productRef = A6E3EA802E7706A80032EA8A /* Tor */; };
|
|
E0A1B2C3D4E5F6012345678D /* relays/online_relays_gps.csv in Resources */ = {isa = PBXBuildFile; fileRef = E0A1B2C3D4E5F6012345678A /* relays/online_relays_gps.csv */; };
|
|
E0A1B2C3D4E5F6012345678E /* relays/online_relays_gps.csv in Resources */ = {isa = PBXBuildFile; fileRef = E0A1B2C3D4E5F6012345678A /* relays/online_relays_gps.csv */; };
|
|
/* End PBXBuildFile section */
|
|
|
|
/* Begin PBXContainerItemProxy section */
|
|
96415D4F989854F908EAD303 /* PBXContainerItemProxy */ = {
|
|
isa = PBXContainerItemProxy;
|
|
containerPortal = 475D96681D0EA0AE57A4E06E /* Project object */;
|
|
proxyType = 1;
|
|
remoteGlobalIDString = AF077EA0474EDEDE2C72716C;
|
|
remoteInfo = bitchat_iOS;
|
|
};
|
|
E35E7AF9854A2E72452DD34F /* PBXContainerItemProxy */ = {
|
|
isa = PBXContainerItemProxy;
|
|
containerPortal = 475D96681D0EA0AE57A4E06E /* Project object */;
|
|
proxyType = 1;
|
|
remoteGlobalIDString = 57CA17A36A2532A6CFF367BB;
|
|
remoteInfo = bitchatShareExtension;
|
|
};
|
|
FF470234EF8C6BB8865B80B5 /* PBXContainerItemProxy */ = {
|
|
isa = PBXContainerItemProxy;
|
|
containerPortal = 475D96681D0EA0AE57A4E06E /* Project object */;
|
|
proxyType = 1;
|
|
remoteGlobalIDString = 0576A29205865664C0937536;
|
|
remoteInfo = bitchat_macOS;
|
|
};
|
|
/* End PBXContainerItemProxy section */
|
|
|
|
/* Begin PBXCopyFilesBuildPhase section */
|
|
B6C356449BAE4E0F650565D1 /* Embed Foundation Extensions */ = {
|
|
isa = PBXCopyFilesBuildPhase;
|
|
dstPath = "";
|
|
dstSubfolder = PlugIns;
|
|
files = (
|
|
17901751FD8010AFC8E750F2 /* bitchatShareExtension.appex in Embed Foundation Extensions */,
|
|
);
|
|
name = "Embed Foundation Extensions";
|
|
};
|
|
/* End PBXCopyFilesBuildPhase section */
|
|
|
|
/* Begin PBXFileReference section */
|
|
03C57F452B55FD0FD8F51421 /* bitchatTests_macOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = bitchatTests_macOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
61F92EBA29C47C0FCC482F1F /* bitchatShareExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = bitchatShareExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
8F3A7C058C2C8E1A06C8CF8B /* bitchat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = bitchat.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
96D0D41CA19EE5A772AA8434 /* bitchat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = bitchat.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
A6F183FC2E948783006A9046 /* tor-nolzma.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = "tor-nolzma.xcframework"; path = "localPackages/Tor/Frameworks/tor-nolzma.xcframework"; sourceTree = "<group>"; };
|
|
C0DB1DE27F0AAB5092663E8E /* bitchatTests_iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = bitchatTests_iOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
E0A1B2C3D4E5F6012345678A /* relays/online_relays_gps.csv */ = {isa = PBXFileReference; lastKnownFileType = text; path = relays/online_relays_gps.csv; sourceTree = "<group>"; };
|
|
/* End PBXFileReference section */
|
|
|
|
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
|
A6E32D1B2E762EA70032EA8A /* Exceptions for "bitchat" folder in "bitchatShareExtension" target */ = {
|
|
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
|
|
membershipExceptions = (
|
|
Services/SharedContentHandoff.swift,
|
|
Services/TransportConfig.swift,
|
|
);
|
|
target = 57CA17A36A2532A6CFF367BB /* bitchatShareExtension */;
|
|
};
|
|
A6E32D1C2E762EA70032EA8A /* Exceptions for "bitchat" folder in "bitchat_iOS" target */ = {
|
|
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
|
|
membershipExceptions = (
|
|
Info.plist,
|
|
);
|
|
target = AF077EA0474EDEDE2C72716C /* bitchat_iOS */;
|
|
};
|
|
A6E32D1D2E762EA70032EA8A /* Exceptions for "bitchat" folder in "bitchat_macOS" target */ = {
|
|
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
|
|
membershipExceptions = (
|
|
Info.plist,
|
|
LaunchScreen.storyboard,
|
|
);
|
|
target = 0576A29205865664C0937536 /* bitchat_macOS */;
|
|
};
|
|
A6E32D232E762EAB0032EA8A /* Exceptions for "bitchatShareExtension" folder in "bitchatShareExtension" target */ = {
|
|
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
|
|
membershipExceptions = (
|
|
Info.plist,
|
|
);
|
|
target = 57CA17A36A2532A6CFF367BB /* bitchatShareExtension */;
|
|
};
|
|
C5E027A52ECCDFD700BD6012 /* Exceptions for "bitchatTests" folder in "bitchatTests_macOS" target */ = {
|
|
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
|
|
membershipExceptions = (
|
|
Info.plist,
|
|
Localization/PrimaryLocalizationKeys.json,
|
|
README.md,
|
|
);
|
|
target = 47FF23248747DD7CB666CB91 /* bitchatTests_macOS */;
|
|
};
|
|
C5E027A82ECCDFE200BD6012 /* Exceptions for "bitchatTests" folder in "bitchatTests_iOS" target */ = {
|
|
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
|
|
membershipExceptions = (
|
|
Info.plist,
|
|
Localization/PrimaryLocalizationKeys.json,
|
|
README.md,
|
|
);
|
|
target = 6CB97DF2EA57234CB3E563B8 /* bitchatTests_iOS */;
|
|
};
|
|
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
|
|
|
/* Begin PBXFileSystemSynchronizedRootGroup section */
|
|
A6E32C972E762EA70032EA8A /* bitchat */ = {
|
|
isa = PBXFileSystemSynchronizedRootGroup;
|
|
exceptions = (
|
|
A6E32D1B2E762EA70032EA8A /* Exceptions for "bitchat" folder in "bitchatShareExtension" target */,
|
|
A6E32D1C2E762EA70032EA8A /* Exceptions for "bitchat" folder in "bitchat_iOS" target */,
|
|
A6E32D1D2E762EA70032EA8A /* Exceptions for "bitchat" folder in "bitchat_macOS" target */,
|
|
);
|
|
path = bitchat;
|
|
sourceTree = "<group>";
|
|
};
|
|
A6E32D212E762EAB0032EA8A /* bitchatShareExtension */ = {
|
|
isa = PBXFileSystemSynchronizedRootGroup;
|
|
exceptions = (
|
|
A6E32D232E762EAB0032EA8A /* Exceptions for "bitchatShareExtension" folder in "bitchatShareExtension" target */,
|
|
);
|
|
path = bitchatShareExtension;
|
|
sourceTree = "<group>";
|
|
};
|
|
A6E32D412E762EAE0032EA8A /* bitchatTests */ = {
|
|
isa = PBXFileSystemSynchronizedRootGroup;
|
|
exceptions = (
|
|
C5E027A82ECCDFE200BD6012 /* Exceptions for "bitchatTests" folder in "bitchatTests_iOS" target */,
|
|
C5E027A52ECCDFD700BD6012 /* Exceptions for "bitchatTests" folder in "bitchatTests_macOS" target */,
|
|
);
|
|
path = bitchatTests;
|
|
sourceTree = "<group>";
|
|
};
|
|
A6E367C92E76469E0032EA8A /* Configs */ = {
|
|
isa = PBXFileSystemSynchronizedRootGroup;
|
|
path = Configs;
|
|
sourceTree = "<group>";
|
|
};
|
|
/* End PBXFileSystemSynchronizedRootGroup section */
|
|
|
|
/* Begin PBXFrameworksBuildPhase section */
|
|
31F6FDADA63050361C14F3A1 /* Frameworks */ = {
|
|
isa = PBXFrameworksBuildPhase;
|
|
files = (
|
|
A6E3E5722E7703760032EA8A /* BitLogger in Frameworks */,
|
|
3EE336D150427F736F32B56C /* P256K in Frameworks */,
|
|
A6E3EA812E7706A80032EA8A /* Tor in Frameworks */,
|
|
A6BCF94A2F809550001CF9B9 /* BitFoundation in Frameworks */,
|
|
);
|
|
};
|
|
B5A5CC493FFB3D8966548140 /* Frameworks */ = {
|
|
isa = PBXFrameworksBuildPhase;
|
|
files = (
|
|
A6E3E5702E77036A0032EA8A /* BitLogger in Frameworks */,
|
|
885BBED78092484A5B069461 /* P256K in Frameworks */,
|
|
A6E3EA7F2E7706720032EA8A /* Tor in Frameworks */,
|
|
A6BCF9482F80953E001CF9B9 /* BitFoundation in Frameworks */,
|
|
);
|
|
};
|
|
/* End PBXFrameworksBuildPhase section */
|
|
|
|
/* Begin PBXGroup section */
|
|
18198ED912AAF495D8AF7763 = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
A6E32C972E762EA70032EA8A /* bitchat */,
|
|
E0A1B2C3D4E5F6012345678A /* relays/online_relays_gps.csv */,
|
|
A6E32D212E762EAB0032EA8A /* bitchatShareExtension */,
|
|
A6E32D412E762EAE0032EA8A /* bitchatTests */,
|
|
A6E367C92E76469E0032EA8A /* Configs */,
|
|
9F37F9F2C353B58AC809E93B /* Products */,
|
|
A6F183FB2E948783006A9046 /* Frameworks */,
|
|
);
|
|
sourceTree = "<group>";
|
|
};
|
|
9F37F9F2C353B58AC809E93B /* Products */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
96D0D41CA19EE5A772AA8434 /* bitchat.app */,
|
|
8F3A7C058C2C8E1A06C8CF8B /* bitchat.app */,
|
|
61F92EBA29C47C0FCC482F1F /* bitchatShareExtension.appex */,
|
|
C0DB1DE27F0AAB5092663E8E /* bitchatTests_iOS.xctest */,
|
|
03C57F452B55FD0FD8F51421 /* bitchatTests_macOS.xctest */,
|
|
);
|
|
name = Products;
|
|
sourceTree = "<group>";
|
|
};
|
|
A6F183FB2E948783006A9046 /* Frameworks */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
A6F183FC2E948783006A9046 /* tor-nolzma.xcframework */,
|
|
);
|
|
name = Frameworks;
|
|
sourceTree = "<group>";
|
|
};
|
|
/* End PBXGroup section */
|
|
|
|
/* Begin PBXNativeTarget section */
|
|
0576A29205865664C0937536 /* bitchat_macOS */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = DA5644925338B8189B035657 /* Build configuration list for PBXNativeTarget "bitchat_macOS" */;
|
|
buildPhases = (
|
|
137ABE739BF20ACDDF8CC605 /* Sources */,
|
|
0214973A876129753D39EB47 /* Resources */,
|
|
31F6FDADA63050361C14F3A1 /* Frameworks */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
fileSystemSynchronizedGroups = (
|
|
A6E32C972E762EA70032EA8A /* bitchat */,
|
|
);
|
|
name = bitchat_macOS;
|
|
packageProductDependencies = (
|
|
B1D9136AA0083366353BFA2F /* P256K */,
|
|
A6E3E5712E7703760032EA8A /* BitLogger */,
|
|
A6E3EA802E7706A80032EA8A /* Tor */,
|
|
A6BCF9492F809550001CF9B9 /* BitFoundation */,
|
|
);
|
|
productName = bitchat_macOS;
|
|
productReference = 8F3A7C058C2C8E1A06C8CF8B /* bitchat.app */;
|
|
productType = "com.apple.product-type.application";
|
|
};
|
|
47FF23248747DD7CB666CB91 /* bitchatTests_macOS */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = 1C27B5BA3DB46DDF0DBFEF62 /* Build configuration list for PBXNativeTarget "bitchatTests_macOS" */;
|
|
buildPhases = (
|
|
5C22AA7B9ACC5A861445C769 /* Sources */,
|
|
C5E027A42ECCDFD700BD6012 /* Resources */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
dependencies = (
|
|
4AA8605DCAA64A45657EF0CA /* PBXTargetDependency */,
|
|
);
|
|
fileSystemSynchronizedGroups = (
|
|
A6E32D412E762EAE0032EA8A /* bitchatTests */,
|
|
);
|
|
name = bitchatTests_macOS;
|
|
productName = bitchatTests_macOS;
|
|
productReference = 03C57F452B55FD0FD8F51421 /* bitchatTests_macOS.xctest */;
|
|
productType = "com.apple.product-type.bundle.unit-test";
|
|
};
|
|
57CA17A36A2532A6CFF367BB /* bitchatShareExtension */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = E4EA6DC648DF55FF84032EB5 /* Build configuration list for PBXNativeTarget "bitchatShareExtension" */;
|
|
buildPhases = (
|
|
0A08E70F08F55FD5BA8C7EF3 /* Sources */,
|
|
7E9B64F63F93443FB7BA12DF /* Resources */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
fileSystemSynchronizedGroups = (
|
|
A6E32D212E762EAB0032EA8A /* bitchatShareExtension */,
|
|
);
|
|
name = bitchatShareExtension;
|
|
productName = bitchatShareExtension;
|
|
productReference = 61F92EBA29C47C0FCC482F1F /* bitchatShareExtension.appex */;
|
|
productType = "com.apple.product-type.app-extension";
|
|
};
|
|
6CB97DF2EA57234CB3E563B8 /* bitchatTests_iOS */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = 38C4AF6313E5037F25CEF30B /* Build configuration list for PBXNativeTarget "bitchatTests_iOS" */;
|
|
buildPhases = (
|
|
865C8403EF02C089369A9FCB /* Sources */,
|
|
C5E027A72ECCDFE200BD6012 /* Resources */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
dependencies = (
|
|
D8C09F21DB7DC06E8E672C21 /* PBXTargetDependency */,
|
|
);
|
|
fileSystemSynchronizedGroups = (
|
|
A6E32D412E762EAE0032EA8A /* bitchatTests */,
|
|
);
|
|
name = bitchatTests_iOS;
|
|
productName = bitchatTests_iOS;
|
|
productReference = C0DB1DE27F0AAB5092663E8E /* bitchatTests_iOS.xctest */;
|
|
productType = "com.apple.product-type.bundle.unit-test";
|
|
};
|
|
AF077EA0474EDEDE2C72716C /* bitchat_iOS */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = 53EADEF7546F94DDF82271B9 /* Build configuration list for PBXNativeTarget "bitchat_iOS" */;
|
|
buildPhases = (
|
|
4E49E34F00154C051AE90FED /* Sources */,
|
|
CD6E8F32BC38357473954F97 /* Resources */,
|
|
B5A5CC493FFB3D8966548140 /* Frameworks */,
|
|
B6C356449BAE4E0F650565D1 /* Embed Foundation Extensions */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
dependencies = (
|
|
6EB655BA5DB11909C1DEC460 /* PBXTargetDependency */,
|
|
);
|
|
fileSystemSynchronizedGroups = (
|
|
A6E32C972E762EA70032EA8A /* bitchat */,
|
|
);
|
|
name = bitchat_iOS;
|
|
packageProductDependencies = (
|
|
4EB6BA1B8464F1EA38F4E286 /* P256K */,
|
|
A6E3E56F2E77036A0032EA8A /* BitLogger */,
|
|
A6E3EA7E2E7706720032EA8A /* Tor */,
|
|
A6BCF9472F80953E001CF9B9 /* BitFoundation */,
|
|
);
|
|
productName = bitchat_iOS;
|
|
productReference = 96D0D41CA19EE5A772AA8434 /* bitchat.app */;
|
|
productType = "com.apple.product-type.application";
|
|
};
|
|
/* End PBXNativeTarget section */
|
|
|
|
/* Begin PBXProject section */
|
|
475D96681D0EA0AE57A4E06E /* Project object */ = {
|
|
isa = PBXProject;
|
|
attributes = {
|
|
BuildIndependentTargetsInParallel = YES;
|
|
LastUpgradeCheck = 2650;
|
|
};
|
|
buildConfigurationList = 3EA424CBD51200895D361189 /* Build configuration list for PBXProject "bitchat" */;
|
|
developmentRegion = en;
|
|
hasScannedForEncodings = 0;
|
|
knownRegions = (
|
|
Base,
|
|
en,
|
|
es,
|
|
ar,
|
|
de,
|
|
fa,
|
|
fr,
|
|
he,
|
|
id,
|
|
it,
|
|
ja,
|
|
ne,
|
|
"pt-BR",
|
|
ru,
|
|
tr,
|
|
uk,
|
|
"zh-Hans",
|
|
);
|
|
mainGroup = 18198ED912AAF495D8AF7763;
|
|
minimizedProjectReferenceProxies = 1;
|
|
packageReferences = (
|
|
B8C407587481BBB190741C93 /* XCRemoteSwiftPackageReference "swift-secp256k1" */,
|
|
A6E3E56E2E77036A0032EA8A /* XCLocalSwiftPackageReference "localPackages/BitLogger" */,
|
|
A6E3EA7D2E7706720032EA8A /* XCLocalSwiftPackageReference "localPackages/Arti" */,
|
|
A6BCF9462F80953E001CF9B9 /* XCLocalSwiftPackageReference "localPackages/BitFoundation" */,
|
|
);
|
|
preferredProjectObjectVersion = 90;
|
|
projectDirPath = "";
|
|
projectRoot = "";
|
|
targets = (
|
|
57CA17A36A2532A6CFF367BB /* bitchatShareExtension */,
|
|
6CB97DF2EA57234CB3E563B8 /* bitchatTests_iOS */,
|
|
47FF23248747DD7CB666CB91 /* bitchatTests_macOS */,
|
|
AF077EA0474EDEDE2C72716C /* bitchat_iOS */,
|
|
0576A29205865664C0937536 /* bitchat_macOS */,
|
|
);
|
|
};
|
|
/* End PBXProject section */
|
|
|
|
/* Begin PBXResourcesBuildPhase section */
|
|
0214973A876129753D39EB47 /* Resources */ = {
|
|
isa = PBXResourcesBuildPhase;
|
|
files = (
|
|
E0A1B2C3D4E5F6012345678D /* relays/online_relays_gps.csv in Resources */,
|
|
);
|
|
};
|
|
7E9B64F63F93443FB7BA12DF /* Resources */ = {
|
|
isa = PBXResourcesBuildPhase;
|
|
files = (
|
|
);
|
|
};
|
|
C5E027A42ECCDFD700BD6012 /* Resources */ = {
|
|
isa = PBXResourcesBuildPhase;
|
|
files = (
|
|
);
|
|
};
|
|
C5E027A72ECCDFE200BD6012 /* Resources */ = {
|
|
isa = PBXResourcesBuildPhase;
|
|
files = (
|
|
);
|
|
};
|
|
CD6E8F32BC38357473954F97 /* Resources */ = {
|
|
isa = PBXResourcesBuildPhase;
|
|
files = (
|
|
E0A1B2C3D4E5F6012345678E /* relays/online_relays_gps.csv in Resources */,
|
|
);
|
|
};
|
|
/* End PBXResourcesBuildPhase section */
|
|
|
|
/* Begin PBXSourcesBuildPhase section */
|
|
0A08E70F08F55FD5BA8C7EF3 /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
files = (
|
|
);
|
|
};
|
|
137ABE739BF20ACDDF8CC605 /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
files = (
|
|
);
|
|
};
|
|
4E49E34F00154C051AE90FED /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
files = (
|
|
);
|
|
};
|
|
5C22AA7B9ACC5A861445C769 /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
files = (
|
|
);
|
|
};
|
|
865C8403EF02C089369A9FCB /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
files = (
|
|
);
|
|
};
|
|
/* End PBXSourcesBuildPhase section */
|
|
|
|
/* Begin PBXTargetDependency section */
|
|
4AA8605DCAA64A45657EF0CA /* PBXTargetDependency */ = {
|
|
isa = PBXTargetDependency;
|
|
target = 0576A29205865664C0937536 /* bitchat_macOS */;
|
|
targetProxy = FF470234EF8C6BB8865B80B5 /* PBXContainerItemProxy */;
|
|
};
|
|
6EB655BA5DB11909C1DEC460 /* PBXTargetDependency */ = {
|
|
isa = PBXTargetDependency;
|
|
target = 57CA17A36A2532A6CFF367BB /* bitchatShareExtension */;
|
|
targetProxy = E35E7AF9854A2E72452DD34F /* PBXContainerItemProxy */;
|
|
};
|
|
D8C09F21DB7DC06E8E672C21 /* PBXTargetDependency */ = {
|
|
isa = PBXTargetDependency;
|
|
target = AF077EA0474EDEDE2C72716C /* bitchat_iOS */;
|
|
targetProxy = 96415D4F989854F908EAD303 /* PBXContainerItemProxy */;
|
|
};
|
|
/* End PBXTargetDependency section */
|
|
|
|
/* Begin XCBuildConfiguration section */
|
|
077A5203074247CF8F766E2F /* Debug configuration for PBXNativeTarget "bitchatTests_iOS" */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReferenceAnchor = A6E367C92E76469E0032EA8A /* Configs */;
|
|
baseConfigurationReferenceRelativePath = Debug.xcconfig;
|
|
buildSettings = {
|
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
CODE_SIGNING_ALLOWED = YES;
|
|
CODE_SIGNING_REQUIRED = YES;
|
|
CODE_SIGN_STYLE = "$(CODE_SIGN_STYLE)";
|
|
INFOPLIST_FILE = bitchatTests/Info.plist;
|
|
IPHONEOS_DEPLOYMENT_TARGET = "$(IPHONEOS_DEPLOYMENT_TARGET)";
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
"@loader_path/Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER).tests";
|
|
SDKROOT = iphoneos;
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/bitchat.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/bitchat";
|
|
};
|
|
name = Debug;
|
|
};
|
|
0DACAA261446D178EDD30ECA /* Release configuration for PBXNativeTarget "bitchatTests_iOS" */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReferenceAnchor = A6E367C92E76469E0032EA8A /* Configs */;
|
|
baseConfigurationReferenceRelativePath = Release.xcconfig;
|
|
buildSettings = {
|
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
CODE_SIGNING_ALLOWED = YES;
|
|
CODE_SIGNING_REQUIRED = YES;
|
|
CODE_SIGN_STYLE = "$(CODE_SIGN_STYLE)";
|
|
INFOPLIST_FILE = bitchatTests/Info.plist;
|
|
IPHONEOS_DEPLOYMENT_TARGET = "$(IPHONEOS_DEPLOYMENT_TARGET)";
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
"@loader_path/Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER).tests";
|
|
SDKROOT = iphoneos;
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/bitchat.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/bitchat";
|
|
};
|
|
name = Release;
|
|
};
|
|
147FDAE548082D5B921C6F0B /* Release configuration for PBXNativeTarget "bitchatTests_macOS" */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReferenceAnchor = A6E367C92E76469E0032EA8A /* Configs */;
|
|
baseConfigurationReferenceRelativePath = Release.xcconfig;
|
|
buildSettings = {
|
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
CODE_SIGNING_ALLOWED = YES;
|
|
CODE_SIGNING_REQUIRED = YES;
|
|
CODE_SIGN_STYLE = "$(CODE_SIGN_STYLE)";
|
|
COMBINE_HIDPI_IMAGES = YES;
|
|
DEAD_CODE_STRIPPING = YES;
|
|
INFOPLIST_FILE = bitchatTests/Info.plist;
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/../Frameworks",
|
|
"@loader_path/../Frameworks",
|
|
);
|
|
MACOSX_DEPLOYMENT_TARGET = "$(MACOSX_DEPLOYMENT_TARGET)";
|
|
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER).tests";
|
|
SDKROOT = macosx;
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/bitchat.app/Contents/MacOS/bitchat";
|
|
};
|
|
name = Release;
|
|
};
|
|
3DCF45111852FB2AEBE05E31 /* Release configuration for PBXNativeTarget "bitchatShareExtension" */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReferenceAnchor = A6E367C92E76469E0032EA8A /* Configs */;
|
|
baseConfigurationReferenceRelativePath = Release.xcconfig;
|
|
buildSettings = {
|
|
CODE_SIGNING_ALLOWED = YES;
|
|
CODE_SIGNING_REQUIRED = YES;
|
|
CODE_SIGN_ALLOW_ENTITLEMENTS_MODIFICATION = YES;
|
|
CODE_SIGN_ENTITLEMENTS = bitchatShareExtension/bitchatShareExtension.entitlements;
|
|
CODE_SIGN_STYLE = "$(CODE_SIGN_STYLE)";
|
|
INFOPLIST_FILE = bitchatShareExtension/Info.plist;
|
|
INFOPLIST_KEY_CFBundleDisplayName = bitchat;
|
|
IPHONEOS_DEPLOYMENT_TARGET = "$(IPHONEOS_DEPLOYMENT_TARGET)";
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
"@executable_path/../../Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER).ShareExtension";
|
|
SDKROOT = iphoneos;
|
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
|
SUPPORTS_MACCATALYST = NO;
|
|
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
TARGETED_DEVICE_FAMILY = 1;
|
|
};
|
|
name = Release;
|
|
};
|
|
702E7395723CADA4B830F4A9 /* Debug configuration for PBXNativeTarget "bitchat_iOS" */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReferenceAnchor = A6E367C92E76469E0032EA8A /* Configs */;
|
|
baseConfigurationReferenceRelativePath = Debug.xcconfig;
|
|
buildSettings = {
|
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconDebug;
|
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
|
CODE_SIGNING_ALLOWED = YES;
|
|
CODE_SIGNING_REQUIRED = YES;
|
|
CODE_SIGN_ENTITLEMENTS = bitchat/bitchat.entitlements;
|
|
CODE_SIGN_STYLE = "$(CODE_SIGN_STYLE)";
|
|
DEVELOPMENT_ASSET_PATHS = bitchat/_PreviewHelpers;
|
|
ENABLE_PREVIEWS = NO;
|
|
INFOPLIST_FILE = bitchat/Info.plist;
|
|
INFOPLIST_KEY_CFBundleDisplayName = bitchat;
|
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
|
|
IPHONEOS_DEPLOYMENT_TARGET = "$(IPHONEOS_DEPLOYMENT_TARGET)";
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
|
|
PRODUCT_NAME = bitchat;
|
|
SDKROOT = iphoneos;
|
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
|
SUPPORTS_MACCATALYST = NO;
|
|
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
TARGETED_DEVICE_FAMILY = 1;
|
|
};
|
|
name = Debug;
|
|
};
|
|
7FA2BADBF3B325125030CAB1 /* Debug configuration for PBXNativeTarget "bitchatTests_macOS" */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReferenceAnchor = A6E367C92E76469E0032EA8A /* Configs */;
|
|
baseConfigurationReferenceRelativePath = Debug.xcconfig;
|
|
buildSettings = {
|
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
CODE_SIGNING_ALLOWED = YES;
|
|
CODE_SIGNING_REQUIRED = YES;
|
|
CODE_SIGN_STYLE = "$(CODE_SIGN_STYLE)";
|
|
COMBINE_HIDPI_IMAGES = YES;
|
|
DEAD_CODE_STRIPPING = YES;
|
|
INFOPLIST_FILE = bitchatTests/Info.plist;
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/../Frameworks",
|
|
"@loader_path/../Frameworks",
|
|
);
|
|
MACOSX_DEPLOYMENT_TARGET = "$(MACOSX_DEPLOYMENT_TARGET)";
|
|
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER).tests";
|
|
SDKROOT = macosx;
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/bitchat.app/Contents/MacOS/bitchat";
|
|
};
|
|
name = Debug;
|
|
};
|
|
B36671AEACCBF92BE10852E9 /* Release configuration for PBXNativeTarget "bitchat_iOS" */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReferenceAnchor = A6E367C92E76469E0032EA8A /* Configs */;
|
|
baseConfigurationReferenceRelativePath = Release.xcconfig;
|
|
buildSettings = {
|
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
|
CODE_SIGNING_ALLOWED = YES;
|
|
CODE_SIGNING_REQUIRED = YES;
|
|
CODE_SIGN_ENTITLEMENTS = bitchat/bitchat.entitlements;
|
|
CODE_SIGN_STYLE = "$(CODE_SIGN_STYLE)";
|
|
DEVELOPMENT_ASSET_PATHS = bitchat/_PreviewHelpers;
|
|
ENABLE_PREVIEWS = YES;
|
|
INFOPLIST_FILE = bitchat/Info.plist;
|
|
INFOPLIST_KEY_CFBundleDisplayName = bitchat;
|
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
|
|
IPHONEOS_DEPLOYMENT_TARGET = "$(IPHONEOS_DEPLOYMENT_TARGET)";
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
|
|
PRODUCT_NAME = bitchat;
|
|
SDKROOT = iphoneos;
|
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
|
SUPPORTS_MACCATALYST = NO;
|
|
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
TARGETED_DEVICE_FAMILY = 1;
|
|
};
|
|
name = Release;
|
|
};
|
|
BB044400A0F06B93F22D0D55 /* Release configuration for PBXNativeTarget "bitchat_macOS" */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReferenceAnchor = A6E367C92E76469E0032EA8A /* Configs */;
|
|
baseConfigurationReferenceRelativePath = Release.xcconfig;
|
|
buildSettings = {
|
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
|
CODE_SIGNING_ALLOWED = YES;
|
|
CODE_SIGNING_REQUIRED = YES;
|
|
CODE_SIGN_ENTITLEMENTS = "bitchat/bitchat-macOS.entitlements";
|
|
CODE_SIGN_STYLE = "$(CODE_SIGN_STYLE)";
|
|
COMBINE_HIDPI_IMAGES = YES;
|
|
DEAD_CODE_STRIPPING = YES;
|
|
ENABLE_PREVIEWS = YES;
|
|
INFOPLIST_FILE = bitchat/Info.plist;
|
|
INFOPLIST_KEY_CFBundleDisplayName = bitchat;
|
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/../Frameworks",
|
|
);
|
|
MACOSX_DEPLOYMENT_TARGET = "$(MACOSX_DEPLOYMENT_TARGET)";
|
|
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
|
|
PRODUCT_NAME = bitchat;
|
|
REGISTER_APP_GROUPS = YES;
|
|
SDKROOT = macosx;
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
};
|
|
name = Release;
|
|
};
|
|
BF0D85727BCB6E346962F419 /* Release configuration for PBXProject "bitchat" */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
|
CLANG_ANALYZER_NONNULL = YES;
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
CLANG_CXX_LIBRARY = "libc++";
|
|
CLANG_ENABLE_MODULES = YES;
|
|
CLANG_ENABLE_OBJC_ARC = YES;
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
CLANG_WARN_COMMA = YES;
|
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
|
CLANG_WARN_EMPTY_BODY = YES;
|
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
CLANG_WARN_INT_CONVERSION = YES;
|
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
COPY_PHASE_STRIP = NO;
|
|
CURRENT_PROJECT_VERSION = "$(CURRENT_PROJECT_VERSION)";
|
|
DEAD_CODE_STRIPPING = YES;
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)";
|
|
ENABLE_NS_ASSERTIONS = NO;
|
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
IPHONEOS_DEPLOYMENT_TARGET = "$(IPHONEOS_DEPLOYMENT_TARGET)";
|
|
MACOSX_DEPLOYMENT_TARGET = "$(MACOSX_DEPLOYMENT_TARGET)";
|
|
MTL_ENABLE_DEBUG_INFO = NO;
|
|
MTL_FAST_MATH = YES;
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
STRING_CATALOG_GENERATE_SYMBOLS = NO;
|
|
SWIFT_COMPILATION_MODE = wholemodule;
|
|
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
};
|
|
name = Release;
|
|
};
|
|
CC79F65842D42034ACEE79B7 /* Debug configuration for PBXNativeTarget "bitchat_macOS" */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReferenceAnchor = A6E367C92E76469E0032EA8A /* Configs */;
|
|
baseConfigurationReferenceRelativePath = Debug.xcconfig;
|
|
buildSettings = {
|
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconDebug;
|
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
|
CODE_SIGNING_ALLOWED = YES;
|
|
CODE_SIGNING_REQUIRED = YES;
|
|
CODE_SIGN_ENTITLEMENTS = "bitchat/bitchat-macOS.entitlements";
|
|
CODE_SIGN_STYLE = "$(CODE_SIGN_STYLE)";
|
|
COMBINE_HIDPI_IMAGES = YES;
|
|
DEAD_CODE_STRIPPING = YES;
|
|
ENABLE_PREVIEWS = NO;
|
|
INFOPLIST_FILE = bitchat/Info.plist;
|
|
INFOPLIST_KEY_CFBundleDisplayName = bitchat;
|
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/../Frameworks",
|
|
);
|
|
MACOSX_DEPLOYMENT_TARGET = "$(MACOSX_DEPLOYMENT_TARGET)";
|
|
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
|
|
PRODUCT_NAME = bitchat;
|
|
REGISTER_APP_GROUPS = YES;
|
|
SDKROOT = macosx;
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
};
|
|
name = Debug;
|
|
};
|
|
D8C5BF109BB2630752185FA0 /* Debug configuration for PBXProject "bitchat" */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
|
CLANG_ANALYZER_NONNULL = YES;
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
CLANG_CXX_LIBRARY = "libc++";
|
|
CLANG_ENABLE_MODULES = YES;
|
|
CLANG_ENABLE_OBJC_ARC = YES;
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
CLANG_WARN_COMMA = YES;
|
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
|
CLANG_WARN_EMPTY_BODY = YES;
|
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
CLANG_WARN_INT_CONVERSION = YES;
|
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
COPY_PHASE_STRIP = NO;
|
|
CURRENT_PROJECT_VERSION = "$(CURRENT_PROJECT_VERSION)";
|
|
DEAD_CODE_STRIPPING = YES;
|
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)";
|
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
ENABLE_TESTABILITY = YES;
|
|
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
GCC_DYNAMIC_NO_PIC = NO;
|
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
GCC_OPTIMIZATION_LEVEL = 0;
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
"$(inherited)",
|
|
"DEBUG=1",
|
|
);
|
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
IPHONEOS_DEPLOYMENT_TARGET = "$(IPHONEOS_DEPLOYMENT_TARGET)";
|
|
MACOSX_DEPLOYMENT_TARGET = "$(MACOSX_DEPLOYMENT_TARGET)";
|
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
MTL_FAST_MATH = YES;
|
|
ONLY_ACTIVE_ARCH = YES;
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
STRING_CATALOG_GENERATE_SYMBOLS = NO;
|
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
};
|
|
name = Debug;
|
|
};
|
|
DAC5E82049F8A97360BE63D6 /* Debug configuration for PBXNativeTarget "bitchatShareExtension" */ = {
|
|
isa = XCBuildConfiguration;
|
|
baseConfigurationReferenceAnchor = A6E367C92E76469E0032EA8A /* Configs */;
|
|
baseConfigurationReferenceRelativePath = Debug.xcconfig;
|
|
buildSettings = {
|
|
CODE_SIGNING_ALLOWED = YES;
|
|
CODE_SIGNING_REQUIRED = YES;
|
|
CODE_SIGN_ALLOW_ENTITLEMENTS_MODIFICATION = YES;
|
|
CODE_SIGN_ENTITLEMENTS = bitchatShareExtension/bitchatShareExtension.entitlements;
|
|
CODE_SIGN_STYLE = "$(CODE_SIGN_STYLE)";
|
|
INFOPLIST_FILE = bitchatShareExtension/Info.plist;
|
|
INFOPLIST_KEY_CFBundleDisplayName = bitchat;
|
|
IPHONEOS_DEPLOYMENT_TARGET = "$(IPHONEOS_DEPLOYMENT_TARGET)";
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
"@executable_path/../../Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER).ShareExtension";
|
|
SDKROOT = iphoneos;
|
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
|
SUPPORTS_MACCATALYST = NO;
|
|
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
|
SWIFT_VERSION = "$(SWIFT_VERSION)";
|
|
TARGETED_DEVICE_FAMILY = 1;
|
|
};
|
|
name = Debug;
|
|
};
|
|
/* End XCBuildConfiguration section */
|
|
|
|
/* Begin XCConfigurationList section */
|
|
1C27B5BA3DB46DDF0DBFEF62 /* Build configuration list for PBXNativeTarget "bitchatTests_macOS" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
7FA2BADBF3B325125030CAB1 /* Debug configuration for PBXNativeTarget "bitchatTests_macOS" */,
|
|
147FDAE548082D5B921C6F0B /* Release configuration for PBXNativeTarget "bitchatTests_macOS" */,
|
|
);
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
38C4AF6313E5037F25CEF30B /* Build configuration list for PBXNativeTarget "bitchatTests_iOS" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
077A5203074247CF8F766E2F /* Debug configuration for PBXNativeTarget "bitchatTests_iOS" */,
|
|
0DACAA261446D178EDD30ECA /* Release configuration for PBXNativeTarget "bitchatTests_iOS" */,
|
|
);
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
3EA424CBD51200895D361189 /* Build configuration list for PBXProject "bitchat" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
D8C5BF109BB2630752185FA0 /* Debug configuration for PBXProject "bitchat" */,
|
|
BF0D85727BCB6E346962F419 /* Release configuration for PBXProject "bitchat" */,
|
|
);
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
53EADEF7546F94DDF82271B9 /* Build configuration list for PBXNativeTarget "bitchat_iOS" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
702E7395723CADA4B830F4A9 /* Debug configuration for PBXNativeTarget "bitchat_iOS" */,
|
|
B36671AEACCBF92BE10852E9 /* Release configuration for PBXNativeTarget "bitchat_iOS" */,
|
|
);
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
DA5644925338B8189B035657 /* Build configuration list for PBXNativeTarget "bitchat_macOS" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
CC79F65842D42034ACEE79B7 /* Debug configuration for PBXNativeTarget "bitchat_macOS" */,
|
|
BB044400A0F06B93F22D0D55 /* Release configuration for PBXNativeTarget "bitchat_macOS" */,
|
|
);
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
E4EA6DC648DF55FF84032EB5 /* Build configuration list for PBXNativeTarget "bitchatShareExtension" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
DAC5E82049F8A97360BE63D6 /* Debug configuration for PBXNativeTarget "bitchatShareExtension" */,
|
|
3DCF45111852FB2AEBE05E31 /* Release configuration for PBXNativeTarget "bitchatShareExtension" */,
|
|
);
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
/* End XCConfigurationList section */
|
|
|
|
/* Begin XCLocalSwiftPackageReference section */
|
|
A6BCF9462F80953E001CF9B9 /* XCLocalSwiftPackageReference "localPackages/BitFoundation" */ = {
|
|
isa = XCLocalSwiftPackageReference;
|
|
relativePath = localPackages/BitFoundation;
|
|
};
|
|
A6E3E56E2E77036A0032EA8A /* XCLocalSwiftPackageReference "localPackages/BitLogger" */ = {
|
|
isa = XCLocalSwiftPackageReference;
|
|
relativePath = localPackages/BitLogger;
|
|
};
|
|
A6E3EA7D2E7706720032EA8A /* XCLocalSwiftPackageReference "localPackages/Arti" */ = {
|
|
isa = XCLocalSwiftPackageReference;
|
|
relativePath = localPackages/Arti;
|
|
};
|
|
/* End XCLocalSwiftPackageReference section */
|
|
|
|
/* Begin XCRemoteSwiftPackageReference section */
|
|
B8C407587481BBB190741C93 /* XCRemoteSwiftPackageReference "swift-secp256k1" */ = {
|
|
isa = XCRemoteSwiftPackageReference;
|
|
repositoryURL = "https://github.com/21-DOT-DEV/swift-secp256k1";
|
|
requirement = {
|
|
kind = exactVersion;
|
|
version = 0.21.1;
|
|
};
|
|
};
|
|
/* End XCRemoteSwiftPackageReference section */
|
|
|
|
/* Begin XCSwiftPackageProductDependency section */
|
|
4EB6BA1B8464F1EA38F4E286 /* P256K */ = {
|
|
isa = XCSwiftPackageProductDependency;
|
|
package = B8C407587481BBB190741C93 /* XCRemoteSwiftPackageReference "swift-secp256k1" */;
|
|
productName = P256K;
|
|
};
|
|
A6BCF9472F80953E001CF9B9 /* BitFoundation */ = {
|
|
isa = XCSwiftPackageProductDependency;
|
|
productName = BitFoundation;
|
|
};
|
|
A6BCF9492F809550001CF9B9 /* BitFoundation */ = {
|
|
isa = XCSwiftPackageProductDependency;
|
|
package = A6BCF9462F80953E001CF9B9 /* XCLocalSwiftPackageReference "localPackages/BitFoundation" */;
|
|
productName = BitFoundation;
|
|
};
|
|
A6E3E56F2E77036A0032EA8A /* BitLogger */ = {
|
|
isa = XCSwiftPackageProductDependency;
|
|
productName = BitLogger;
|
|
};
|
|
A6E3E5712E7703760032EA8A /* BitLogger */ = {
|
|
isa = XCSwiftPackageProductDependency;
|
|
productName = BitLogger;
|
|
};
|
|
A6E3EA7E2E7706720032EA8A /* Tor */ = {
|
|
isa = XCSwiftPackageProductDependency;
|
|
productName = Tor;
|
|
};
|
|
A6E3EA802E7706A80032EA8A /* Tor */ = {
|
|
isa = XCSwiftPackageProductDependency;
|
|
productName = Tor;
|
|
};
|
|
B1D9136AA0083366353BFA2F /* P256K */ = {
|
|
isa = XCSwiftPackageProductDependency;
|
|
package = B8C407587481BBB190741C93 /* XCRemoteSwiftPackageReference "swift-secp256k1" */;
|
|
productName = P256K;
|
|
};
|
|
/* End XCSwiftPackageProductDependency section */
|
|
};
|
|
rootObject = 475D96681D0EA0AE57A4E06E /* Project object */;
|
|
}
|