[traffic][ios] Make HttpTraffSource configurable in Preferences

Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
This commit is contained in:
Yannik Bloscheck
2025-08-06 16:54:03 +02:00
parent dde50bd0a1
commit 73a70d943e
9 changed files with 387 additions and 0 deletions

View File

@@ -1,6 +1,12 @@
NS_SWIFT_NAME(SettingsBridge) NS_SWIFT_NAME(SettingsBridge)
@interface MWMSettings : NSObject @interface MWMSettings : NSObject
+ (BOOL)liveTrafficEnabled;
+ (void)setLiveTrafficEnabled:(BOOL)liveTrafficEnabled;
+ (NSURL *)liveTrafficUrl;
+ (void)setLiveTrafficUrl:(NSURL *)liveTrafficUrl;
+ (BOOL)buildings3dViewEnabled; + (BOOL)buildings3dViewEnabled;
+ (void)setBuildings3dViewEnabled:(BOOL)buildings3dViewEnabled; + (void)setBuildings3dViewEnabled:(BOOL)buildings3dViewEnabled;

View File

@@ -26,6 +26,40 @@ NSString * const kUDFileLoggingEnabledKey = @"FileLoggingEnabledKey";
@implementation MWMSettings @implementation MWMSettings
+ (BOOL)liveTrafficEnabled;
{
return GetFramework().LoadTrafficHttpEnabled();
}
+ (void)setLiveTrafficEnabled:(BOOL)liveTrafficEnabled;
{
auto &f = GetFramework();
f.SaveTrafficHttpEnabled(liveTrafficEnabled);
f.SetTrafficHttpEnabled(liveTrafficEnabled);
}
+ (NSURL *)liveTrafficUrl;
{
NSString * link = @(GetFramework().LoadTrafficHttpUrl().c_str());
if ([link length] == 0) {
return nil;
} else {
return [NSURL URLWithString:link];
}
}
+ (void)setLiveTrafficUrl:(NSURL *)liveTrafficUrl;
{
auto &f = GetFramework();
if (liveTrafficUrl == nil) {
f.SaveTrafficHttpUrl(@"".UTF8String);
f.SetTrafficHttpUrl(@"".UTF8String);
} else {
f.SaveTrafficHttpUrl(liveTrafficUrl.absoluteString.UTF8String);
f.SetTrafficHttpUrl(liveTrafficUrl.absoluteString.UTF8String);
}
}
+ (BOOL)buildings3dViewEnabled; + (BOOL)buildings3dViewEnabled;
{ {
bool _ = true, on = true; bool _ = true, on = true;

View File

@@ -696,6 +696,13 @@
"editor_place_doesnt_exist" = "Place does not exist"; "editor_place_doesnt_exist" = "Place does not exist";
"text_more_button" = "…more"; "text_more_button" = "…more";
/* Live traffic data */
"traffic_http" = "Live Traffic";
"traffic_http_enabled" = "Enable live traffic data";
"traffic_http_enabled_description" = "When enabled, the app will periodically retrieve traffic information from the configured URL.";
"traffic_http_url" = "Traffic service URL";
"traffic_http_url_not_set" = "Not set";
/* Phone number error message */ /* Phone number error message */
"error_enter_correct_phone" = "Enter a valid phone number"; "error_enter_correct_phone" = "Enter a valid phone number";
"error_enter_correct_web" = "Enter a valid web address"; "error_enter_correct_web" = "Enter a valid web address";

View File

@@ -714,6 +714,13 @@
"editor_place_doesnt_exist" = "Place does not exist"; "editor_place_doesnt_exist" = "Place does not exist";
"text_more_button" = "…more"; "text_more_button" = "…more";
/* Live traffic data */
"traffic_http" = "Live Traffic";
"traffic_http_enabled" = "Enable live traffic data";
"traffic_http_enabled_description" = "When enabled, the app will periodically retrieve traffic information from the configured URL.";
"traffic_http_url" = "Traffic service URL";
"traffic_http_url_not_set" = "Not set";
/* Phone number error message */ /* Phone number error message */
"error_enter_correct_phone" = "Enter a valid phone number"; "error_enter_correct_phone" = "Enter a valid phone number";
"error_enter_correct_web" = "Enter a valid web address"; "error_enter_correct_web" = "Enter a valid web address";

View File

@@ -15,6 +15,7 @@
272F1F3B2E0EE0A300FA52EF /* NoExistingProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 272F1F3A2E0EE09500FA52EF /* NoExistingProfileView.swift */; }; 272F1F3B2E0EE0A300FA52EF /* NoExistingProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 272F1F3A2E0EE09500FA52EF /* NoExistingProfileView.swift */; };
272F1F3D2E0EE0C800FA52EF /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 272F1F3C2E0EE0C400FA52EF /* ProfileView.swift */; }; 272F1F3D2E0EE0C800FA52EF /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 272F1F3C2E0EE0C400FA52EF /* ProfileView.swift */; };
272F1F462E0EEF9400FA52EF /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 272F1F452E0EEF8B00FA52EF /* SafariView.swift */; }; 272F1F462E0EEF9400FA52EF /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 272F1F452E0EEF8B00FA52EF /* SafariView.swift */; };
2747205A2E439FBA00C516DF /* libtraffxml.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 274720592E439FBA00C516DF /* libtraffxml.a */; };
2765D1D02E13F9C20005CA2B /* BridgeControllers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2765D1CD2E13F9BC0005CA2B /* BridgeControllers.swift */; }; 2765D1D02E13F9C20005CA2B /* BridgeControllers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2765D1CD2E13F9BC0005CA2B /* BridgeControllers.swift */; };
27697F742E25177600FBD913 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F732E25177300FBD913 /* AboutView.swift */; }; 27697F742E25177600FBD913 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F732E25177300FBD913 /* AboutView.swift */; };
27697F7F2E254A5500FBD913 /* CopyrightView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F7C2E254A5000FBD913 /* CopyrightView.swift */; }; 27697F7F2E254A5500FBD913 /* CopyrightView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F7C2E254A5000FBD913 /* CopyrightView.swift */; };
@@ -774,6 +775,7 @@
272F1F3A2E0EE09500FA52EF /* NoExistingProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoExistingProfileView.swift; sourceTree = "<group>"; }; 272F1F3A2E0EE09500FA52EF /* NoExistingProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoExistingProfileView.swift; sourceTree = "<group>"; };
272F1F3C2E0EE0C400FA52EF /* ProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = "<group>"; }; 272F1F3C2E0EE0C400FA52EF /* ProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = "<group>"; };
272F1F452E0EEF8B00FA52EF /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = "<group>"; }; 272F1F452E0EEF8B00FA52EF /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = "<group>"; };
274720592E439FBA00C516DF /* libtraffxml.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libtraffxml.a; sourceTree = BUILT_PRODUCTS_DIR; };
2765D1CD2E13F9BC0005CA2B /* BridgeControllers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BridgeControllers.swift; sourceTree = "<group>"; }; 2765D1CD2E13F9BC0005CA2B /* BridgeControllers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BridgeControllers.swift; sourceTree = "<group>"; };
27697F732E25177300FBD913 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; }; 27697F732E25177300FBD913 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; };
27697F7C2E254A5000FBD913 /* CopyrightView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CopyrightView.swift; sourceTree = "<group>"; }; 27697F7C2E254A5000FBD913 /* CopyrightView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CopyrightView.swift; sourceTree = "<group>"; };
@@ -1813,6 +1815,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
2747205A2E439FBA00C516DF /* libtraffxml.a in Frameworks */,
FAF9DDA32A86DC54000D7037 /* libharfbuzz.a in Frameworks */, FAF9DDA32A86DC54000D7037 /* libharfbuzz.a in Frameworks */,
FA456C3C26BDC6AD00B83C20 /* Chart.framework in Frameworks */, FA456C3C26BDC6AD00B83C20 /* Chart.framework in Frameworks */,
FA853BF326BC5DE50026D455 /* libshaders.a in Frameworks */, FA853BF326BC5DE50026D455 /* libshaders.a in Frameworks */,
@@ -2046,6 +2049,7 @@
29B97323FDCFA39411CA2CEA /* Frameworks */ = { 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
274720592E439FBA00C516DF /* libtraffxml.a */,
FAF9DDA22A86DC54000D7037 /* libharfbuzz.a */, FAF9DDA22A86DC54000D7037 /* libharfbuzz.a */,
FA456C3B26BDC6AD00B83C20 /* Chart.framework */, FA456C3B26BDC6AD00B83C20 /* Chart.framework */,
FA853BF226BC5DE50026D455 /* libshaders.a */, FA853BF226BC5DE50026D455 /* libshaders.a */,

View File

@@ -373,6 +373,28 @@ import Combine
} }
/// If live traffic data should be used
@objc static var hasLiveTraffic: Bool {
get {
return SettingsBridge.liveTrafficEnabled()
}
set {
SettingsBridge.setLiveTrafficEnabled(newValue)
}
}
/// The url of the live traffic data server
@objc static var liveTrafficServerUrl: URL? {
get {
return SettingsBridge.liveTrafficUrl()
}
set {
SettingsBridge.setLiveTrafficUrl(newValue)
}
}
// MARK: Methods // MARK: Methods

View File

@@ -44,6 +44,14 @@ struct SettingsNavigationView: View {
@State var shouldAvoidMotorwaysWhileRouting: Bool = false @State var shouldAvoidMotorwaysWhileRouting: Bool = false
/// If live traffic data should be used
@State var hasLiveTraffic: Bool = false
/// The url of the live traffic data server
@State var liveTrafficServerUrlString: String = ""
/// The actual view /// The actual view
var body: some View { var body: some View {
List { List {
@@ -123,6 +131,24 @@ struct SettingsNavigationView: View {
} header: { } header: {
Text("driving_options_title") Text("driving_options_title")
} }
Section {
Toggle(isOn: $hasLiveTraffic) {
VStack(alignment: .leading) {
Text("traffic_http_enabled")
Text("traffic_http_enabled_description")
.font(.footnote)
.foregroundStyle(.secondary)
}
}
.tint(.accent)
TextField("traffic_http_url", text: $liveTrafficServerUrlString, prompt: Text("traffic_http_url_not_set"))
.tint(.accent)
} header: {
Text("traffic_http")
}
} }
.accentColor(.accent) .accentColor(.accent)
.navigationViewStyle(StackNavigationViewStyle()) .navigationViewStyle(StackNavigationViewStyle())
@@ -138,6 +164,8 @@ struct SettingsNavigationView: View {
shouldAvoidUnpavedRoadsWhileRouting = Settings.shouldAvoidUnpavedRoadsWhileRouting shouldAvoidUnpavedRoadsWhileRouting = Settings.shouldAvoidUnpavedRoadsWhileRouting
shouldAvoidFerriesWhileRouting = Settings.shouldAvoidFerriesWhileRouting shouldAvoidFerriesWhileRouting = Settings.shouldAvoidFerriesWhileRouting
shouldAvoidMotorwaysWhileRouting = Settings.shouldAvoidMotorwaysWhileRouting shouldAvoidMotorwaysWhileRouting = Settings.shouldAvoidMotorwaysWhileRouting
hasLiveTraffic = Settings.hasLiveTraffic
liveTrafficServerUrlString = Settings.liveTrafficServerUrl?.absoluteString ?? ""
} }
.onChange(of: hasPerspectiveViewWhileRouting) { changedHasPerspectiveViewWhileRouting in .onChange(of: hasPerspectiveViewWhileRouting) { changedHasPerspectiveViewWhileRouting in
Settings.hasPerspectiveViewWhileRouting = changedHasPerspectiveViewWhileRouting Settings.hasPerspectiveViewWhileRouting = changedHasPerspectiveViewWhileRouting
@@ -174,5 +202,15 @@ struct SettingsNavigationView: View {
.onChange(of: shouldAvoidMotorwaysWhileRouting) { changedShouldAvoidMotorwaysWhileRouting in .onChange(of: shouldAvoidMotorwaysWhileRouting) { changedShouldAvoidMotorwaysWhileRouting in
Settings.shouldAvoidMotorwaysWhileRouting = changedShouldAvoidMotorwaysWhileRouting Settings.shouldAvoidMotorwaysWhileRouting = changedShouldAvoidMotorwaysWhileRouting
} }
.onChange(of: hasLiveTraffic) { changedHasLiveTraffic in
Settings.hasLiveTraffic = changedHasLiveTraffic
}
.onChange(of: liveTrafficServerUrlString) { changedLiveTrafficServerUrlString in
if !changedLiveTrafficServerUrlString.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty, let changedLiveTrafficServerUrl = URL(string: changedLiveTrafficServerUrlString.trimmingCharacters(in: .whitespacesAndNewlines)) {
Settings.liveTrafficServerUrl = changedLiveTrafficServerUrl
} else {
Settings.liveTrafficServerUrl = nil
}
}
} }
} }

View File

@@ -157,6 +157,9 @@
<FileRef <FileRef
location = "container:traffic/traffic.xcodeproj"> location = "container:traffic/traffic.xcodeproj">
</FileRef> </FileRef>
<FileRef
location = "container:traffxml/traffxml.xcodeproj">
</FileRef>
<FileRef <FileRef
location = "group:transit/transit.xcodeproj"> location = "group:transit/transit.xcodeproj">
</FileRef> </FileRef>

View File

@@ -0,0 +1,266 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
2747204F2E439E3000C516DF /* traff_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2747203F2E439DDE00C516DF /* traff_decoder.cpp */; };
274720502E439E3000C516DF /* traff_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 274720452E439DDE00C516DF /* traff_source.cpp */; };
274720512E439E3000C516DF /* traff_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 274720412E439DDE00C516DF /* traff_model.cpp */; };
274720522E439E3000C516DF /* traff_model_xml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 274720432E439DDE00C516DF /* traff_model_xml.cpp */; };
274720532E439E3000C516DF /* traff_storage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 274720472E439DDE00C516DF /* traff_storage.cpp */; };
274720542E439E3000C516DF /* traff_decoder.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 2747203E2E439DDE00C516DF /* traff_decoder.hpp */; };
274720552E439E3000C516DF /* traff_model.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 274720402E439DDE00C516DF /* traff_model.hpp */; };
274720562E439E3000C516DF /* traff_storage.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 274720462E439DDE00C516DF /* traff_storage.hpp */; };
274720572E439E3000C516DF /* traff_source.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 274720442E439DDE00C516DF /* traff_source.hpp */; };
274720582E439E3000C516DF /* traff_model_xml.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 274720422E439DDE00C516DF /* traff_model_xml.hpp */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
2747203E2E439DDE00C516DF /* traff_decoder.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = traff_decoder.hpp; sourceTree = "<group>"; };
2747203F2E439DDE00C516DF /* traff_decoder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = traff_decoder.cpp; sourceTree = "<group>"; };
274720402E439DDE00C516DF /* traff_model.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = traff_model.hpp; sourceTree = "<group>"; };
274720412E439DDE00C516DF /* traff_model.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = traff_model.cpp; sourceTree = "<group>"; };
274720422E439DDE00C516DF /* traff_model_xml.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = traff_model_xml.hpp; sourceTree = "<group>"; };
274720432E439DDE00C516DF /* traff_model_xml.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = traff_model_xml.cpp; sourceTree = "<group>"; };
274720442E439DDE00C516DF /* traff_source.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = traff_source.hpp; sourceTree = "<group>"; };
274720452E439DDE00C516DF /* traff_source.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = traff_source.cpp; sourceTree = "<group>"; };
274720462E439DDE00C516DF /* traff_storage.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = traff_storage.hpp; sourceTree = "<group>"; };
274720472E439DDE00C516DF /* traff_storage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = traff_storage.cpp; sourceTree = "<group>"; };
67BECB4A1DDA43AF00FC4E99 /* libtraffxml.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libtraffxml.a; sourceTree = BUILT_PRODUCTS_DIR; };
67BECB581DDA43FB00FC4E99 /* common-debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "common-debug.xcconfig"; path = "../common-debug.xcconfig"; sourceTree = "<group>"; };
67BECB591DDA440100FC4E99 /* common-release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "common-release.xcconfig"; path = "../common-release.xcconfig"; sourceTree = "<group>"; };
FAFD413F26BBE3FC00D1DE1B /* libbase.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libbase.a; sourceTree = BUILT_PRODUCTS_DIR; };
FAFD414126BBE3FC00D1DE1B /* libcoding.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libcoding.a; sourceTree = BUILT_PRODUCTS_DIR; };
FAFD414326BBE88000D1DE1B /* libplatform.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libplatform.a; sourceTree = BUILT_PRODUCTS_DIR; };
FAFD414526BBE88700D1DE1B /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
FAFD414926BBE98B00D1DE1B /* libindexer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libindexer.a; sourceTree = BUILT_PRODUCTS_DIR; };
FAFD414B26BBE9BB00D1DE1B /* libicu.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libicu.a; sourceTree = BUILT_PRODUCTS_DIR; };
FAFD414D26BBE9C300D1DE1B /* libgeometry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libgeometry.a; sourceTree = BUILT_PRODUCTS_DIR; };
FAFD414F26BBE9C800D1DE1B /* libprotobuf.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libprotobuf.a; sourceTree = BUILT_PRODUCTS_DIR; };
FAFD415126BBE9E000D1DE1B /* librouting.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = librouting.a; sourceTree = BUILT_PRODUCTS_DIR; };
FAFD415326BBE9E800D1DE1B /* libsuccinct.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libsuccinct.a; sourceTree = BUILT_PRODUCTS_DIR; };
FAFD415526BBEA5600D1DE1B /* librouting_common.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = librouting_common.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
67BECB471DDA43AF00FC4E99 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
67BECB411DDA43AF00FC4E99 = {
isa = PBXGroup;
children = (
67BECB581DDA43FB00FC4E99 /* common-debug.xcconfig */,
67BECB591DDA440100FC4E99 /* common-release.xcconfig */,
67BECB5A1DDA449C00FC4E99 /* traffxml */,
67BECB4B1DDA43AF00FC4E99 /* Products */,
67BECB831DDA474400FC4E99 /* Frameworks */,
);
indentWidth = 2;
sourceTree = "<group>";
tabWidth = 2;
};
67BECB4B1DDA43AF00FC4E99 /* Products */ = {
isa = PBXGroup;
children = (
67BECB4A1DDA43AF00FC4E99 /* libtraffxml.a */,
);
name = Products;
sourceTree = "<group>";
};
67BECB5A1DDA449C00FC4E99 /* traffxml */ = {
isa = PBXGroup;
children = (
2747203E2E439DDE00C516DF /* traff_decoder.hpp */,
2747203F2E439DDE00C516DF /* traff_decoder.cpp */,
274720402E439DDE00C516DF /* traff_model.hpp */,
274720412E439DDE00C516DF /* traff_model.cpp */,
274720422E439DDE00C516DF /* traff_model_xml.hpp */,
274720432E439DDE00C516DF /* traff_model_xml.cpp */,
274720442E439DDE00C516DF /* traff_source.hpp */,
274720452E439DDE00C516DF /* traff_source.cpp */,
274720462E439DDE00C516DF /* traff_storage.hpp */,
274720472E439DDE00C516DF /* traff_storage.cpp */,
);
name = traffxml;
path = ../../traffxml;
sourceTree = "<group>";
};
67BECB831DDA474400FC4E99 /* Frameworks */ = {
isa = PBXGroup;
children = (
FAFD415526BBEA5600D1DE1B /* librouting_common.a */,
FAFD415326BBE9E800D1DE1B /* libsuccinct.a */,
FAFD415126BBE9E000D1DE1B /* librouting.a */,
FAFD414F26BBE9C800D1DE1B /* libprotobuf.a */,
FAFD414D26BBE9C300D1DE1B /* libgeometry.a */,
FAFD414B26BBE9BB00D1DE1B /* libicu.a */,
FAFD414926BBE98B00D1DE1B /* libindexer.a */,
FAFD414526BBE88700D1DE1B /* libz.tbd */,
FAFD414326BBE88000D1DE1B /* libplatform.a */,
FAFD413F26BBE3FC00D1DE1B /* libbase.a */,
FAFD414126BBE3FC00D1DE1B /* libcoding.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
67BECB481DDA43AF00FC4E99 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
274720542E439E3000C516DF /* traff_decoder.hpp in Headers */,
274720552E439E3000C516DF /* traff_model.hpp in Headers */,
274720562E439E3000C516DF /* traff_storage.hpp in Headers */,
274720572E439E3000C516DF /* traff_source.hpp in Headers */,
274720582E439E3000C516DF /* traff_model_xml.hpp in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
67BECB491DDA43AF00FC4E99 /* traffxml */ = {
isa = PBXNativeTarget;
buildConfigurationList = 67BECB551DDA43B000FC4E99 /* Build configuration list for PBXNativeTarget "traffxml" */;
buildPhases = (
67BECB461DDA43AF00FC4E99 /* Sources */,
67BECB471DDA43AF00FC4E99 /* Frameworks */,
67BECB481DDA43AF00FC4E99 /* Headers */,
);
buildRules = (
);
dependencies = (
);
name = traffxml;
productName = traffxml;
productReference = 67BECB4A1DDA43AF00FC4E99 /* libtraffxml.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
67BECB421DDA43AF00FC4E99 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
DefaultBuildSystemTypeForWorkspace = Latest;
LastUpgradeCheck = 1640;
TargetAttributes = {
67BECB491DDA43AF00FC4E99 = {
CreatedOnToolsVersion = 8.1;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 67BECB451DDA43AF00FC4E99 /* Build configuration list for PBXProject "traffxml" */;
compatibilityVersion = "Xcode 12.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 67BECB411DDA43AF00FC4E99;
productRefGroup = 67BECB4B1DDA43AF00FC4E99 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
67BECB491DDA43AF00FC4E99 /* traffxml */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
67BECB461DDA43AF00FC4E99 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2747204F2E439E3000C516DF /* traff_decoder.cpp in Sources */,
274720502E439E3000C516DF /* traff_source.cpp in Sources */,
274720512E439E3000C516DF /* traff_model.cpp in Sources */,
274720522E439E3000C516DF /* traff_model_xml.cpp in Sources */,
274720532E439E3000C516DF /* traff_storage.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
67BECB531DDA43B000FC4E99 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 67BECB581DDA43FB00FC4E99 /* common-debug.xcconfig */;
buildSettings = {
};
name = Debug;
};
67BECB541DDA43B000FC4E99 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 67BECB591DDA440100FC4E99 /* common-release.xcconfig */;
buildSettings = {
};
name = Release;
};
67BECB561DDA43B000FC4E99 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
EXECUTABLE_PREFIX = lib;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(OMIM_ROOT)/3party/pugixml/pugixml/src",
);
MACOSX_DEPLOYMENT_TARGET = 11.0;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
67BECB571DDA43B000FC4E99 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
EXECUTABLE_PREFIX = lib;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(OMIM_ROOT)/3party/pugixml/pugixml/src",
);
MACOSX_DEPLOYMENT_TARGET = 11.0;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
67BECB451DDA43AF00FC4E99 /* Build configuration list for PBXProject "traffxml" */ = {
isa = XCConfigurationList;
buildConfigurations = (
67BECB531DDA43B000FC4E99 /* Debug */,
67BECB541DDA43B000FC4E99 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
67BECB551DDA43B000FC4E99 /* Build configuration list for PBXNativeTarget "traffxml" */ = {
isa = XCConfigurationList;
buildConfigurations = (
67BECB561DDA43B000FC4E99 /* Debug */,
67BECB571DDA43B000FC4E99 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 67BECB421DDA43AF00FC4E99 /* Project object */;
}