I'm currently trying to develop a transparent data encryption(TDE) system on MacOS 12.6.8. Our company has its own file encryption format. In order to facilitate safe and convenient file transfer between Windows and Mac platforms, we need to develop a TDE system on the Mac platform (on the Windows platform, we have developed such a system based on the Minifilter framework).
I tried to implement this system using a MacFuse based file system and the Endpoint Security system extension, but found that this did not allow complete control of files on the Mac system. For example, when you use Finder to copy an encrypted file, the decrypted data will be copied out. I'm guessing this might be due to Finder or some other system process cache.
By referring to the current product introductions of other companies, I learned that the current TDE systems on Mac systems are all based on kernel extension. But I noticed that Apple no longer encourages kernel extension development, and the Mac kernel has fewer and fewer APIs open to development.
So I would like to ask is it still feasible to develop a TDE system based on the kernel extension?
APFS
RSS for tagApple File System is the default file system for iOS 10.3 and later, and for macOS High Sierra and later.
Posts under APFS tag
48 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Hi, so I have this case where I would like the user to pick a folder where they want to create a file/folder using UIDocumentPicker/Browser and I make the file using open() in cpp and use its fd to read/write to the file. Now, the first thing is I have to call startAccessingSecurityScopedResource() on the directory url, then I make the file, get its fd(file descriptor) and I leave this makefile() function.
Every startAccessingSecurityScopedResource() needs to be matched with a stopstartAccessingSecurityScopedResource().
So my question is do I 'have' to call stopAccessingSecurityScopedResource() 'just before' calling close() on the fd.
Or is it fine to call it after I have made the fd i.e., at the end of the makefile() function?
In the tests I did it seems that once the fd is opened, even if stopAccessingSecurityScopedResource() is called on it(the directory), I can continue to read/write from the fd until I close() the fd?
So, I'm looking into startaccessingsecurityscopedresource() function and from my current understanding this is to get temporary access to files/folders you don't implicitly have access to i.e., that don't belong to your sandbox. I can understand what it means wrt macOS, iOS, iPadOS, but what does it mean in watchOS and tvOS where there isn't any file sharing between different apps? And what is it's relevance wrt using iCloud (if there is any?)
Dear Apple Developer Forum Community, I hope this message finds you well. I am writing to seek assistance regarding an error I encountered while attempting to create a Vedic content in the app from the one YouTube link.
I have been unsuccessful in resolving it. I am reaching out to the community in the hope that someone might have encountered a similar issue or have expertise in troubleshooting Xcode errors. Any guidance, suggestions, or solutions would be greatly appreciated. Thank you very much for your time and assistance.
Sincerely,
Zipzy [games]
Is anyone experiencing super slow finder functions related to Indexing and Spotlight? Folder hierarchy access is extremely slow.
Does Sonoma 14.3.x address any of these issues? Workflow is hampered with this OS and creating productivity limitations which
are not acceptable. Please advise. Thank you.
I've been experiencing an issue that has causing me a lot of problems, as various apps including Whatsapp, Phone pay, paytm, youtube, galaery, and more will randomly log out, and reset back to their inital state as if I just installed it on a clean phone. Apps like Whatsapp and Telegram will have lost all of their chat history, even if it was backup up on iCloud.
I'm at a total loss as to what might be causing this problem after restoring the phone multiple times (the last time without restoring to a backup).
I m using iphone 13 pro max.
I m from new delhi india.
Is there an API that allows mounting a volume, just like DADiskMount(), but that also accepts a password or automatically requests keychain access for encrypted volumes? Could be APFS or CoreStorage volumes. How do you mount those programmatically?
We are trying to read disk sectors raw Data. Sample code can be found at the bottom.
For external drive, it is working fine. We are able to see raw data which is not zero.
For internal ssd APFS drive, We only get data filled with zeroes.
We have tried with System Integrity Protection enabling and disabling.
Please let us know Why same API failing for internal APFS drive?
Is there any specific API available for reading raw data of internal APFS drive?
#include <fcntl.h>
#include <unistd.h>
#include <iomanip>
int main() {
// Adjust this to your disk device on macOS
const char* diskPath = "/dev/rdisk1"; //internal SSD device on macOS
// Size of a sector (usually 4096 bytes for most disks on macOS)
const int sectorSize = 4096;
// Number of sectors you want to read
const int numSectors = 8;
// Starting sector number
off_t startSector = 0;
// Open the disk device using low-level file I/O
int diskFile = open(diskPath, O_RDONLY);
if (diskFile == -1) {
std::cerr << "Error opening disk file." << std::endl;
return 1;
}
// Read multiple sectors into a buffer
char buffer[numSectors * sectorSize];
ssize_t bytesRead = pread(diskFile, buffer, numSectors * sectorSize, startSector * sectorSize);
// Close the disk file
close(diskFile);
if (bytesRead != numSectors * sectorSize) {
std::cerr << "Error reading sectors." << std::endl;
return 1;
}
// Display the contents of the sectors in hex
for (int i = 0; i < numSectors * sectorSize; ++i) {
std::cout << std::hex << std::setw(2) << std::setfill('0') << (int)(unsigned char)buffer[i] << " ";
if ((i + 1) % 16 == 0) {
std::cout << std::endl;
}
}
return 0;
}
Im trying to organize photos from a shared photo library so that there is more organization using albums, or folders, or any other logical structure. If you have any suggestions on how I might do this so that everyone using the shared library also has the same organizational view, that would be appreciated. Thanks very much.
My App Rejected 4.3 Design: Spam
What does that mean exactly?
I took extra pictures with the phone from the app
and upload to APP Store
and the same thing over and over again (Guideline 4.3 - Design - Spam)
just the question
Why don't you want to unlock it?
what is spam?
The APP Or the pictures?
If the APP is spam why?
That means
One user cannot create two different websites
with Various APP
An e.g. I have a social network I want to do
then a dating site
On the dating app I only get a message saying it's spam
Funny what's in an APP is spam?
Because dating app?
Or can a user not make multiple page APPs because it almost looks like this?
Then that means BMW can't make new BMWs because the new BWM also has 4 doors and 4 wheels
or how should I understand that?
which is still funny
on Google Play the same APP is not spam
Hello I am beginner learning iOS development from YouTube. I am writing the same exact code as that in video but I am getting error saying "Expressions are not allowed at the top level"
The code is:
import SwiftUI
var highscore = 0
highscore = 99
the error is shoeing for last line of code. Would be grateful if anyone could help!
how can i resolve this: panic(cpu 0 caller 0xffffff8014229591): AppleAHCIDiskQueueManager::setPowerState(0xffffff8b578ef240 : 0xffffff80161adcf0, 3 -> 2) timed out after 100635 ms @IOServicePM.cpp:5524
Panicked task 0xffffff868ab85670: 204 threads: pid 0: kernel_task
Backtrace (CPU 0), panicked thread: 0xffffff99bcf7f540, Frame : Return Address
0xffffffffdf5c3a30 : 0xffffff8013a79a3d
0xffffffffdf5c3a80 : 0xffffff8013bdca26
0xffffffffdf5c3ac0 : 0xffffff8013bcbd93
0xffffffffdf5c3b10 : 0xffffff8013a19a90
0xffffffffdf5c3b30 : 0xffffff8013a79e0d
0xffffffffdf5c3c50 : 0xffffff8013a795c6
0xffffffffdf5c3cb0 : 0xffffff80143149d3
0xffffffffdf5c3da0 : 0xffffff8014229591
0xffffffffdf5c3e00 : 0xffffff8014228d59
0xffffffffdf5c3e10 : 0xffffff801424310e
0xffffffffdf5c3e50 : 0xffffff8014227b98
0xffffffffdf5c3e70 : 0xffffff8013accac5
0xffffffffdf5c3ee0 : 0xffffff8013acdb92
0xffffffffdf5c3fa0 : 0xffffff8013a1919e
Process name corresponding to current thread (0xffffff99bcf7f540): kernel_task
Mac OS version:
21G1974
Kernel version:
Darwin Kernel Version 21.6.0: Thu Nov 9 00:38:19 PST 2023; root:xnu-8020.240.18.705.10~1/RELEASE_X86_64
Kernel UUID: ABAADB03-E25C-33B4-B3E0-574627B92635
KernelCache slide: 0x0000000013800000
KernelCache base: 0xffffff8013a00000
Kernel slide: 0x0000000013810000
Kernel text base: 0xffffff8013a10000
__HIB text base: 0xffffff8013900000
System model name: iMac17,1 (Mac-B809C3757DA9BB8D)
System shutdown begun: NO
Panic diags file available: YES (0x0)
Hibernation exit count: 0
System uptime in nanoseconds: 3140596901440
Last Sleep: absolute base_tsc base_nano
Uptime : 0x000002db3a29a8b0
Sleep : 0x0000000000000000 0x0000000000000000 0x0000000000000000
Wake : 0x0000000000000000 0x0000000759053a94 0x0000000000000000
Compressor Info: 0% of compressed pages limit (OK) and 0% of segments limit (OK) with 0 swapfiles and OK swap space
Zone info:
Zone map: 0xffffff8023787000 - 0xffffffa023787000
. PGZ : 0xffffff8023787000 - 0xffffff8024788000
. VM : 0xffffff8024788000 - 0xffffff84f11ee000
. RO : 0xffffff84f11ee000 - 0xffffff868aaba000
. GEN0 : 0xffffff868aaba000 - 0xffffff8b57520000
. GEN1 : 0xffffff8b57520000 - 0xffffff9023f86000
. GEN2 : 0xffffff9023f86000 - 0xffffff94f09ec000
. GEN3 : 0xffffff94f09ec000 - 0xffffff99bd453000
. DATA : 0xffffff99bd453000 - 0xffffffa023787000
Metadata: 0xffffffbdc1ac8000 - 0xffffffbde1ac8000
Bitmaps : 0xffffffbde1ac8000 - 0xffffffbde4ac8000
last started kext at 1987572592640: |IOAVB!F 1040.6 (addr 0xffffff7fac92c000, size 77824)
loaded kexts:
!ATopCaseHIDEventDriver 5450.8
AudioAUUC 1.70
!APlatformEnabler 2.7.0d0
X86PlatformShim 1.0.0
AGPM 129
!AMikeyHIDDriver 131
!AUpstreamUserClient 3.6.9
@kext.AMDFramebuffer 4.0.8
@filesystems.autofs 3.0
!AHDAHardwareConfigDriver 340.2
!AMikeyDriver 340.2
!AHDA 340.2
@kext.AMDRadeonX4000 4.0.8
@kext.AMDRadeonServiceManager 4.0.8
!A!IPCHPMC 2.0.1
!A!ISKLGraphics 18.0.8
@UVCService 1
eficheck 1
!ASMCLMU 212
!AGraphicsDevicePolicy 6.5.7
AGDCBacklightControl 6.5.7
@kext.AMD9000!C 4.0.8
!AFIVRDriver 4.1.0
@AGDCPluginDisplayMetrics 6.5.7
!ABacklight 180.8
!AMCCSControl 1.16
pmtelemetry 1
|IOUserEthernet 1.0.1
usb.!UUserHCI 1
!AHV 1
!ADiskImages2 126.141.2
!A!ISlowAdaptiveClocking 4.0.0
ACPI_SMC_PlatformPlugin 1.0.0
!AThunderboltIP 4.0.3
!A!ISKLGraphicsFramebuffer 18.0.8
!AFileSystemDriver 3.0.1
@filesystems.tmpfs 1
@filesystems.lifs 1
@filesystems.hfs.kext 583.100.10
@BootCache 40
@!AFSCompression.!AFSCompressionTypeZlib 1.0.0
@!AFSCompression.!AFSCompressionTypeDataless 1.0.0d1
@filesystems.apfs 1934.141.2
AirPort.BrcmNIC 1400.1.1
!ASDXC 3.2.1
|!ABCM5701Ethernet 11.0.0
!AAHCIPort 351.100.4
@private.KextAudit 1.0
!AACPIButtons 6.1
!ARTC 2.0.1
!ASMBIOS 2.1
!AACPIEC 6.1
!AAPIC 1.7
@!ASystemPolicy 2.0.0
@nke.applicationfirewall 402
|IOKitRegistryCompatibility 1
|EndpointSecurity 1
@Dont_Steal_Mac_OS_X 7.0.0
@kec.!AEncryptedArchive 1
|IOAVB!F 1040.6
@plugin.IOgPTPPlugin 1040.3
|IOEthernetAVB!C 1.1.0
driverkit.serial 6.0.0
|IOSerial!F 11
!AHIDKeyboard 228.2
!AMultitouchDriver 5460.1
!AInputDeviceSupport 5460.1
!AHS!BDriver 5450.8
IO!BHIDDriver 9.0.0
@kext.triggers 1.0
@kext.AMDRadeonX4070HWLibs 1.0
DspFuncLib 340.2
@kext.OSvKernDSPLib 529
@kext.AMDRadeonX4000HWServices 4.0.8
!ASMBusPCI 1.0.14d1
!AHDA!C 340.2
|IOHDA!F 340.2
|IOAudio!F 340.2
@vecLib.kext 1.2.0
!AGraphicsControl 6.5.7
@kext.AMDSupport 4.0.8
!ABacklightExpert 1.1.0
|IONDRVSupport 597
!ASMBus!C 1.0.18d1
|IO!BSerialManager 9.0.0
|IO!BPacketLogger 9.0.0
|IO!BHost!CUSBTransport 9.0.0
|IO!BHost!CUARTTransport 9.0.0
|IO!BHost!CTransport 9.0.0
IO!BHost!CPCIeTransport 9.0.0
|CSR!BHost!CUSBTransport 9.0.0
|Broadcom!BHost!CUSBTransport 9.0.0
|Broadcom!B20703USBTransport 9.0.0
!AIPAppender 1.0
@!AGPUWrangler 6.5.7
|IOSlowAdaptiveClocking!F 1.0.0
IOPlatformPluginLegacy 1.0.0
X86PlatformPlugin 1.0.0
IOPlatformPlugin!F 6.0.0d8
!AThunderboltEDMSink 5.0.3
|IOAccelerator!F2 462.9
@!AGraphicsDeviceControl 6.5.7
|IOGraphics!F 597
usb.IOUSBHostHIDDevice 1.2
usb.cdc 5.0.0
usb.networking 5.0.0
usb.!UHostCompositeDevice 1.2
!AThunderboltDPOutAdapter 8.5.1
!AThunderboltDPInAdapter 8.5.1
!AThunderboltDPAdapter!F 8.5.1
!AThunderboltPCIDownAdapter 4.1.1
!ABSDKextStarter 3
|IOSurface 302.15
@filesystems.hfs.encodings.kext 1
!AXsanScheme 3
|IOAHCIBlock!S 333.140.2
!AThunderboltNHI 7.2.81
|IOThunderbolt!F 9.3.3
|IO80211!FLegacy 1200.12.2b1
|IOSkywalk!F 1.0
corecapture 1.0.4
mDNSOffloadUserClient 1.0.1b8
!A!ILpssI2C 3.0.60
!A!ILpssGspi 3.0.60
usb.!UHostPacketFilter 1.0
|IOUSB!F 900.4.2
|IOAHCI!F 297
usb.!UXHCIPCI 1.2
usb.!UXHCI 1.2
!AEFINVRAM 2.1
!AEFIRuntime 2.1
|IOSMBus!F 1.1
|IOHID!F 2.0.0
|IOTimeSync!F 1040.3
|IONetworking!F 3.4
DiskImages 493.0.0
|IO!B!F 9.0.0
|IOReport!F 47
$quarantine 4
$sandbox 300.0
@kext.!AMatch 1.0.0d1
|CoreAnalytics!F 1
!ASSE 1.0
!AKeyStore 2
!UTDM 533.120.2
|IOUSBMass!SDriver 210.120.3
|IOSCSIBlockCommandsDevice 456.140.3
|IO!S!F 2.1
|IOSCSIArchitectureModel!F 456.140.3
!AMobileFileIntegrity 1.0.5
$!AImage4 4.2.0
@kext.CoreTrust 1
!AFDEKeyStore 28.30
!AEffaceable!S 1.0
!ACredentialManager 1.0
KernelRelayHost 1
|IOUSBHost!F 1.2
!UHostMergeProperties 1.2
usb.!UCommon 1.0
!ABusPower!C 1.0
!ASEPManager 1.0.1
IOSlaveProcessor 1
!AACPIPlatform 6.1
!ASMC 3.1.9
|IOPCI!F 2.9
|IOACPI!F 1.4
watchdog 1
@kec.pthread 1
@kec.Libm 1
@kec.corecrypto 12.0
I hope this message finds you well. I am writing to bring to your attention a persistent issue that we have been experiencing since January 12, 2024, at 4:05 AM(JPN). It appears that push notifications are not reaching some iPhone devices in our user base.
We have taken the following steps in an attempt to resolve the issue:
1.Checked the notification settings on the affected iPhone devices to ensure that the app is allowed to receive notifications.
2.Verified that the app is updated to the latest version on all affected devices.
3.Restarted the devices to rule out any temporary glitches.
4.Uninstalled and reinstalled the app on the affected devices.
5.Ensured that the devices have a stable internet connection via Wi-Fi or mobile data.
Despite these efforts, the problem persists. We suspect that there might be underlying issues related to the push notification service or other technical aspects.
Could you please assist us in investigating and resolving this matter? If there are specific logs, error messages, or any guidance you can provide, it would greatly aid our troubleshooting process.
Our users greatly depend on receiving timely notifications, and we want to ensure that the service is working seamlessly for everyone. Any insights or assistance you can provide to resolve this issue would be highly appreciated.
I am trying to run Apple Remote Desktop ona MacAir with Sonoma , but I have got the message <<The application “ARDAgent.app” is not open anymore.>>. What can I do to solve the problem?
Hey my iphone 12 battery drains so fast . Please help me ho w can i overcome this.
Hi,
I stumbled about the Swift Student Challenge at Apples Website and now I have some questions. I've programmed some Apps in Xcode and I think one of them might be pretty god for this Challenge. Now I've read something about Swift Playgrounds and I'm confused. What's a Swift Playground? Do I need to create one or is it enough to have the App? and finally: I'm currently 14 and live in Germany. Is it possible to participate when I'm 14? And if not would it be a big thing to lets say forget my age and somehow think that I'm 16?
Thanks a lot for answers
Hi, I am working on an iOS app that has a custom document type that can be shared with other devices through Airdrop, iMessages, etc. The app should appear in the "Open In..." menu upon receiving the file however, currently it gets directed straight to the files app. I got this feature to work in a previous iteration of the app in iOS 16 but it no longer works with iOS 17. The feature is also broken with the previous iteration in iOS 17. I have defined the custom document type under both Documents Type and Exported Type Identifiers. I have attached a copy of the info.plist below. My question is how can you make your app appear under the list of apps shown in the "Open In..." menu that appears when receiving files for a custom file type.
<plist version="1.0">
<dict>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconSystemGenerated</key>
<integer>1</integer>
<key>CFBundleTypeName</key>
<string>RecordingList</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.nikodittmar.MyRaceTimer.recordinglist</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>RecordingList</string>
<key>UTTypeIcons</key>
<dict/>
<key>UTTypeIdentifier</key>
<string>com.nikodittmar.MyRaceTimer.recordinglist</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>recordinglist</string>
</array>
</dict>
</dict>
</array>
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.plain-text</string>
</array>
<key>UTTypeDescription</key>
<string>CSV</string>
<key>UTTypeIcons</key>
<dict/>
<key>UTTypeIdentifier</key>
<string>public.comma-separated-values-text</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>csv</string>
</array>
<key>public.mime-type</key>
<array>
<string>text/csv</string>
</array>
</dict>
</dict>
</array>
</dict>
</plist>
import UniformTypeIdentifiers
extension UTType {
static var recordingList: UTType { UTType(exportedAs: "com.nikodittmar.MyRaceTimer.recordinglist") }
}
Thanks.
Hello,
Anyone know of relevant documentation that captures the difference between
vfsStruct.f_fsid and fstat.st_ino ?
sys/stat.h declares:
ino_t st_ino; /* [XSI] File serial number */
AND
sys/statvfs.h declares:
unsigned long f_fsid; /* Filesystem ID */
Based on some tests, it seems that the st_ino is the number/inode_number that the filesystem identifies the file-resource by ? I observed that this number gets a unique value when I copy a file even when the Finder/FS utilizes the Space-Saver feature of MacOS. This value is identical to the results returned by the command ls "-i" . When copying via Finder, I am seeing distinct st_ino values for source and destination files.
f_fsid seems to be identifying the File differently though, perhaps taking into account what Data/attributes objects the file resource points to ? I observed that this number gets an identical value when I copy a file even when the Finder/FS utilizes the Space-Saver feature of MacOS. So, the value of f_fsid seems to be copied over to the destination file record. Also, I could not find a way to display f_fsid via the ls command.
On a related note, Any documentation regarding MacOS Finder/FS's Space-Saver feature or how it is implemented ?
Thanks,
Vikram.S.Warraich
When pressing out of the application menu in Cubase 10.0.60 (presumably running in Rosetta 2), is has recently started to crash and I suspect it's due to an OS update.
macOS 14.2 (23C64)
Crash report
We have noticed that after the iOS 17 update, there has been a sudden increase in the data for “Discarded - Token Unregistered.” In the statistics for error codes returned by the APNs service, the number of http code 200 has increased, while the number of error code 410 has decreased. Have there been any recent updates to this service?