Adds a cards/list toggle to the bookmarks screen. List mode is the existing screen, untouched and still the default; cards mode is the library presentation running on real bookmarks. Structure: - LibraryKit.swift holds what both the shipping screen and the prototype draw from — the paper palette, the Bookmark -> LibraryItem projection, the color card, and the tab strip. The prototype in Views/Prototypes keeps only its standalone chrome and sample data, so the two can no longer drift. - BookmarkActions.swift extracts the context menu and the podcast launch path out of BookmarkListRow. Cards and rows now offer exactly the same actions because they are the same code. The menu is a @ViewBuilder rather than a ViewModifier: each host already owns the sheets it presents, and a modifier would have forced a second copy of that state. - LibraryGridView.swift is the Bookmark-driven grid, with the same tap-to -open, long-press-for-menu, pagination and podcast sheets as the list. Two behaviors worth calling out: Tag tabs filter server-side through linkding's `#tag` search syntax. Filtering the loaded page client-side would only ever search the most recent 50 of 600+ bookmarks and quietly look empty; verified against the server that `q=#dev-tools` returns 64 tagged results where `q=dev-tools` returns 0. Leaving cards mode clears any tag filter. The classic list has no filter strip to display one, so a filter that survived the switch would be invisible and the list would look like it had lost bookmarks. The layout choice persists in @AppStorage. The toolbar button shows the layout it switches *to* — a two-state toggle labelled with its current state reads as a status light rather than a control. Verified on an iPhone 17 Pro simulator against the live linkding server in both layouts and both color schemes. Full test suite passes (16 tests). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgLHztZGaEHvS3KNeGQmRM
952 lines
51 KiB
Plaintext
952 lines
51 KiB
Plaintext
// !$*UTF8*$!
|
|
{
|
|
archiveVersion = 1;
|
|
classes = {
|
|
};
|
|
objectVersion = 77;
|
|
objects = {
|
|
|
|
/* Begin PBXBuildFile section */
|
|
031BC9E7B0107CD02F9BA846 /* SourceSpotlightIndexer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1656ED1A2E9858235FF98B2 /* SourceSpotlightIndexer.swift */; };
|
|
0360FE41EA05B1A6CAC53E5E /* MarksWidget.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 23F172EC9977CD5C51B228B9 /* MarksWidget.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
|
0479C0AA16E3AFDBD4414AD0 /* PodcastIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = F75DE8BE4B3A3E0E60B8BB03 /* PodcastIndex.swift */; };
|
|
1095DC18A31055ED40CD9323 /* LinkdingAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CCBB391B1E0E1E4EBE0EFC7 /* LinkdingAPI.swift */; };
|
|
14E1B3CE58D36BFF1A2199C1 /* OnboardingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22E006A11D594BFC00A9C4B4 /* OnboardingView.swift */; };
|
|
15077853ECD40C9B289FB608 /* LinkdingAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CCBB391B1E0E1E4EBE0EFC7 /* LinkdingAPI.swift */; };
|
|
1B04368962246251639D9590 /* AISummaryStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2860AAA865515225FB9FC65 /* AISummaryStore.swift */; };
|
|
212F713DCC289C48087B79AE /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB7728D15C17219ABFF3EFFE /* Log.swift */; };
|
|
22C814FD55D29B88D227C987 /* SpotlightBookmarkSearch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41DDBB04346F3BF06DE233D2 /* SpotlightBookmarkSearch.swift */; };
|
|
337E8272EEB3B10FD0868F76 /* IngestedSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DC9BBF1006495D75DE4A232 /* IngestedSource.swift */; };
|
|
3528AF5CB690BBCCF337581B /* Bookmark.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA428181B35885F7D9F4D55 /* Bookmark.swift */; };
|
|
4153FBF538C1D3F4BC96E4C5 /* LibraryKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA5C9BFD9C0DD3876CC32B3A /* LibraryKit.swift */; };
|
|
41F00F4E7FFC1C0ACF71E398 /* MarksApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = D92575C7C710347F226EC74A /* MarksApp.swift */; };
|
|
44E22B6D9EE5C54A06207AFD /* BookmarkSearchTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5A99F666A536D569171B55F /* BookmarkSearchTool.swift */; };
|
|
457FCE503CCA82C5F27C6C90 /* Bookmark.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA428181B35885F7D9F4D55 /* Bookmark.swift */; };
|
|
50F3BED92EBA34F863C9F8A0 /* LibraryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7510EB352E624C7C9656EA33 /* LibraryView.swift */; };
|
|
55CDFFAB5530D08861F85363 /* LibraryGridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BF2B010DADCCFBC282D37F0 /* LibraryGridView.swift */; };
|
|
5D86F3F0F603B248776916C7 /* BookmarksViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBFB5EFC9764B22A2622EA4A /* BookmarksViewModel.swift */; };
|
|
5ED7F0AB24549BA01757A39C /* PodcastPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4EB8C63735A267B81030CB5 /* PodcastPlayerView.swift */; };
|
|
66D5D90A5FAF842BCA0FE72D /* PodcastRequests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D27A97922BAEBDC9C5A7385C /* PodcastRequests.swift */; };
|
|
68BDDFF472DDF1854D08A9ED /* AskView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 217E6702DE1210AC38ED16D1 /* AskView.swift */; };
|
|
6BF0E1F0F4DEAF87B0B8DCF6 /* CollectionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE19F7619214271A8C12EEEB /* CollectionsView.swift */; };
|
|
706642006800745A0A0188D0 /* RandomBookmarkWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F73C2A0B8AB36C6F80D5FE /* RandomBookmarkWidget.swift */; };
|
|
706CCE40744D7F382AFFE429 /* BrowserView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 629C41E0BC28EB6359D50CFD /* BrowserView.swift */; };
|
|
70DE16F6334D0F3798C98064 /* IngestPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7D8DBB58B2F2EC835C9457 /* IngestPayload.swift */; };
|
|
76223AA04DF97B24C1490B20 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADEAC824576633CC77370262 /* ShareViewController.swift */; };
|
|
773C174263D08416248D0675 /* PodcastGenerationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 171EF75BF9BE4592DFA2C716 /* PodcastGenerationManager.swift */; };
|
|
778B82E075D4DAF5E8446D6F /* BookmarkOnscreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1EEDFAE9FCA24192640CA7A /* BookmarkOnscreen.swift */; };
|
|
8140EEEFBB7A3510A73D1A93 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 093402014727A338745A06DA /* SwiftUI.framework */; };
|
|
81F3155F05559C648FDEB36C /* IngestedSourceStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204F832C8114B6B9AB5BD8 /* IngestedSourceStore.swift */; };
|
|
8227B9E3B5EFF6427702F376 /* BookmarkAssistant.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6379451D7FD7090A9F01A01 /* BookmarkAssistant.swift */; };
|
|
83CC9BA3176B05358A307373 /* IngestPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7D8DBB58B2F2EC835C9457 /* IngestPayload.swift */; };
|
|
8456E89CFE607C2EC57BF466 /* ShareView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7A85A23A13D754F6A75E4D /* ShareView.swift */; };
|
|
849C9CB4E1E8A6ABA1BC7251 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C29CB878BC334639E6194E2 /* SettingsView.swift */; };
|
|
852A3E18661C190622FF5A85 /* AppIntents.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9803BA80BEAE9A3AE4AF5E7 /* AppIntents.framework */; };
|
|
8BD3FA025C082654D55374A2 /* MarksAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = F78AA3450BDFAC24591EE407 /* MarksAuth.swift */; };
|
|
8BDB7DAA6A2711B9499F5582 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 57D20912C19182A45914069B /* Assets.xcassets */; };
|
|
8F4BFD6C1322B508E8F52297 /* PodcastRequests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D27A97922BAEBDC9C5A7385C /* PodcastRequests.swift */; };
|
|
905FBD9468F488ACE4B81726 /* RecentPodcastsWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47CB3AAED5B64809B06A9650 /* RecentPodcastsWidget.swift */; };
|
|
927BAD5AD47217E3F396CDA7 /* TagsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B13B9F2D890C7953531AC0D2 /* TagsView.swift */; };
|
|
94CEF815D51433054412CB20 /* RecentBookmarksWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49C6260D1530C5C4F1AD063E /* RecentBookmarksWidget.swift */; };
|
|
95D9848F60EB303D9EACCDDA /* SourcesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDB1DA808EE8041C4546DAAB /* SourcesView.swift */; };
|
|
96698499C0501D0A897D7E08 /* BookmarkRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0C6ABE160A2C90EB965D811 /* BookmarkRow.swift */; };
|
|
969568D9996EB65550DAA24A /* ServerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C21567B95F5069BA946252 /* ServerConfig.swift */; };
|
|
A396A5DC6ED590D0CDB1024B /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0552C13335034219DECF4F62 /* WidgetKit.framework */; };
|
|
A8B8D58C5B68F54DC20126C1 /* BookmarksView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3C5E420F078D499B2D926 /* BookmarksView.swift */; };
|
|
AB0BF1F51887D25CC9D6EE1C /* SpotlightIndexer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A5FEE76168FA5AB1E047FEC /* SpotlightIndexer.swift */; };
|
|
AE2EA9C6B9016C9986ADC8EE /* AddBookmarkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB2D194AD325ECE80A04979E /* AddBookmarkView.swift */; };
|
|
AFB08279F8A146B56D7D7250 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0552C13335034219DECF4F62 /* WidgetKit.framework */; };
|
|
B085CDBFC47F0357D1A28911 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB7728D15C17219ABFF3EFFE /* Log.swift */; };
|
|
B08F151637384EA9E054AC5F /* ShareExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 938672D3D6ADC73B354B5EA5 /* ShareExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
|
B424D50BE9E6623A4DA15FDC /* String+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 759BA3FCF8BEE1D4EA1CDC17 /* String+Helpers.swift */; };
|
|
B5EC36EF81525C8FCD2D6C0A /* AnalyticsService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49685B8F3FEC72E8CF75843E /* AnalyticsService.swift */; };
|
|
B7AF3F940FEE7B8AC32628B6 /* MarksAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = F78AA3450BDFAC24591EE407 /* MarksAuth.swift */; };
|
|
BC866F8D6189334650ADCB95 /* BookmarkActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 240DBB87940F8D255A812EB2 /* BookmarkActions.swift */; };
|
|
BD2EAD8200FB69B95972146F /* ClaudeService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69D868AF1DAF3F1BBEACBFF6 /* ClaudeService.swift */; };
|
|
C3189071834E0F8898408C37 /* EditBookmarkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3A4B1E764CC88A774AF8EA5 /* EditBookmarkView.swift */; };
|
|
CD3013ED0FD018091D18F9FE /* BookmarkListRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6B10FBB227F426A2B597C8 /* BookmarkListRow.swift */; };
|
|
D00878A046AF53CBC130388E /* TagSuggester.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6905CD5B1864895E2F84C7DF /* TagSuggester.swift */; };
|
|
DA914D93102B9F872DDC2032 /* MarksWidgetBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE73381C52297CDB30AACCFB /* MarksWidgetBundle.swift */; };
|
|
DE32F3DC24D606926A559C06 /* IntentSnippetViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D8E2E470C9336209B7E8543 /* IntentSnippetViews.swift */; };
|
|
E056C1B84C267D7554F4D115 /* WidgetDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDC639E0783581A733F4C99 /* WidgetDataStore.swift */; };
|
|
E10B0B4EC9580342830EC0D2 /* MarksAppIntents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64E9DEC5CD89FF346E23A14F /* MarksAppIntents.swift */; };
|
|
E3C3E48E6DE9CA0CD00AEE48 /* PodcastLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11DC9EA7BF3AD8FE3D536319 /* PodcastLibrary.swift */; };
|
|
E5A8DE01BEB3BC7DBB7FB720 /* WidgetDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDC639E0783581A733F4C99 /* WidgetDataStore.swift */; };
|
|
EE540B8367519EDE679C1B70 /* SearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCC3BB2525F0F63445D419B9 /* SearchView.swift */; };
|
|
EFF8E4CD63CAE1342CE3A4F0 /* IntentSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6ACABF0CA940312B4195456 /* IntentSupport.swift */; };
|
|
F04066805A33E1A305C11F4F /* ServerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C21567B95F5069BA946252 /* ServerConfig.swift */; };
|
|
FBAE1329DD9C3152FBB53AD4 /* BookmarkEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D650D0784B847BFEDCB3141 /* BookmarkEntity.swift */; };
|
|
FD656A44CEE8AE28B136AD85 /* AppIntentsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7623601C25E481DF58371F2A /* AppIntentsTests.swift */; };
|
|
/* End PBXBuildFile section */
|
|
|
|
/* Begin PBXContainerItemProxy section */
|
|
22E9426D1CE4E3C473C5CD5D /* PBXContainerItemProxy */ = {
|
|
isa = PBXContainerItemProxy;
|
|
containerPortal = 0CC2596AE7F05EAF051B2FCD /* Project object */;
|
|
proxyType = 1;
|
|
remoteGlobalIDString = 61046BF39C48393DD96687A0;
|
|
remoteInfo = MarksWidget;
|
|
};
|
|
BD17B6B2972DB25FA605D8AA /* PBXContainerItemProxy */ = {
|
|
isa = PBXContainerItemProxy;
|
|
containerPortal = 0CC2596AE7F05EAF051B2FCD /* Project object */;
|
|
proxyType = 1;
|
|
remoteGlobalIDString = CF31B2655F8F30CF6DF3C26F;
|
|
remoteInfo = ShareExtension;
|
|
};
|
|
F63E42D8413C0F6ED8BB78CF /* PBXContainerItemProxy */ = {
|
|
isa = PBXContainerItemProxy;
|
|
containerPortal = 0CC2596AE7F05EAF051B2FCD /* Project object */;
|
|
proxyType = 1;
|
|
remoteGlobalIDString = 76C272776D8EBCCD3FB6715A;
|
|
remoteInfo = Marks;
|
|
};
|
|
/* End PBXContainerItemProxy section */
|
|
|
|
/* Begin PBXCopyFilesBuildPhase section */
|
|
93C7F00CFA9EABABB6323F6D /* Embed Foundation Extensions */ = {
|
|
isa = PBXCopyFilesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
dstPath = "";
|
|
dstSubfolderSpec = 13;
|
|
files = (
|
|
B08F151637384EA9E054AC5F /* ShareExtension.appex in Embed Foundation Extensions */,
|
|
0360FE41EA05B1A6CAC53E5E /* MarksWidget.appex in Embed Foundation Extensions */,
|
|
);
|
|
name = "Embed Foundation Extensions";
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXCopyFilesBuildPhase section */
|
|
|
|
/* Begin PBXFileReference section */
|
|
03D800669E343FF305468424 /* ShareExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ShareExtension.entitlements; sourceTree = "<group>"; };
|
|
0552C13335034219DECF4F62 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; };
|
|
07C21567B95F5069BA946252 /* ServerConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerConfig.swift; sourceTree = "<group>"; };
|
|
093402014727A338745A06DA /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; };
|
|
0A7D8DBB58B2F2EC835C9457 /* IngestPayload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IngestPayload.swift; sourceTree = "<group>"; };
|
|
0D2CC53B01DF0FE51ADE5FCB /* Marks.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Marks.entitlements; sourceTree = "<group>"; };
|
|
0EDC639E0783581A733F4C99 /* WidgetDataStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetDataStore.swift; sourceTree = "<group>"; };
|
|
11DC9EA7BF3AD8FE3D536319 /* PodcastLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PodcastLibrary.swift; sourceTree = "<group>"; };
|
|
171EF75BF9BE4592DFA2C716 /* PodcastGenerationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PodcastGenerationManager.swift; sourceTree = "<group>"; };
|
|
18204F832C8114B6B9AB5BD8 /* IngestedSourceStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IngestedSourceStore.swift; sourceTree = "<group>"; };
|
|
1A5FEE76168FA5AB1E047FEC /* SpotlightIndexer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpotlightIndexer.swift; sourceTree = "<group>"; };
|
|
1BF2B010DADCCFBC282D37F0 /* LibraryGridView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibraryGridView.swift; sourceTree = "<group>"; };
|
|
217E6702DE1210AC38ED16D1 /* AskView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AskView.swift; sourceTree = "<group>"; };
|
|
22E006A11D594BFC00A9C4B4 /* OnboardingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingView.swift; sourceTree = "<group>"; };
|
|
23F172EC9977CD5C51B228B9 /* MarksWidget.appex */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "wrapper.app-extension"; path = MarksWidget.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
240DBB87940F8D255A812EB2 /* BookmarkActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkActions.swift; sourceTree = "<group>"; };
|
|
41DDBB04346F3BF06DE233D2 /* SpotlightBookmarkSearch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpotlightBookmarkSearch.swift; sourceTree = "<group>"; };
|
|
47CB3AAED5B64809B06A9650 /* RecentPodcastsWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecentPodcastsWidget.swift; sourceTree = "<group>"; };
|
|
49685B8F3FEC72E8CF75843E /* AnalyticsService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsService.swift; sourceTree = "<group>"; };
|
|
49C6260D1530C5C4F1AD063E /* RecentBookmarksWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecentBookmarksWidget.swift; sourceTree = "<group>"; };
|
|
55D369E6D2B8B036685BBD13 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
|
57D20912C19182A45914069B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
|
5C29CB878BC334639E6194E2 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
|
|
5CCBB391B1E0E1E4EBE0EFC7 /* LinkdingAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkdingAPI.swift; sourceTree = "<group>"; };
|
|
629C41E0BC28EB6359D50CFD /* BrowserView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrowserView.swift; sourceTree = "<group>"; };
|
|
64E9DEC5CD89FF346E23A14F /* MarksAppIntents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarksAppIntents.swift; sourceTree = "<group>"; };
|
|
6905CD5B1864895E2F84C7DF /* TagSuggester.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagSuggester.swift; sourceTree = "<group>"; };
|
|
69D868AF1DAF3F1BBEACBFF6 /* ClaudeService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClaudeService.swift; sourceTree = "<group>"; };
|
|
7510EB352E624C7C9656EA33 /* LibraryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibraryView.swift; sourceTree = "<group>"; };
|
|
759BA3FCF8BEE1D4EA1CDC17 /* String+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Helpers.swift"; sourceTree = "<group>"; };
|
|
7623601C25E481DF58371F2A /* AppIntentsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIntentsTests.swift; sourceTree = "<group>"; };
|
|
7DC9BBF1006495D75DE4A232 /* IngestedSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IngestedSource.swift; sourceTree = "<group>"; };
|
|
86B2DE40098D2B39FFE1AC36 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
|
8CA428181B35885F7D9F4D55 /* Bookmark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bookmark.swift; sourceTree = "<group>"; };
|
|
8D650D0784B847BFEDCB3141 /* BookmarkEntity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkEntity.swift; sourceTree = "<group>"; };
|
|
938672D3D6ADC73B354B5EA5 /* ShareExtension.appex */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "wrapper.app-extension"; path = ShareExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
969B364D1E9E6D2E1C610D21 /* MarksWidget.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = MarksWidget.entitlements; sourceTree = "<group>"; };
|
|
96F73C2A0B8AB36C6F80D5FE /* RandomBookmarkWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomBookmarkWidget.swift; sourceTree = "<group>"; };
|
|
9B7A85A23A13D754F6A75E4D /* ShareView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareView.swift; sourceTree = "<group>"; };
|
|
9D8E2E470C9336209B7E8543 /* IntentSnippetViews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentSnippetViews.swift; sourceTree = "<group>"; };
|
|
A4EB8C63735A267B81030CB5 /* PodcastPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PodcastPlayerView.swift; sourceTree = "<group>"; };
|
|
AA5C9BFD9C0DD3876CC32B3A /* LibraryKit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibraryKit.swift; sourceTree = "<group>"; };
|
|
AB2D194AD325ECE80A04979E /* AddBookmarkView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddBookmarkView.swift; sourceTree = "<group>"; };
|
|
AB6C53AB14A38FCD4CC7628D /* Marks.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = Marks.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
ADEAC824576633CC77370262 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = "<group>"; };
|
|
B0C6ABE160A2C90EB965D811 /* BookmarkRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkRow.swift; sourceTree = "<group>"; };
|
|
B13B9F2D890C7953531AC0D2 /* TagsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagsView.swift; sourceTree = "<group>"; };
|
|
BCC3BB2525F0F63445D419B9 /* SearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchView.swift; sourceTree = "<group>"; };
|
|
C5A99F666A536D569171B55F /* BookmarkSearchTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkSearchTool.swift; sourceTree = "<group>"; };
|
|
C8B10AC011AF8F242E525440 /* MarksTests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = MarksTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
CBE3C5E420F078D499B2D926 /* BookmarksView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarksView.swift; sourceTree = "<group>"; };
|
|
CBFB5EFC9764B22A2622EA4A /* BookmarksViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarksViewModel.swift; sourceTree = "<group>"; };
|
|
CC6B10FBB227F426A2B597C8 /* BookmarkListRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkListRow.swift; sourceTree = "<group>"; };
|
|
CDB1DA808EE8041C4546DAAB /* SourcesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourcesView.swift; sourceTree = "<group>"; };
|
|
D1EEDFAE9FCA24192640CA7A /* BookmarkOnscreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkOnscreen.swift; sourceTree = "<group>"; };
|
|
D27A97922BAEBDC9C5A7385C /* PodcastRequests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PodcastRequests.swift; sourceTree = "<group>"; };
|
|
D2860AAA865515225FB9FC65 /* AISummaryStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AISummaryStore.swift; sourceTree = "<group>"; };
|
|
D3A4B1E764CC88A774AF8EA5 /* EditBookmarkView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditBookmarkView.swift; sourceTree = "<group>"; };
|
|
D6ACABF0CA940312B4195456 /* IntentSupport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentSupport.swift; sourceTree = "<group>"; };
|
|
D92575C7C710347F226EC74A /* MarksApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarksApp.swift; sourceTree = "<group>"; };
|
|
DE73381C52297CDB30AACCFB /* MarksWidgetBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarksWidgetBundle.swift; sourceTree = "<group>"; };
|
|
E6379451D7FD7090A9F01A01 /* BookmarkAssistant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkAssistant.swift; sourceTree = "<group>"; };
|
|
E895C34E4D2A1C4709B25FF1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
|
F1656ED1A2E9858235FF98B2 /* SourceSpotlightIndexer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceSpotlightIndexer.swift; sourceTree = "<group>"; };
|
|
F75DE8BE4B3A3E0E60B8BB03 /* PodcastIndex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PodcastIndex.swift; sourceTree = "<group>"; };
|
|
F78AA3450BDFAC24591EE407 /* MarksAuth.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarksAuth.swift; sourceTree = "<group>"; };
|
|
F9803BA80BEAE9A3AE4AF5E7 /* AppIntents.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppIntents.framework; path = System/Library/Frameworks/AppIntents.framework; sourceTree = SDKROOT; };
|
|
FB7728D15C17219ABFF3EFFE /* Log.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Log.swift; sourceTree = "<group>"; };
|
|
FE19F7619214271A8C12EEEB /* CollectionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionsView.swift; sourceTree = "<group>"; };
|
|
/* End PBXFileReference section */
|
|
|
|
/* Begin PBXFrameworksBuildPhase section */
|
|
6B2547BA0E17C2564677B34A /* Frameworks */ = {
|
|
isa = PBXFrameworksBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
A396A5DC6ED590D0CDB1024B /* WidgetKit.framework in Frameworks */,
|
|
852A3E18661C190622FF5A85 /* AppIntents.framework in Frameworks */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
A1E820C4B9604F8F05055D3E /* Frameworks */ = {
|
|
isa = PBXFrameworksBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
AFB08279F8A146B56D7D7250 /* WidgetKit.framework in Frameworks */,
|
|
8140EEEFBB7A3510A73D1A93 /* SwiftUI.framework in Frameworks */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXFrameworksBuildPhase section */
|
|
|
|
/* Begin PBXGroup section */
|
|
3952A081972B444674BEB51B /* Marks */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
57D20912C19182A45914069B /* Assets.xcassets */,
|
|
86B2DE40098D2B39FFE1AC36 /* Info.plist */,
|
|
0D2CC53B01DF0FE51ADE5FCB /* Marks.entitlements */,
|
|
D92575C7C710347F226EC74A /* MarksApp.swift */,
|
|
58E8E316BE3F10C5149AADC3 /* Intents */,
|
|
3EF3094F53F0378D1BF18508 /* Models */,
|
|
7ABBFDF43A1EB773E0A49CFE /* Services */,
|
|
AF9CABF75E77168EF1D60F29 /* Views */,
|
|
);
|
|
path = Marks;
|
|
sourceTree = "<group>";
|
|
};
|
|
3EF3094F53F0378D1BF18508 /* Models */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
8CA428181B35885F7D9F4D55 /* Bookmark.swift */,
|
|
7DC9BBF1006495D75DE4A232 /* IngestedSource.swift */,
|
|
0A7D8DBB58B2F2EC835C9457 /* IngestPayload.swift */,
|
|
07C21567B95F5069BA946252 /* ServerConfig.swift */,
|
|
759BA3FCF8BEE1D4EA1CDC17 /* String+Helpers.swift */,
|
|
);
|
|
path = Models;
|
|
sourceTree = "<group>";
|
|
};
|
|
3F5B1508DEFC894F33CBD16C /* MarksTests */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
7623601C25E481DF58371F2A /* AppIntentsTests.swift */,
|
|
);
|
|
path = MarksTests;
|
|
sourceTree = "<group>";
|
|
};
|
|
585E3F011CBA8ECA6D1925C0 /* Library */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
1BF2B010DADCCFBC282D37F0 /* LibraryGridView.swift */,
|
|
AA5C9BFD9C0DD3876CC32B3A /* LibraryKit.swift */,
|
|
);
|
|
path = Library;
|
|
sourceTree = "<group>";
|
|
};
|
|
58E8E316BE3F10C5149AADC3 /* Intents */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
8D650D0784B847BFEDCB3141 /* BookmarkEntity.swift */,
|
|
D1EEDFAE9FCA24192640CA7A /* BookmarkOnscreen.swift */,
|
|
9D8E2E470C9336209B7E8543 /* IntentSnippetViews.swift */,
|
|
D6ACABF0CA940312B4195456 /* IntentSupport.swift */,
|
|
64E9DEC5CD89FF346E23A14F /* MarksAppIntents.swift */,
|
|
);
|
|
path = Intents;
|
|
sourceTree = "<group>";
|
|
};
|
|
7A85D09B4E109E1D9CD8F5BB /* ShareExtension */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
E895C34E4D2A1C4709B25FF1 /* Info.plist */,
|
|
03D800669E343FF305468424 /* ShareExtension.entitlements */,
|
|
9B7A85A23A13D754F6A75E4D /* ShareView.swift */,
|
|
ADEAC824576633CC77370262 /* ShareViewController.swift */,
|
|
6905CD5B1864895E2F84C7DF /* TagSuggester.swift */,
|
|
);
|
|
path = ShareExtension;
|
|
sourceTree = "<group>";
|
|
};
|
|
7ABBFDF43A1EB773E0A49CFE /* Services */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
D2860AAA865515225FB9FC65 /* AISummaryStore.swift */,
|
|
49685B8F3FEC72E8CF75843E /* AnalyticsService.swift */,
|
|
E6379451D7FD7090A9F01A01 /* BookmarkAssistant.swift */,
|
|
C5A99F666A536D569171B55F /* BookmarkSearchTool.swift */,
|
|
69D868AF1DAF3F1BBEACBFF6 /* ClaudeService.swift */,
|
|
18204F832C8114B6B9AB5BD8 /* IngestedSourceStore.swift */,
|
|
5CCBB391B1E0E1E4EBE0EFC7 /* LinkdingAPI.swift */,
|
|
FB7728D15C17219ABFF3EFFE /* Log.swift */,
|
|
F78AA3450BDFAC24591EE407 /* MarksAuth.swift */,
|
|
171EF75BF9BE4592DFA2C716 /* PodcastGenerationManager.swift */,
|
|
F75DE8BE4B3A3E0E60B8BB03 /* PodcastIndex.swift */,
|
|
11DC9EA7BF3AD8FE3D536319 /* PodcastLibrary.swift */,
|
|
D27A97922BAEBDC9C5A7385C /* PodcastRequests.swift */,
|
|
F1656ED1A2E9858235FF98B2 /* SourceSpotlightIndexer.swift */,
|
|
41DDBB04346F3BF06DE233D2 /* SpotlightBookmarkSearch.swift */,
|
|
1A5FEE76168FA5AB1E047FEC /* SpotlightIndexer.swift */,
|
|
);
|
|
path = Services;
|
|
sourceTree = "<group>";
|
|
};
|
|
7F380B7CE96F87441C28DB93 /* Prototypes */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
7510EB352E624C7C9656EA33 /* LibraryView.swift */,
|
|
);
|
|
path = Prototypes;
|
|
sourceTree = "<group>";
|
|
};
|
|
85E717A515682EBF67DD199A /* MarksWidget */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
55D369E6D2B8B036685BBD13 /* Info.plist */,
|
|
969B364D1E9E6D2E1C610D21 /* MarksWidget.entitlements */,
|
|
DE73381C52297CDB30AACCFB /* MarksWidgetBundle.swift */,
|
|
96F73C2A0B8AB36C6F80D5FE /* RandomBookmarkWidget.swift */,
|
|
49C6260D1530C5C4F1AD063E /* RecentBookmarksWidget.swift */,
|
|
47CB3AAED5B64809B06A9650 /* RecentPodcastsWidget.swift */,
|
|
0EDC639E0783581A733F4C99 /* WidgetDataStore.swift */,
|
|
);
|
|
path = MarksWidget;
|
|
sourceTree = "<group>";
|
|
};
|
|
AF9CABF75E77168EF1D60F29 /* Views */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
AB2D194AD325ECE80A04979E /* AddBookmarkView.swift */,
|
|
217E6702DE1210AC38ED16D1 /* AskView.swift */,
|
|
240DBB87940F8D255A812EB2 /* BookmarkActions.swift */,
|
|
CC6B10FBB227F426A2B597C8 /* BookmarkListRow.swift */,
|
|
B0C6ABE160A2C90EB965D811 /* BookmarkRow.swift */,
|
|
CBE3C5E420F078D499B2D926 /* BookmarksView.swift */,
|
|
CBFB5EFC9764B22A2622EA4A /* BookmarksViewModel.swift */,
|
|
629C41E0BC28EB6359D50CFD /* BrowserView.swift */,
|
|
FE19F7619214271A8C12EEEB /* CollectionsView.swift */,
|
|
D3A4B1E764CC88A774AF8EA5 /* EditBookmarkView.swift */,
|
|
22E006A11D594BFC00A9C4B4 /* OnboardingView.swift */,
|
|
A4EB8C63735A267B81030CB5 /* PodcastPlayerView.swift */,
|
|
BCC3BB2525F0F63445D419B9 /* SearchView.swift */,
|
|
5C29CB878BC334639E6194E2 /* SettingsView.swift */,
|
|
CDB1DA808EE8041C4546DAAB /* SourcesView.swift */,
|
|
B13B9F2D890C7953531AC0D2 /* TagsView.swift */,
|
|
585E3F011CBA8ECA6D1925C0 /* Library */,
|
|
7F380B7CE96F87441C28DB93 /* Prototypes */,
|
|
);
|
|
path = Views;
|
|
sourceTree = "<group>";
|
|
};
|
|
BC60767DD65812CCBD41C38F = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
3952A081972B444674BEB51B /* Marks */,
|
|
3F5B1508DEFC894F33CBD16C /* MarksTests */,
|
|
85E717A515682EBF67DD199A /* MarksWidget */,
|
|
7A85D09B4E109E1D9CD8F5BB /* ShareExtension */,
|
|
F5B3C85424137FA0CE2467B1 /* Frameworks */,
|
|
C6978BB2E0A71E9A349D5EB6 /* Products */,
|
|
);
|
|
sourceTree = "<group>";
|
|
};
|
|
C6978BB2E0A71E9A349D5EB6 /* Products */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
AB6C53AB14A38FCD4CC7628D /* Marks.app */,
|
|
C8B10AC011AF8F242E525440 /* MarksTests.xctest */,
|
|
23F172EC9977CD5C51B228B9 /* MarksWidget.appex */,
|
|
938672D3D6ADC73B354B5EA5 /* ShareExtension.appex */,
|
|
);
|
|
name = Products;
|
|
sourceTree = "<group>";
|
|
};
|
|
F5B3C85424137FA0CE2467B1 /* Frameworks */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
F9803BA80BEAE9A3AE4AF5E7 /* AppIntents.framework */,
|
|
093402014727A338745A06DA /* SwiftUI.framework */,
|
|
0552C13335034219DECF4F62 /* WidgetKit.framework */,
|
|
);
|
|
name = Frameworks;
|
|
sourceTree = "<group>";
|
|
};
|
|
/* End PBXGroup section */
|
|
|
|
/* Begin PBXNativeTarget section */
|
|
61046BF39C48393DD96687A0 /* MarksWidget */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = 9575EACAD2FDC865F3752A0F /* Build configuration list for PBXNativeTarget "MarksWidget" */;
|
|
buildPhases = (
|
|
2B3C202ACE4B7248E24601BF /* Sources */,
|
|
A1E820C4B9604F8F05055D3E /* Frameworks */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
dependencies = (
|
|
);
|
|
name = MarksWidget;
|
|
packageProductDependencies = (
|
|
);
|
|
productName = MarksWidget;
|
|
productReference = 23F172EC9977CD5C51B228B9 /* MarksWidget.appex */;
|
|
productType = "com.apple.product-type.app-extension";
|
|
};
|
|
76C272776D8EBCCD3FB6715A /* Marks */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = 00981D0FC690B5F5F4CA68B9 /* Build configuration list for PBXNativeTarget "Marks" */;
|
|
buildPhases = (
|
|
81AF93AC59791A6311B9055B /* Sources */,
|
|
D56AC7DEA48961F856A6CEF6 /* Resources */,
|
|
6B2547BA0E17C2564677B34A /* Frameworks */,
|
|
93C7F00CFA9EABABB6323F6D /* Embed Foundation Extensions */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
dependencies = (
|
|
A87C510E52F149E7E3CA0283 /* PBXTargetDependency */,
|
|
93598905CCCCA7BBFC2C0716 /* PBXTargetDependency */,
|
|
);
|
|
name = Marks;
|
|
packageProductDependencies = (
|
|
);
|
|
productName = Marks;
|
|
productReference = AB6C53AB14A38FCD4CC7628D /* Marks.app */;
|
|
productType = "com.apple.product-type.application";
|
|
};
|
|
CF31B2655F8F30CF6DF3C26F /* ShareExtension */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = 94AD43D2CB52900BE36CD8DA /* Build configuration list for PBXNativeTarget "ShareExtension" */;
|
|
buildPhases = (
|
|
2210C849B430CC6609106C62 /* Sources */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
dependencies = (
|
|
);
|
|
name = ShareExtension;
|
|
packageProductDependencies = (
|
|
);
|
|
productName = ShareExtension;
|
|
productReference = 938672D3D6ADC73B354B5EA5 /* ShareExtension.appex */;
|
|
productType = "com.apple.product-type.app-extension";
|
|
};
|
|
F96181AD21F4A6755214E19B /* MarksTests */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = CE9D24DDB32E8B7EFDDD9D59 /* Build configuration list for PBXNativeTarget "MarksTests" */;
|
|
buildPhases = (
|
|
1035354FBD99C8ED4ACA93DC /* Sources */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
dependencies = (
|
|
A665E75E77C12B6A3519ABF9 /* PBXTargetDependency */,
|
|
);
|
|
name = MarksTests;
|
|
packageProductDependencies = (
|
|
);
|
|
productName = MarksTests;
|
|
productReference = C8B10AC011AF8F242E525440 /* MarksTests.xctest */;
|
|
productType = "com.apple.product-type.bundle.unit-test";
|
|
};
|
|
/* End PBXNativeTarget section */
|
|
|
|
/* Begin PBXProject section */
|
|
0CC2596AE7F05EAF051B2FCD /* Project object */ = {
|
|
isa = PBXProject;
|
|
attributes = {
|
|
BuildIndependentTargetsInParallel = YES;
|
|
LastUpgradeCheck = 1630;
|
|
TargetAttributes = {
|
|
61046BF39C48393DD96687A0 = {
|
|
DevelopmentTeam = AE5DZKJHGN;
|
|
ProvisioningStyle = Automatic;
|
|
};
|
|
76C272776D8EBCCD3FB6715A = {
|
|
DevelopmentTeam = AE5DZKJHGN;
|
|
ProvisioningStyle = Automatic;
|
|
};
|
|
CF31B2655F8F30CF6DF3C26F = {
|
|
DevelopmentTeam = AE5DZKJHGN;
|
|
ProvisioningStyle = Automatic;
|
|
};
|
|
F96181AD21F4A6755214E19B = {
|
|
DevelopmentTeam = AE5DZKJHGN;
|
|
ProvisioningStyle = Automatic;
|
|
};
|
|
};
|
|
};
|
|
buildConfigurationList = 4BACCD33EEE63890F06D7057 /* Build configuration list for PBXProject "Marks" */;
|
|
compatibilityVersion = "Xcode 14.0";
|
|
developmentRegion = en;
|
|
hasScannedForEncodings = 0;
|
|
knownRegions = (
|
|
Base,
|
|
en,
|
|
);
|
|
mainGroup = BC60767DD65812CCBD41C38F;
|
|
minimizedProjectReferenceProxies = 1;
|
|
preferredProjectObjectVersion = 77;
|
|
projectDirPath = "";
|
|
projectRoot = "";
|
|
targets = (
|
|
76C272776D8EBCCD3FB6715A /* Marks */,
|
|
F96181AD21F4A6755214E19B /* MarksTests */,
|
|
61046BF39C48393DD96687A0 /* MarksWidget */,
|
|
CF31B2655F8F30CF6DF3C26F /* ShareExtension */,
|
|
);
|
|
};
|
|
/* End PBXProject section */
|
|
|
|
/* Begin PBXResourcesBuildPhase section */
|
|
D56AC7DEA48961F856A6CEF6 /* Resources */ = {
|
|
isa = PBXResourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
8BDB7DAA6A2711B9499F5582 /* Assets.xcassets in Resources */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXResourcesBuildPhase section */
|
|
|
|
/* Begin PBXSourcesBuildPhase section */
|
|
1035354FBD99C8ED4ACA93DC /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
FD656A44CEE8AE28B136AD85 /* AppIntentsTests.swift in Sources */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
2210C849B430CC6609106C62 /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
3528AF5CB690BBCCF337581B /* Bookmark.swift in Sources */,
|
|
70DE16F6334D0F3798C98064 /* IngestPayload.swift in Sources */,
|
|
1095DC18A31055ED40CD9323 /* LinkdingAPI.swift in Sources */,
|
|
B085CDBFC47F0357D1A28911 /* Log.swift in Sources */,
|
|
B7AF3F940FEE7B8AC32628B6 /* MarksAuth.swift in Sources */,
|
|
8F4BFD6C1322B508E8F52297 /* PodcastRequests.swift in Sources */,
|
|
F04066805A33E1A305C11F4F /* ServerConfig.swift in Sources */,
|
|
8456E89CFE607C2EC57BF466 /* ShareView.swift in Sources */,
|
|
76223AA04DF97B24C1490B20 /* ShareViewController.swift in Sources */,
|
|
D00878A046AF53CBC130388E /* TagSuggester.swift in Sources */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
2B3C202ACE4B7248E24601BF /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
DA914D93102B9F872DDC2032 /* MarksWidgetBundle.swift in Sources */,
|
|
706642006800745A0A0188D0 /* RandomBookmarkWidget.swift in Sources */,
|
|
94CEF815D51433054412CB20 /* RecentBookmarksWidget.swift in Sources */,
|
|
905FBD9468F488ACE4B81726 /* RecentPodcastsWidget.swift in Sources */,
|
|
E056C1B84C267D7554F4D115 /* WidgetDataStore.swift in Sources */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
81AF93AC59791A6311B9055B /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
1B04368962246251639D9590 /* AISummaryStore.swift in Sources */,
|
|
AE2EA9C6B9016C9986ADC8EE /* AddBookmarkView.swift in Sources */,
|
|
B5EC36EF81525C8FCD2D6C0A /* AnalyticsService.swift in Sources */,
|
|
68BDDFF472DDF1854D08A9ED /* AskView.swift in Sources */,
|
|
457FCE503CCA82C5F27C6C90 /* Bookmark.swift in Sources */,
|
|
BC866F8D6189334650ADCB95 /* BookmarkActions.swift in Sources */,
|
|
8227B9E3B5EFF6427702F376 /* BookmarkAssistant.swift in Sources */,
|
|
FBAE1329DD9C3152FBB53AD4 /* BookmarkEntity.swift in Sources */,
|
|
CD3013ED0FD018091D18F9FE /* BookmarkListRow.swift in Sources */,
|
|
778B82E075D4DAF5E8446D6F /* BookmarkOnscreen.swift in Sources */,
|
|
96698499C0501D0A897D7E08 /* BookmarkRow.swift in Sources */,
|
|
44E22B6D9EE5C54A06207AFD /* BookmarkSearchTool.swift in Sources */,
|
|
A8B8D58C5B68F54DC20126C1 /* BookmarksView.swift in Sources */,
|
|
5D86F3F0F603B248776916C7 /* BookmarksViewModel.swift in Sources */,
|
|
706CCE40744D7F382AFFE429 /* BrowserView.swift in Sources */,
|
|
BD2EAD8200FB69B95972146F /* ClaudeService.swift in Sources */,
|
|
6BF0E1F0F4DEAF87B0B8DCF6 /* CollectionsView.swift in Sources */,
|
|
C3189071834E0F8898408C37 /* EditBookmarkView.swift in Sources */,
|
|
83CC9BA3176B05358A307373 /* IngestPayload.swift in Sources */,
|
|
337E8272EEB3B10FD0868F76 /* IngestedSource.swift in Sources */,
|
|
81F3155F05559C648FDEB36C /* IngestedSourceStore.swift in Sources */,
|
|
DE32F3DC24D606926A559C06 /* IntentSnippetViews.swift in Sources */,
|
|
EFF8E4CD63CAE1342CE3A4F0 /* IntentSupport.swift in Sources */,
|
|
55CDFFAB5530D08861F85363 /* LibraryGridView.swift in Sources */,
|
|
4153FBF538C1D3F4BC96E4C5 /* LibraryKit.swift in Sources */,
|
|
50F3BED92EBA34F863C9F8A0 /* LibraryView.swift in Sources */,
|
|
15077853ECD40C9B289FB608 /* LinkdingAPI.swift in Sources */,
|
|
212F713DCC289C48087B79AE /* Log.swift in Sources */,
|
|
41F00F4E7FFC1C0ACF71E398 /* MarksApp.swift in Sources */,
|
|
E10B0B4EC9580342830EC0D2 /* MarksAppIntents.swift in Sources */,
|
|
8BD3FA025C082654D55374A2 /* MarksAuth.swift in Sources */,
|
|
14E1B3CE58D36BFF1A2199C1 /* OnboardingView.swift in Sources */,
|
|
773C174263D08416248D0675 /* PodcastGenerationManager.swift in Sources */,
|
|
0479C0AA16E3AFDBD4414AD0 /* PodcastIndex.swift in Sources */,
|
|
E3C3E48E6DE9CA0CD00AEE48 /* PodcastLibrary.swift in Sources */,
|
|
5ED7F0AB24549BA01757A39C /* PodcastPlayerView.swift in Sources */,
|
|
66D5D90A5FAF842BCA0FE72D /* PodcastRequests.swift in Sources */,
|
|
EE540B8367519EDE679C1B70 /* SearchView.swift in Sources */,
|
|
969568D9996EB65550DAA24A /* ServerConfig.swift in Sources */,
|
|
849C9CB4E1E8A6ABA1BC7251 /* SettingsView.swift in Sources */,
|
|
031BC9E7B0107CD02F9BA846 /* SourceSpotlightIndexer.swift in Sources */,
|
|
95D9848F60EB303D9EACCDDA /* SourcesView.swift in Sources */,
|
|
22C814FD55D29B88D227C987 /* SpotlightBookmarkSearch.swift in Sources */,
|
|
AB0BF1F51887D25CC9D6EE1C /* SpotlightIndexer.swift in Sources */,
|
|
B424D50BE9E6623A4DA15FDC /* String+Helpers.swift in Sources */,
|
|
927BAD5AD47217E3F396CDA7 /* TagsView.swift in Sources */,
|
|
E5A8DE01BEB3BC7DBB7FB720 /* WidgetDataStore.swift in Sources */,
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXSourcesBuildPhase section */
|
|
|
|
/* Begin PBXTargetDependency section */
|
|
93598905CCCCA7BBFC2C0716 /* PBXTargetDependency */ = {
|
|
isa = PBXTargetDependency;
|
|
target = 61046BF39C48393DD96687A0 /* MarksWidget */;
|
|
targetProxy = 22E9426D1CE4E3C473C5CD5D /* PBXContainerItemProxy */;
|
|
};
|
|
A665E75E77C12B6A3519ABF9 /* PBXTargetDependency */ = {
|
|
isa = PBXTargetDependency;
|
|
target = 76C272776D8EBCCD3FB6715A /* Marks */;
|
|
targetProxy = F63E42D8413C0F6ED8BB78CF /* PBXContainerItemProxy */;
|
|
};
|
|
A87C510E52F149E7E3CA0283 /* PBXTargetDependency */ = {
|
|
isa = PBXTargetDependency;
|
|
target = CF31B2655F8F30CF6DF3C26F /* ShareExtension */;
|
|
targetProxy = BD17B6B2972DB25FA605D8AA /* PBXContainerItemProxy */;
|
|
};
|
|
/* End PBXTargetDependency section */
|
|
|
|
/* Begin XCBuildConfiguration section */
|
|
12B4EAB4496B20EF8B695599 /* Release */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
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;
|
|
CODE_SIGN_STYLE = Automatic;
|
|
COPY_PHASE_STRIP = NO;
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
DEVELOPMENT_TEAM = AE5DZKJHGN;
|
|
ENABLE_NS_ASSERTIONS = NO;
|
|
ENABLE_PREVIEWS = YES;
|
|
ENABLE_STRICT_OBJC_MSGSEND = 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 = 26.0;
|
|
MTL_ENABLE_DEBUG_INFO = NO;
|
|
MTL_FAST_MATH = YES;
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
SDKROOT = iphoneos;
|
|
SWIFT_COMPILATION_MODE = wholemodule;
|
|
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
|
SWIFT_VERSION = 6.0;
|
|
};
|
|
name = Release;
|
|
};
|
|
21D2ADFC1A27251BB64A773D /* Debug */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
CODE_SIGN_ENTITLEMENTS = Marks/Marks.entitlements;
|
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
|
INFOPLIST_FILE = Marks/Info.plist;
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.magicive.marks;
|
|
SDKROOT = iphoneos;
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
};
|
|
name = Debug;
|
|
};
|
|
46C5C95D9B4F4A1E8ABD1A98 /* Release */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
CODE_SIGN_ENTITLEMENTS = Marks/Marks.entitlements;
|
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
|
INFOPLIST_FILE = Marks/Info.plist;
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.magicive.marks;
|
|
SDKROOT = iphoneos;
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
};
|
|
name = Release;
|
|
};
|
|
5F64C301FBBC85007BB1F0C2 /* Release */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
|
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
|
|
INFOPLIST_FILE = ShareExtension/Info.plist;
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
"@executable_path/../../Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.magicive.marks.ShareExtension;
|
|
SDKROOT = iphoneos;
|
|
SKIP_INSTALL = YES;
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
};
|
|
name = Release;
|
|
};
|
|
68D4EEAD1A7AA570E88EF498 /* Debug */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
GENERATE_INFOPLIST_FILE = YES;
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
"@loader_path/Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.magicive.marks.MarksTests;
|
|
SDKROOT = iphoneos;
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Marks.app/Marks";
|
|
};
|
|
name = Debug;
|
|
};
|
|
6CDF13C33FDD1141CFE677AD /* Debug */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
CODE_SIGN_ENTITLEMENTS = MarksWidget/MarksWidget.entitlements;
|
|
INFOPLIST_FILE = MarksWidget/Info.plist;
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
"@executable_path/../../Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.magicive.marks.MarksWidget;
|
|
SDKROOT = iphoneos;
|
|
SKIP_INSTALL = YES;
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
};
|
|
name = Debug;
|
|
};
|
|
7AD80830605CAD3492E03039 /* Debug */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
|
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
|
|
INFOPLIST_FILE = ShareExtension/Info.plist;
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
"@executable_path/../../Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.magicive.marks.ShareExtension;
|
|
SDKROOT = iphoneos;
|
|
SKIP_INSTALL = YES;
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
};
|
|
name = Debug;
|
|
};
|
|
B87C74506F7AEF79B42CC172 /* Debug */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
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;
|
|
CODE_SIGN_STYLE = Automatic;
|
|
COPY_PHASE_STRIP = NO;
|
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
DEVELOPMENT_TEAM = AE5DZKJHGN;
|
|
ENABLE_PREVIEWS = YES;
|
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
ENABLE_TESTABILITY = 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 = 26.0;
|
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
MTL_FAST_MATH = YES;
|
|
ONLY_ACTIVE_ARCH = YES;
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
SDKROOT = iphoneos;
|
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
SWIFT_VERSION = 6.0;
|
|
};
|
|
name = Debug;
|
|
};
|
|
D8AB62E7173CC10C6EB15373 /* Release */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
CODE_SIGN_ENTITLEMENTS = MarksWidget/MarksWidget.entitlements;
|
|
INFOPLIST_FILE = MarksWidget/Info.plist;
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
"@executable_path/../../Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.magicive.marks.MarksWidget;
|
|
SDKROOT = iphoneos;
|
|
SKIP_INSTALL = YES;
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
};
|
|
name = Release;
|
|
};
|
|
E92B937142E9625F95B51699 /* Release */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
GENERATE_INFOPLIST_FILE = YES;
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
"@loader_path/Frameworks",
|
|
);
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.magicive.marks.MarksTests;
|
|
SDKROOT = iphoneos;
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Marks.app/Marks";
|
|
};
|
|
name = Release;
|
|
};
|
|
/* End XCBuildConfiguration section */
|
|
|
|
/* Begin XCConfigurationList section */
|
|
00981D0FC690B5F5F4CA68B9 /* Build configuration list for PBXNativeTarget "Marks" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
21D2ADFC1A27251BB64A773D /* Debug */,
|
|
46C5C95D9B4F4A1E8ABD1A98 /* Release */,
|
|
);
|
|
defaultConfigurationIsVisible = 0;
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
4BACCD33EEE63890F06D7057 /* Build configuration list for PBXProject "Marks" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
B87C74506F7AEF79B42CC172 /* Debug */,
|
|
12B4EAB4496B20EF8B695599 /* Release */,
|
|
);
|
|
defaultConfigurationIsVisible = 0;
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
94AD43D2CB52900BE36CD8DA /* Build configuration list for PBXNativeTarget "ShareExtension" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
7AD80830605CAD3492E03039 /* Debug */,
|
|
5F64C301FBBC85007BB1F0C2 /* Release */,
|
|
);
|
|
defaultConfigurationIsVisible = 0;
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
9575EACAD2FDC865F3752A0F /* Build configuration list for PBXNativeTarget "MarksWidget" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
6CDF13C33FDD1141CFE677AD /* Debug */,
|
|
D8AB62E7173CC10C6EB15373 /* Release */,
|
|
);
|
|
defaultConfigurationIsVisible = 0;
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
CE9D24DDB32E8B7EFDDD9D59 /* Build configuration list for PBXNativeTarget "MarksTests" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
68D4EEAD1A7AA570E88EF498 /* Debug */,
|
|
E92B937142E9625F95B51699 /* Release */,
|
|
);
|
|
defaultConfigurationIsVisible = 0;
|
|
defaultConfigurationName = Debug;
|
|
};
|
|
/* End XCConfigurationList section */
|
|
};
|
|
rootObject = 0CC2596AE7F05EAF051B2FCD /* Project object */;
|
|
}
|