Is it not possible to write to the user preference folder in Mojave?

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
Hi.

Today i was informed by a customer that my app BRx Converter is not able to write data to the preference folder ~/library/preferences.

The app normally writes some registration info after successful registration to that folder. After that the app is switched from demo to full mode.
But under Mojave the app stays in Demo mode.  Is there something special in Mojave?

Regards,


Matthias Rebbe

free tools for Livecoders:
https://instamaker.dermattes.de
https://winsignhelper.dermattes.de

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
We make and sell a couple of research applications developed in
LiveCode. Increasingly, on both OSX and Windows, we are running into to
customers who's permissions prevent out app from writing to locations
that were once (in older OS versions) writable. In some cases, this has
been due to changes the OS manufacturer (Microsoft, Apple) have made and
in more cases,, institutions, business, universities, etc. are locking
down computers on their networks even more than in the past. In the
cases of increased institutional lock down, local IT staff have often
been able to adjust the permissions. Increasingly (as with the next
release of our main app) we have moved to creating a folder in
specialFolderPath("Documents") for our company and placing all app files
in their as it is the one of the only fully cross platform places to be
both read and writable.


On 10/28/2018 6:26 PM, Matthias Rebbe via use-livecode wrote:

> Hi.
>
> Today i was informed by a customer that my app BRx Converter is not able to write data to the preference folder ~/library/preferences.
>
> The app normally writes some registration info after successful registration to that folder. After that the app is switched from demo to full mode.
> But under Mojave the app stays in Demo mode.  Is there something special in Mojave?
>
> Regards,
>
>
> Matthias Rebbe
>
> free tools for Livecoders:
> https://instamaker.dermattes.de
> https://winsignhelper.dermattes.de
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
In reply to this post by Geoff Canyon via use-livecode
Sounds like more onerous sandboxing. I see why it's necessary, but I have a simpler and more elegant solution: Have an international moratorium on all malicious hackers where the penalty is a life sentence on the frozen moon Rura Penthe. By that I mean hard labor. Until we get tough, and I mean really REALLY tough on offenders, and leave them with no place to hide, what we get in the end is devices we ourselves are locked out of, and then hackers seem to be able to get in anyway.

Makes me crazy. So much for the golden age of the Internet, where compassion and tolerance flows from our mutually gained respect and understanding for all cultures and peoples. I like to say that the Internet is less like an Information Superhighway, and more like the wild, wild west with bands of highwaymen poised to waylay the unarmed and unsuspecting traveler. If I taught a computer class, that would be the first thing I would press home about shared computing.

Bob S


> On Oct 28, 2018, at 15:26 , Matthias Rebbe via use-livecode <[hidden email]> wrote:
>
> Hi.
>
> Today i was informed by a customer that my app BRx Converter is not able to write data to the preference folder ~/library/preferences.
>
> The app normally writes some registration info after successful registration to that folder. After that the app is switched from demo to full mode.
> But under Mojave the app stays in Demo mode.  Is there something special in Mojave?
>
> Regards,
>
>
> Matthias Rebbe
>
> free tools for Livecoders:
> https://instamaker.dermattes.de
> https://winsignhelper.dermattes.de
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
In reply to this post by Geoff Canyon via use-livecode
I´ve setup a VM with Mojave and my app was able to write the registration data to the preferences folder without a problem.

So i am not sure what´s going on  on the machine of the customer. But at least i know now that my app is able to access that folder.

Regards

Matthias Rebbe

free tools for Livecoders:
https://instamaker.dermattes.de <https://instamaker.dermattes.de/>
https://winsignhelper.dermattes.de <https://winsignhelper.dermattes.de/>

> Am 28.10.2018 um 23:26 schrieb Matthias Rebbe via use-livecode <[hidden email] <mailto:[hidden email]>>:
>
> Hi.
>
> Today i was informed by a customer that my app BRx Converter is not able to write data to the preference folder ~/library/preferences.
>
> The app normally writes some registration info after successful registration to that folder. After that the app is switched from demo to full mode.
> But under Mojave the app stays in Demo mode.  Is there something special in Mojave?
>
> Regards,
>
>
> Matthias Rebbe
>
> free tools for Livecoders:
> https://instamaker.dermattes.de <https://instamaker.dermattes.de/>
> https://winsignhelper.dermattes.de
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode



Matthias Rebbe

free tools for Livecoders:
https://instamaker.dermattes.de
https://winsignhelper.dermattes.de

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
I wonder if they are looged in as administrators?

Bob S


> On Oct 29, 2018, at 16:05 , Matthias Rebbe via use-livecode <[hidden email]> wrote:
>
> I´ve setup a VM with Mojave and my app was able to write the registration data to the preferences folder without a problem.
>
> So i am not sure what´s going on  on the machine of the customer. But at least i know now that my app is able to access that folder.
>
> Regards
>
> Matthias Rebbe

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
Tried here now with a standard  user and an admin account.
It works with both account types  w/o problems.

I will have to contact the customer again.  A big problem is that he´s Italian and does not speak english. At least his first emails were in Italian unless i mentioned that i had to translate his email to English and also my answer to Italian with Google Translate. After that he used Google Translate also.

I just can hope, that Google does its job good and i do not send offending messages to him. ;)

Regards,
Matthias


Matthias Rebbe

free tools for Livecoders:
https://instamaker.dermattes.de
https://winsignhelper.dermattes.de

> Am 30.10.2018 um 00:09 schrieb Bob Sneidar via use-livecode <[hidden email]>:
>
> I wonder if they are looged in as administrators?
>
> Bob S
>
>
>> On Oct 29, 2018, at 16:05 , Matthias Rebbe via use-livecode <[hidden email]> wrote:
>>
>> I´ve setup a VM with Mojave and my app was able to write the registration data to the preferences folder without a problem.
>>
>> So i am not sure what´s going on  on the machine of the customer. But at least i know now that my app is able to access that folder.
>>
>> Regards
>>
>> Matthias Rebbe
>
> _______________________________________________
> use-livecode mailing list
> [hidden email] <mailto:[hidden email]>
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode <http://lists.runrev.com/mailman/listinfo/use-livecode>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
Hi Matthias,
This is, without any doubt, a permissions issue and definitely nothing to
do with sandboxing. You need to unlock the folder you are saving to. The
recommended form is to have a folder within the preferences folder named
[domain].[appName] (ie, com.mycompany.myapp), and store your prefs files in
there. But you need to make sure that the permissions for both the main
Preferences folder and your app prefs folder are set to read/write for
either 'admin' AND/OR 'user'. Check also the permissions for the pref file
itself.

The Apple Dev Docs say this about the /Library/Preferences/ folder:

> You should not create files in this directory yourself. Instead, use the
> NSUserDefaults class or CFPreferences API to get and set preference values
> for your app.

Use of NSUserDefaults has not yet been set up for LC apps. You should be
okay to write there as long as the permissions are correct. You may have to
use a terminal command to find out for sure what the permissions are or to
change them using chmod or something.

All the best

Sean


On Tue, 30 Oct 2018 at 11:36, Matthias Rebbe via use-livecode <
[hidden email]> wrote:

> Tried here now with a standard  user and an admin account.
> It works with both account types  w/o problems.
>
> I will have to contact the customer again.  A big problem is that he´s
> Italian and does not speak english. At least his first emails were in
> Italian unless i mentioned that i had to translate his email to English and
> also my answer to Italian with Google Translate. After that he used Google
> Translate also.
>
> I just can hope, that Google does its job good and i do not send offending
> messages to him. ;)
>
> Regards,
> Matthias
>
>
> Matthias Rebbe
>
> free tools for Livecoders:
> https://instamaker.dermattes.de
> https://winsignhelper.dermattes.de
>
> > Am 30.10.2018 um 00:09 schrieb Bob Sneidar via use-livecode <
> [hidden email]>:
> >
> > I wonder if they are looged in as administrators?
> >
> > Bob S
> >
> >
> >> On Oct 29, 2018, at 16:05 , Matthias Rebbe via use-livecode <
> [hidden email]> wrote:
> >>
> >> I´ve setup a VM with Mojave and my app was able to write the
> registration data to the preferences folder without a problem.
> >>
> >> So i am not sure what´s going on  on the machine of the customer. But
> at least i know now that my app is able to access that folder.
> >>
> >> Regards
> >>
> >> Matthias Rebbe
> >
> > _______________________________________________
> > use-livecode mailing list
> > [hidden email] <mailto:[hidden email]>
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode <
> http://lists.runrev.com/mailman/listinfo/use-livecode>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
Hi Sean,

thanks for the information. But my app writes to the ~/Library/Preferences folder. And therefore the user should have write access to it.

As i wrote. On a new Mojave installation on a VM (i still have 10.13.6 here) i was able to write the registration details to that folder without problems. Even with a standard user account.

I will let you all know, when i found out why the customer could not register the app successfully.

Regards,

Matthias

Matthias Rebbe

free tools for Livecoders:
https://instamaker.dermattes.de
https://winsignhelper.dermattes.de

> Am 30.10.2018 um 15:28 schrieb Sean Cole (Pi) via use-livecode <[hidden email]>:
>
> Hi Matthias,
> This is, without any doubt, a permissions issue and definitely nothing to
> do with sandboxing. You need to unlock the folder you are saving to. The
> recommended form is to have a folder within the preferences folder named
> [domain].[appName] (ie, com.mycompany.myapp), and store your prefs files in
> there. But you need to make sure that the permissions for both the main
> Preferences folder and your app prefs folder are set to read/write for
> either 'admin' AND/OR 'user'. Check also the permissions for the pref file
> itself.
>
> The Apple Dev Docs say this about the /Library/Preferences/ folder:
>
>> You should not create files in this directory yourself. Instead, use the
>> NSUserDefaults class or CFPreferences API to get and set preference values
>> for your app.
>
> Use of NSUserDefaults has not yet been set up for LC apps. You should be
> okay to write there as long as the permissions are correct. You may have to
> use a terminal command to find out for sure what the permissions are or to
> change them using chmod or something.
>
> All the best
>
> Sean
>
>
> On Tue, 30 Oct 2018 at 11:36, Matthias Rebbe via use-livecode <
> [hidden email]> wrote:
>
>> Tried here now with a standard  user and an admin account.
>> It works with both account types  w/o problems.
>>
>> I will have to contact the customer again.  A big problem is that he´s
>> Italian and does not speak english. At least his first emails were in
>> Italian unless i mentioned that i had to translate his email to English and
>> also my answer to Italian with Google Translate. After that he used Google
>> Translate also.
>>
>> I just can hope, that Google does its job good and i do not send offending
>> messages to him. ;)
>>
>> Regards,
>> Matthias
>>
>>
>> Matthias Rebbe
>>
>> free tools for Livecoders:
>> https://instamaker.dermattes.de
>> https://winsignhelper.dermattes.de
>>
>>> Am 30.10.2018 um 00:09 schrieb Bob Sneidar via use-livecode <
>> [hidden email]>:
>>>
>>> I wonder if they are looged in as administrators?
>>>
>>> Bob S
>>>
>>>
>>>> On Oct 29, 2018, at 16:05 , Matthias Rebbe via use-livecode <
>> [hidden email]> wrote:
>>>>
>>>> I´ve setup a VM with Mojave and my app was able to write the
>> registration data to the preferences folder without a problem.
>>>>
>>>> So i am not sure what´s going on  on the machine of the customer. But
>> at least i know now that my app is able to access that folder.
>>>>
>>>> Regards
>>>>
>>>> Matthias Rebbe
>>>
>>> _______________________________________________
>>> use-livecode mailing list
>>> [hidden email] <mailto:[hidden email]>
>>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode <
>> http://lists.runrev.com/mailman/listinfo/use-livecode>
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
In reply to this post by Geoff Canyon via use-livecode
Of course asking end users to change permissions on folders is pretty much a non-starter.

Bob S


> On Oct 30, 2018, at 07:28 , Sean Cole (Pi) via use-livecode <[hidden email]> wrote:
>
> Hi Matthias,
> This is, without any doubt, a permissions issue and definitely nothing to
> do with sandboxing. You need to unlock the folder you are saving to. The
> recommended form is to have a folder within the preferences folder named
> [domain].[appName] (ie, com.mycompany.myapp), and store your prefs files in
> there. But you need to make sure that the permissions for both the main
> Preferences folder and your app prefs folder are set to read/write for
> either 'admin' AND/OR 'user'. Check also the permissions for the pref file
> itself.
>
> The Apple Dev Docs say this about the /Library/Preferences/ folder:
>
>> You should not create files in this directory yourself. Instead, use the
>> NSUserDefaults class or CFPreferences API to get and set preference values
>> for your app.
>
> Use of NSUserDefaults has not yet been set up for LC apps. You should be
> okay to write there as long as the permissions are correct. You may have to
> use a terminal command to find out for sure what the permissions are or to
> change them using chmod or something.
>
> All the best
>
> Sean


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
In reply to this post by Geoff Canyon via use-livecode
>
> The Apple Dev Docs say this about the /Library/Preferences/ folder:
>
> > You should not create files in this directory yourself. Instead, use the
> > NSUserDefaults class or CFPreferences API to get and set preference
> values
> > for your app.
>
> Use of NSUserDefaults has not yet been set up for LC apps. You should be
> okay to write there as long as the permissions are correct. You may have to
> use a terminal command to find out for sure what the permissions are or to
> change them using chmod or something.
>

Levure has a Preferences Helper that uses NSUserDefaults through an LCB
file in LC9 and an external in versions prior to LC9.

For those lucky souls using Levure you just have to activate the helper in
your project file. Others could grab the helper files from the Levure repo
and work them into their own project.

https://github.com/trevordevore/levure/tree/develop/framework/helpers/preferences

--
Trevor DeVore
ScreenSteps
www.screensteps.com
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Is it not possible to write to the user preference folder in Mojave?

Geoff Canyon via use-livecode
Hi Matthias,
The quote from Apple was in reference to the Library/Preferences folder in
the User directory, not the one in the root. To make it even more
abundantly clear this is what was meant, this page specifically references
~/...
https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/MacOSXDirectories/MacOSXDirectories.html

This is definitely a permissions issue. Resolve the permissions problem
(despite Bobs 'non-starter' comment), and your client can start using your
app again. The fact it works on your machine and clean VMs shows that it is
specific to his system and needs fixing.

Trevors link is exceptionally helpful. Big thumbs up. We could do with that
in the main app in the iOS standalone settings.

All the best to you all.

Sean

On Tue, 30 Oct 2018 at 18:12, Trevor DeVore via use-livecode <
[hidden email]> wrote:

> >
> > The Apple Dev Docs say this about the /Library/Preferences/ folder:
> >
> > > You should not create files in this directory yourself. Instead, use
> the
> > > NSUserDefaults class or CFPreferences API to get and set preference
> > values
> > > for your app.
> >
> > Use of NSUserDefaults has not yet been set up for LC apps. You should be
> > okay to write there as long as the permissions are correct. You may have
> to
> > use a terminal command to find out for sure what the permissions are or
> to
> > change them using chmod or something.
> >
>
> Levure has a Preferences Helper that uses NSUserDefaults through an LCB
> file in LC9 and an external in versions prior to LC9.
>
> For those lucky souls using Levure you just have to activate the helper in
> your project file. Others could grab the helper files from the Levure repo
> and work them into their own project.
>
>
> https://github.com/trevordevore/levure/tree/develop/framework/helpers/preferences
>
> --
> Trevor DeVore
> ScreenSteps
> www.screensteps.com
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode