![]() I wish that I wouldn't have to use unsupported hacks to use SPM. After all, there's many SPM early adopters here xcconfig file for SPM so it would add The praise for finding this problem on my end goes to the incredible here just in case anyone else runs into this. When recompiling the app with Swift 5 the problem goes away all by itself, but just in case I added an. ![]() Well to be honest: " I was holding it wrong" So a previously working app suddenly crashed because I had the new version of Xcode installed. Turns out that SPM hardcodes the Xcode-included Swift libraries' path into the of its frameworks, so when my app launched (it was still compiled with Xcode 10.1 and Swift 4.2 was therefore embedded) it first tried to find the one from Xcode on my system and that didn't end well for the linker It couldn't find the Swift runtime… well, the correct one at least Suddenly though this app did crash on launch on my Mac after I upgraded. I had my frameworks integrated in to a macOS app by including the SPM project files. Yes please, especially since having been bit by a nasty little surprise when 10.14.4 and Xcode 10.2 was released. A first basic implementation could simply copy files found in a Resources directory of the target source folder to the respective TargetName.resources folder in the products directory.Īlso, if we want to support this type of architecture we will have to start to rely in dynamic linking instead of static linking executable products (otherwise we would have to copy all the input resources to the executable resources directory, with potential collisions).įinally, this approach would be designed for non-Darwin platforms (Darwin would have to use frameworks for libraries and app bundles? for executables as freestanding bundles are not welcome). This opens the way to the introduction of the Resources story of Swift PM. Let barBundle = Bundle(for: BarLibrar圜lf)īarBundle.path(forResource: "BarImage", withExtension: "png") FooExecutable.resources/FooResource.json We can access the resources with the Bundle API: (forResource: "FooResource", withExtension: "json") This means that with the following structure: FooExecutable ![]() ![]() ![]() I'm also afraid to delete the sparse bundle because I don't know exactly how it works.Ĭan anyone provide advice? I cannot find any advice on this specific subject anwhere.Once Swift Foundation PR #1573 and #1570 are merged we will be able to use Bundle API on Linux with Freestanding bundles. That would be disastrous since I also use the drive for a important file share. I am afraid to choose the "Delete backup disk" option in the Time Machine applet because, while I want it to delete my sparse bundle, I am afraid it will take the liberties of deleting all content on the "drive". The way I look at it, the best option might be to delete the sparse bundle entirely and just start a fresh sparse bundle, right? This seems logical to me but I cannot find any advice anywhere to affirm my belief. My time machine backups stopped a month ago and nothing I do will get the backups to continue as usual. Is it safe to delete my Time Machine sparse bundle file? Can a fresh time machine backup be recreated WITHOUT reformatting the drive or affecting any other files on my external Time Machine drive? ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |