Từ iOS 8, tôi đã truy cập thành công Thư mục tương tự bằng cách sử dụng " Chức năng nhóm ứng dụng " . Tôi đang mở rộng câu trả lời của @siejkowski.
Lưu ý: Nó sẽ chỉ hoạt động từ cùng một tài khoản nhà phát triển.
Đối với điều đó, bạn phải làm theo các bước dưới đây.
- đầu tiên Bật "Nhóm ứng dụng" từ tài khoản nhà phát triển của bạn.
- Tạo hồ sơ cấp phép. và sử dụng nó.
Bây giờ bạn phải tạo Hai ứng dụng. Tên mẫu
- Demo_Share_One
- Demo_Share_Two
Bây giờ Chúng tôi đang sao chép hình ảnh từ Demo_Share_One vào thư mục Chia sẻ được tạo theo mặc định khi bạn bật Nhóm ứng dụng và chạy ứng dụng. và sẽ truy cập tất cả những hình ảnh đó từ Demo_Share_Two .
Bạn phải Lấy Tên nhóm đã được đặt cho tài khoản nhà phát triển của bạn .lets nói group.filesharingdemo
.
Thêm phương thức Dưới đây trong Cả hai ứng dụng để nhận đường dẫn tương đối của url thư mục chia sẻ.
- (NSString *) getSharedLocationPath:(NSString *)appGroupName {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *groupContainerURL = [fileManager containerURLForSecurityApplicationGroupIdentifier:appGroupName];
return [groupContainerURL relativePath];
}
Bây giờ chúng tôi đang sao chép hình ảnh từ gói từ Demo_Share_One
-(IBAction)writeImage:(id)sender
{
for (int i = 0; i<15; i++)
{
NSString *strSourcePath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"hd%d",i+1] ofType:@"jpg"];
NSString *strDestinationPath = [[self getSharedLocationPath:@"group.filesharingdemo"] stringByAppendingPathComponent:[NSString stringWithFormat:@"hd%d",i+1]] ;
BOOL filewrite = [[NSFileManager defaultManager]copyItemAtPath:strSourcePath toPath:strDestinationPath error:nil];
if (filewrite)
NSLog(@"File write");
else
NSLog(@"can not write file");
}
}
Bây giờ trong Demo_Share_Two để truy cập những hình ảnh đó
NSString *pathShared = [[self getSharedLocationPath:@"group.filesharingdemo"] stringByAppendingPathComponent:[NSString stringWithFormat:@"hd%d.jpg",number]];
NSLog(@"%@",pathShared);
imgView.image = [UIImage imageWithContentsOfFile:pathShared];
Và Bây giờ Bạn sẽ nhận được tất cả các hình ảnh mà bạn viết từ Demo_Share_One .
Vì vậy, từ bây giờ trở đi nếu bạn muốn chia sẻ thư mục này hai ứng dụng thứ ba của bạn. chỉ cần thêm ứng dụng đó vào nhóm của bạn. Vì vậy, quá dễ dàng để truy cập các phần tử giống nhau trong Nhiều ứng dụng của bạn.
nếu bạn không bật Nhóm ứng dụng trong AppID của mình thì bạn sẽ nhận được [self getSharedLocationPath: @ "group.filesharingdemo"] là trống.
Cảm ơn Apple đã chia sẻ Phần tử từ chức năng ứng dụng của riêng bạn . Chúc bạn mã hóa vui vẻ. :)