enable sandbox for mac appstore and use Pictures directory on osx

This commit is contained in:
2018-09-25 11:00:58 +02:00
parent 7b4531cec6
commit bddccde4ae
4 changed files with 34 additions and 3 deletions

View File

@@ -27,7 +27,7 @@
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2017 Omar Mohamed Ali Mudhir. All rights reserved.</string>
<string>Copyright © 2018 OmixLab Ltd. All rights reserved.</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.assets.pictures.read-write</key>
<true/>
</dict>
</plist>

View File

@@ -319,6 +319,7 @@
AD3B1EBF1E3B8B7600E918E3 /* layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = layout.h; sourceTree = "<group>"; };
AD43267F21599A5B006DE7F6 /* node_usermanual.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node_usermanual.h; sourceTree = "<group>"; };
AD43268021599A5B006DE7F6 /* node_usermanual.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = node_usermanual.cpp; sourceTree = "<group>"; };
AD432683215A2B31006DE7F6 /* PanoPainter.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = PanoPainter.entitlements; sourceTree = "<group>"; };
AD4C08CF1E89BD0F0051D85F /* asset.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = asset.cpp; sourceTree = "<group>"; };
AD4C08D01E89BD0F0051D85F /* asset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asset.h; sourceTree = "<group>"; };
AD4C08D11E89BD0F0051D85F /* bezier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bezier.cpp; sourceTree = "<group>"; };
@@ -506,6 +507,7 @@
AD0E5C9D1ECC6F2B00C35669 /* PanoPainter-OSX */ = {
isa = PBXGroup;
children = (
AD432683215A2B31006DE7F6 /* PanoPainter.entitlements */,
AD0E5CA41ECC6F2B00C35669 /* Assets.xcassets */,
AD0E5CA61ECC6F2B00C35669 /* MainMenu.xib */,
AD0E5CA91ECC6F2B00C35669 /* Info.plist */,
@@ -893,6 +895,11 @@
CreatedOnToolsVersion = 7.2;
DevelopmentTeam = ERD9AYQ49S;
ProvisioningStyle = Automatic;
SystemCapabilities = {
com.apple.Sandbox = {
enabled = 1;
};
};
};
AD787ADC20D4611100C4712A = {
CreatedOnToolsVersion = 9.4.1;
@@ -1319,6 +1326,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CLANG_ENABLE_MODULES = NO;
CODE_SIGN_ENTITLEMENTS = "PanoPainter-OSX/PanoPainter.entitlements";
CODE_SIGN_IDENTITY = "Mac Developer";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
@@ -1342,6 +1350,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CLANG_ENABLE_MODULES = NO;
CODE_SIGN_ENTITLEMENTS = "PanoPainter-OSX/PanoPainter.entitlements";
CODE_SIGN_IDENTITY = "Mac Developer";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;

View File

@@ -108,8 +108,20 @@ void App::initAssets()
void App::initLog()
{
#if defined(__IOS__) || defined(__OSX__)
#if defined(__IOS__)
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* docpath = (NSString*)[paths objectAtIndex:0];
data_path = [docpath cStringUsingEncoding:NSASCIIStringEncoding];
NSString* recpath = [docpath stringByAppendingString:@"/rec"];
rec_path = [recpath cStringUsingEncoding:NSASCIIStringEncoding];
NSError* recerr = nil;
if (![[NSFileManager defaultManager] createDirectoryAtPath:recpath withIntermediateDirectories:YES attributes:nil error:&recerr])
{
LOG("error creating rec path: %s", [[recerr localizedDescription] cStringUsingEncoding:NSASCIIStringEncoding]);
}
#elif defined(__OSX__)
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSPicturesDirectory, NSUserDomainMask, YES);
NSString* docpath = [(NSString*)[paths objectAtIndex:0] stringByAppendingString:@"/PanoPainter"];
NSError* docerr = nil;
@@ -126,7 +138,7 @@ void App::initLog()
{
LOG("error creating rec path: %s", [[recerr localizedDescription] cStringUsingEncoding:NSASCIIStringEncoding]);
}
#elif _WIN32
#elif defined(_WIN32)
//CHAR my_documents[MAX_PATH];
//HRESULT result = SHGetFolderPathA(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, my_documents);