IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Graham Cox
I’m exploring the use of the new IB_DESIGNABLE macro to preview a custom view 
live in IB.

It keeps complaining that my view is taking too long to draw, over 200mS, which 
seems to be a limit built into IB. However, when I measure the time myself for 
drawing, it’s nowhere near this long - 10mS max, typically 2mS. Because of this 
constant and apparently erroneous complaint, IB doesn’t show my custom view. 
I’ve even tried to do some minimal drawing (just filling the dirty rect) for 
just the Interface Builder target, but I get the same problem, so it’s pretty 
clear that the timeout is nothing to do with my drawing.

At other times IB complains that the rendering agent “crashed”, though it’s 
actually an exception from the bowels of Core Graphics. My usual drawing code 
never triggers the same exception, only when it’s drawn by the IB rendering 
agent.

Has anyone been able to make this work?

—Graham



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Kevin Meaney
I am using this in in swift code that then calls into objective-c. I could not 
get it to work at first but that was because the drawing code was in a 
objective-c framework where the framework was being loaded with a run path 
search path that was relative to the application. I had to modify the framework 
path to @rpath and switch to loading it using @loader_path.

It works now, but does seem fragile.

Kevin

Sent from my iPad

 On 12 May 2015, at 07:43, Graham Cox graham@bigpond.com wrote:
 
 I’m exploring the use of the new IB_DESIGNABLE macro to preview a custom view 
 live in IB.
 
 It keeps complaining that my view is taking too long to draw, over 200mS, 
 which seems to be a limit built into IB. However, when I measure the time 
 myself for drawing, it’s nowhere near this long - 10mS max, typically 2mS. 
 Because of this constant and apparently erroneous complaint, IB doesn’t show 
 my custom view. I’ve even tried to do some minimal drawing (just filling the 
 dirty rect) for just the Interface Builder target, but I get the same 
 problem, so it’s pretty clear that the timeout is nothing to do with my 
 drawing.
 
 At other times IB complains that the rendering agent “crashed”, though it’s 
 actually an exception from the bowels of Core Graphics. My usual drawing code 
 never triggers the same exception, only when it’s drawn by the IB rendering 
 agent.
 
 Has anyone been able to make this work?
 
 —Graham
 
 
 
 ___
 
 Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
 
 Please do not post admin requests or moderator comments to the list.
 Contact the moderators at cocoa-dev-admins(at)lists.apple.com
 
 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/cocoa-dev/ktam%40yvs.eu.com
 
 This email sent to k...@yvs.eu.com

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Roland King

 On 12 May 2015, at 14:43, Graham Cox graham@bigpond.com wrote:
 
 I’m exploring the use of the new IB_DESIGNABLE macro to preview a custom view 
 live in IB.
 
 It keeps complaining that my view is taking too long to draw, over 200mS, 
 which seems to be a limit built into IB. However, when I measure the time 
 myself for drawing, it’s nowhere near this long - 10mS max, typically 2mS. 
 Because of this constant and apparently erroneous complaint, IB doesn’t show 
 my custom view. I’ve even tried to do some minimal drawing (just filling the 
 dirty rect) for just the Interface Builder target, but I get the same 
 problem, so it’s pretty clear that the timeout is nothing to do with my 
 drawing.
 
 At other times IB complains that the rendering agent “crashed”, though it’s 
 actually an exception from the bowels of Core Graphics. My usual drawing code 
 never triggers the same exception, only when it’s drawn by the IB rendering 
 agent.
 
 Has anyone been able to make this work?
 
 —Graham

I have been able to make it work but it’s not been a trouble-free experience. 
There was at least one version of Xcode I couldn’t make it work at all. I’ve 
had other times that a quit/restart was needed to get it going. 

I suspect that this is not your problem but I will mention I have a bug report 
out that the IB render code calls initWithFrame: which isn’t required in Swift 
and I hadn’t in one case implemented it, so it just crashed, or hung or both. 
You’re most-likely in obj-c so that is unlikely to be your issue. You could 
override it anyway just for good measure. 

The docs and the WWDC video say the custom control must be in a framework but I 
believe that’s not actually true, or no-longer true as of the released Xcode 6? 
There was a note somewhere about this but I can’t find it now and neither can 
google.

You can debug these IB designable things. I found that if I was able to get the 
view to enable the Debug Selected Views menu item then it seemed IB was mostly 
happy with the control. 

Not entirely helpful I know - I just bashed my head against the brick wall for 
a while until it worked. 
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Michael David Crawford
I haven't tried it myself but this sounds like a bug in IB rather than
in your own code.

Perhaps you should take a stab at writing a minimal test case, then if
that demonstrates that it really is a bug, file a radar.

On 5/12/15, Roland King r...@rols.org wrote:

 On 12 May 2015, at 14:43, Graham Cox graham@bigpond.com wrote:

 I'm exploring the use of the new IB_DESIGNABLE macro to preview a custom
 view live in IB.

 It keeps complaining that my view is taking too long to draw, over 200mS,
 which seems to be a limit built into IB. However, when I measure the time
 myself for drawing, it's nowhere near this long - 10mS max, typically 2mS.
 Because of this constant and apparently erroneous complaint, IB doesn't
 show my custom view. I've even tried to do some minimal drawing (just
 filling the dirty rect) for just the Interface Builder target, but I get
 the same problem, so it's pretty clear that the timeout is nothing to do
 with my drawing.

 At other times IB complains that the rendering agent crashed, though
 it's actually an exception from the bowels of Core Graphics. My usual
 drawing code never triggers the same exception, only when it's drawn by
 the IB rendering agent.

 Has anyone been able to make this work?

 --Graham

 I have been able to make it work but it's not been a trouble-free
 experience. There was at least one version of Xcode I couldn't make it work
 at all. I've had other times that a quit/restart was needed to get it going.

 I suspect that this is not your problem but I will mention I have a bug
 report out that the IB render code calls initWithFrame: which isn't required
 in Swift and I hadn't in one case implemented it, so it just crashed, or
 hung or both. You're most-likely in obj-c so that is unlikely to be your
 issue. You could override it anyway just for good measure.

 The docs and the WWDC video say the custom control must be in a framework
 but I believe that's not actually true, or no-longer true as of the released
 Xcode 6? There was a note somewhere about this but I can't find it now and
 neither can google.

 You can debug these IB designable things. I found that if I was able to get
 the view to enable the Debug Selected Views menu item then it seemed IB was
 mostly happy with the control.

 Not entirely helpful I know - I just bashed my head against the brick wall
 for a while until it worked.
 ___

 Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

 Please do not post admin requests or moderator comments to the list.
 Contact the moderators at cocoa-dev-admins(at)lists.apple.com

 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com

 This email sent to mdcrawf...@gmail.com


-- 
Michael David Crawford, Consulting Software Engineer
mdcrawf...@gmail.com
http://www.warplife.com/mdc/

   Available for Software Development in the Portland, Oregon Metropolitan
Area.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Core Data sync between iOS and Mac apps

2015-05-12 Thread Kyle Sluder
On Tue, May 12, 2015, at 10:35 AM, Jens Alfke wrote:
 You can still handle conflicts using Dropbox, it’s just trickier. You’ll
 need to detect the renamed version of the file that Dropbox creates —
 something like “MyAppData (Jens Alfke's conflicted copy 2015-05-09).db” —
 then open both files and reconcile any changes, then save back to the
 original file and delete the conflicted copy. And somehow keep both
 devices from doing this at the same time, or you’re back at square one.

There was a hilarious* bug in an early version of OmniPresence where
clients a) eagerly resolved conflicts and b) did not back off if their
attempt to resolve the conflict created another conflict.

The result was that if you had two Macs running OmniPresence, and you
managed to create a conflict, occasionally both machines would just
start generating infinite duplicates of the conflicted document.

--Kyle Sluder

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

App is not running with the release build

2015-05-12 Thread Sasikumar JP
Hi,
I am developing an iPhone app. My application is working fine with 
development build.

I have started distributing the app through beta channel for testing.
If I distribute the release build through crashlytics or test flight, app is 
not running. It shows the launcher screen and closes immediately.

App does not produce any crashes as I did not see any crash report on 
crashlytics or iPhone device log also does not show me any crash files.So I am 
assuming that app is not crashing. 

How to debug this strange issue.

Any help is highly appreciated to identify the real issue.

Regards
Sasikumar JP

Sent from my iPhone
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: How to draw a NSView on top of a WebView and don't get overriden trying

2015-05-12 Thread Mike Abdullah
The failsafe way is to place a child window over the WebView. I’m not 100% sure 
but I think popovers work that way behind the scenes, so maybe one of them 
would be usable for this.

 On 12 May 2015, at 22:44, Juanjo Conti jjco...@carouselapps.com wrote:
 
 I have a WebView and I want to show some messages over it. For this I'm
 using a NSView.
 
 If I add it as a subView of WebView or if I add it as a subView of the
 WebView's superView, it's shown for a while but if the WebView gets
 scrolled or if I load sites gmail.com or twitter (without logging in), the
 website hides my NSView.
 
 Is this a known problem? is there any solution?
 
 Thanks in advance,
 -- 
 
 Juanjo Conti jjconti http://goog_2023646312@carouselapps.com
 jjco...@carouselapps.com
 
 Software Engineer - Carousel Apps https://carouselapps.com
 
 -- 
 Carousel Apps Limited, registered in England  Wales with registered number 
 7689440 and registered office Unit 2 Artbrand Studios, 7 Leathermarket 
 Street, London SE1 3HN. Any communication sent by or on behalf of Carousel 
 App Ltd or any of its subsidiary, holding or affiliated companies or 
 entities (together Watu) is confidential and may be privileged or 
 otherwise protected. If you receive it in error please inform us and then 
 delete it from your system. You should not copy it or disclose its contents 
 to anyone. Messages sent to and from Watu may be monitored to ensure 
 compliance with our internal policies and to protect our business. Emails 
 are not secure and cannot be guaranteed to be error free. Anyone who 
 communicates with us by email is taken to accept these risks.
 ___
 
 Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
 
 Please do not post admin requests or moderator comments to the list.
 Contact the moderators at cocoa-dev-admins(at)lists.apple.com
 
 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/cocoa-dev/mabdullah%40karelia.com
 
 This email sent to mabdul...@karelia.com


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Aggravation trying to implement NSValueTransformer subclasses in Swift

2015-05-12 Thread William Squires
I'm trying to make what should be a fairly simple value transformer. I need to 
bind the Enabled state of a control (NSButton in this case, but it could be any 
control) to the .isEmpty state of a string. I would think this a common enough 
task that an existing value transformer would be supplied, but I guess not. 
Unfortunately, the documentation only gives a sample in ObjC, but not Swift.

I have the following:

class MyWindowController : NSWindowController
{
  dynamic var message: String

  override var windowNibName: String
{
return MyWindowController
}
  ...
}

there's an NSTextField in the window, and it's value is bound to the message 
variable with bindings; simple enough. There's also a button whose enabled 
status I want controlled based on if the value of message is the empty 
string, so I make:

class IsNotEmptyTransformer : NSValueTransformer
{
}

but the example in the documentation is in ObjC, not Swift, and refers to id, 
not to Bools or Strings. Hints, anyone?


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

How to draw a NSView on top of a WebView and don't get overriden trying

2015-05-12 Thread Juanjo Conti
I have a WebView and I want to show some messages over it. For this I'm
using a NSView.

If I add it as a subView of WebView or if I add it as a subView of the
WebView's superView, it's shown for a while but if the WebView gets
scrolled or if I load sites gmail.com or twitter (without logging in), the
website hides my NSView.

Is this a known problem? is there any solution?

Thanks in advance,
-- 

Juanjo Conti jjconti http://goog_2023646312@carouselapps.com
jjco...@carouselapps.com

Software Engineer - Carousel Apps https://carouselapps.com

-- 
Carousel Apps Limited, registered in England  Wales with registered number 
7689440 and registered office Unit 2 Artbrand Studios, 7 Leathermarket 
Street, London SE1 3HN. Any communication sent by or on behalf of Carousel 
App Ltd or any of its subsidiary, holding or affiliated companies or 
entities (together Watu) is confidential and may be privileged or 
otherwise protected. If you receive it in error please inform us and then 
delete it from your system. You should not copy it or disclose its contents 
to anyone. Messages sent to and from Watu may be monitored to ensure 
compliance with our internal policies and to protect our business. Emails 
are not secure and cannot be guaranteed to be error free. Anyone who 
communicates with us by email is taken to accept these risks.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Graham Cox

 On 13 May 2015, at 10:06 am, Kyle Sluder k...@ksluder.com wrote:
 
 On Tue, May 12, 2015, at 06:38 PM, Graham Cox wrote:
 
 So it looks as if a property that is IBInspectable may be getting
 incorrectly set to 0 by IB AFTER -initWithFrame: is called, maybe because
 the user interacts with the inspectable properties but doesn’t set a
 value - rather than leaving it alone it forces it to 0. That’s definitely
 a bug. It could also be caused by the stale values I mentioned before,
 where removing IBInspectable attribute from a property doesn’t remove the
 property setting in the nib.
 
 IBInspectable properties are just a convenience for setting User-Defined
 Runtime Attributes on the Identity inspector. Since the original purpose
 of User-Defined Runtime Attributes is to set values that IB doesn't know
 about, IB can't forget settings for which the IBInspectable property has
 been removed.
 
 Likewise, there is no such thing as a valueless User-Defined Runtime
 Attribute. Conceptually, we could add one, since UDRAs are just a way to
 say call -setValue:forKey: after decoding, and nil values are
 acceptable here (as opposed to, say, dictionaries).


When you say ‘we’, does that mean this is something you are working on?

If there’s no such thing as a ‘valueless’ inspectable property, why does the UI 
seem to indicate that there is - for example a BOOL property has on, off and 
‘default’, and a numeric property shows ‘- -‘ instead of its initial value? 
This is confusing because it appears to imply that if you don’t enter a value, 
the property will not be touched and whatever the code initialises it to will 
be used. Instead, what actually happens is that it’s set to 0, NO, nil, etc 
depending on type.

Because IB is always invoking -initWithCoder: even though I was expecting 
-initWithFrame: (I’ve fixed that by calling some common initialisation), it 
means that the coder method has to be liberally sprinkled with if([coder 
containsValueForKey:…]) tests so that properties don’t get wiped out by 0, NO, 
nil when they’re not present. Obviously, after this, properties that are UDRAs 
are set anyway. The problem is that if a property was IBInspectable for a 
while, and then not made IBInspectable, a stale value of 0 for that property 
remains in the nib, even though there’s no interface to it at all - neither a 
UDRA or IBInspectable. This then wipes out the property value that is set as 
part of the initialisation, even though -initWithCoder: took care not to 
overwrite it with 0. This seems like a bug because there’s no way to prevent it 
- there’s no longer any UI at all in IB for the property yet it’s still there, 
forcing a zero value when UDRAs are set. What I think should happen is that IB 
does simply “forget” that any such UDRA ever existed when the IBInspectable 
attribute is removed. Then it won’t ever set it and any initialisation done in 
code before UDRAs are set should stick.

 If you're an old-school Mac developer, one of the tricks to getting
 along with IBInspectable is forgetting everything you've ever known
 about IB Plugins. :P

Well, I never wrote an IB plugin so that’s not misleading me here.


 Overall, looks promising but right now too buggy to rely on. :(
 
 Radars are always welcome. :)


Certainly, once I understand what’s really going on :)

—Graham



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Kyle Sluder
 On May 12, 2015, at 5:49 PM, Graham Cox graham@bigpond.com wrote:
 
 
 On 13 May 2015, at 10:06 am, Kyle Sluder k...@ksluder.com wrote:
 
 On Tue, May 12, 2015, at 06:38 PM, Graham Cox wrote:
 
 So it looks as if a property that is IBInspectable may be getting
 incorrectly set to 0 by IB AFTER -initWithFrame: is called, maybe because
 the user interacts with the inspectable properties but doesn’t set a
 value - rather than leaving it alone it forces it to 0. That’s definitely
 a bug. It could also be caused by the stale values I mentioned before,
 where removing IBInspectable attribute from a property doesn’t remove the
 property setting in the nib.
 
 IBInspectable properties are just a convenience for setting User-Defined
 Runtime Attributes on the Identity inspector. Since the original purpose
 of User-Defined Runtime Attributes is to set values that IB doesn't know
 about, IB can't forget settings for which the IBInspectable property has
 been removed.
 
 Likewise, there is no such thing as a valueless User-Defined Runtime
 Attribute. Conceptually, we could add one, since UDRAs are just a way to
 say call -setValue:forKey: after decoding, and nil values are
 acceptable here (as opposed to, say, dictionaries).
 
 
 When you say ‘we’, does that mean this is something you are working on?

I don’t work on Interface Builder.

 
 If there’s no such thing as a ‘valueless’ inspectable property, why does the 
 UI seem to indicate that there is - for example a BOOL property has on, off 
 and ‘default’, and a numeric property shows ‘- -‘ instead of its initial 
 value? This is confusing because it appears to imply that if you don’t enter 
 a value, the property will not be touched and whatever the code initialises 
 it to will be used. Instead, what actually happens is that it’s set to 0, NO, 
 nil, etc depending on type.

I was speaking from the perspective of UDRAs: you can't set a nil Number or 
String, for example.

If you have default properties, those definitely should not be touched, and 
you should file a bug.

 
 Because IB is always invoking -initWithCoder: even though I was expecting 
 -initWithFrame: (I’ve fixed that by calling some common initialisation), it 
 means that the coder method has to be liberally sprinkled with if([coder 
 containsValueForKey:…]) tests so that properties don’t get wiped out by 0, 
 NO, nil when they’re not present. 

Ah, I see what you mean now.

I actually think that whether IB calls -initWithCoder: or -initWithFrame: is 
technically undocumented. You should file a bug about that, too.

 Obviously, after this, properties that are UDRAs are set anyway. The problem 
 is that if a property was IBInspectable for a while, and then not made 
 IBInspectable, a stale value of 0 for that property remains in the nib, even 
 though there’s no interface to it at all - neither a UDRA or IBInspectable.

OK, that surprises me. If you peek at the XIB contents, do you see the dummy 
values for the IBInspectable properties there?

--Kyle Sluder
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Kevin Meaney

 On 12 May 2015, at 08:33, Roland King r...@rols.org wrote:
 
 
 On 12 May 2015, at 14:43, Graham Cox graham@bigpond.com wrote:
 
 I’m exploring the use of the new IB_DESIGNABLE macro to preview a custom 
 view live in IB.
 
 It keeps complaining that my view is taking too long to draw, over 200mS, 
 which seems to be a limit built into IB. However, when I measure the time 
 myself for drawing, it’s nowhere near this long - 10mS max, typically 2mS. 
 Because of this constant and apparently erroneous complaint, IB doesn’t show 
 my custom view. I’ve even tried to do some minimal drawing (just filling the 
 dirty rect) for just the Interface Builder target, but I get the same 
 problem, so it’s pretty clear that the timeout is nothing to do with my 
 drawing.
 
 At other times IB complains that the rendering agent “crashed”, though it’s 
 actually an exception from the bowels of Core Graphics. My usual drawing 
 code never triggers the same exception, only when it’s drawn by the IB 
 rendering agent.
 
 Has anyone been able to make this work?
 
 —Graham
 
 I have been able to make it work but it’s not been a trouble-free experience. 
 There was at least one version of Xcode I couldn’t make it work at all. I’ve 
 had other times that a quit/restart was needed to get it going. 
 
 I suspect that this is not your problem but I will mention I have a bug 
 report out that the IB render code calls initWithFrame: which isn’t required 
 in Swift and I hadn’t in one case implemented it, so it just crashed, or hung 
 or both. You’re most-likely in obj-c so that is unlikely to be your issue. 
 You could override it anyway just for good measure. 
 
 The docs and the WWDC video say the custom control must be in a framework but 
 I believe that’s not actually true, or no-longer true as of the released 
 Xcode 6? There was a note somewhere about this but I can’t find it now and 
 neither can google.

Correct, the custom control does not have to be in a framework. I should 
clarify from my previous e-mail that my custom control is not in a Framework, 
but it does call into a framework to do the drawing which is unrelated to any 
IB_DESIGNABLE requirements.

Kevin


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: How to draw a NSView on top of a WebView and don't get overriden trying

2015-05-12 Thread Jens Alfke

 On May 12, 2015, at 1:44 PM, Juanjo Conti jjco...@carouselapps.com wrote:
 
 If I add it as a subView of WebView or if I add it as a subView of the
 WebView's superView, it's shown for a while but if the WebView gets
 scrolled or if I load sites gmail.com http://gmail.com/ or twitter (without 
 logging in), the
 website hides my NSView.

In general this technique works, but some types of views use drawing 
optimizations that override the display of subviews. That might be happening 
with the WebView, especially since they render in an oddball way (the content 
is drawn in a separate sandboxed process.)

A child window will always draw correctly, but you’ll have to move it yourself 
when the web view scrolls, because its coordinates are relative to the parent 
window’s origin, not to the web view’s scroll position.

(You might also want to ask on the webkitsdk-dev mailing list, where the real 
WebKit experts can be found.)

—Jens
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Aggravation trying to implement NSValueTransformer subclasses in Swift

2015-05-12 Thread Jens Alfke

 On May 12, 2015, at 2:29 PM, William Squires wsqui...@satx.rr.com wrote:
 
 but the example in the documentation is in ObjC, not Swift, and refers to id, 
 not to Bools or Strings. Hints, anyone?

‘id’ in Obj-C is ‘AnyObject’ in Swift. You’ll need to use the “as” or “as?” 
operator to type-cast it to NSNumber or NSString. You should also read Apple’s 
book on using Swift with Objective-C, because there’s a lot more to know before 
you get started.

—Jens
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Graham Cox

 On 13 May 2015, at 1:22 am, Sean McBride s...@rogue-research.com wrote:
 
 After some difficulty, yes.  But it seems to only support direct subclasses 
 of NSView, not NSControl for example.  What's your superclass?


Well, it is a NSControl subclass (in fact the volume knob discussed in another 
thread - just a handy vehicle to explore this new IB feature). On the occasions 
where it “crashes” (actually an exception) rather than times out, the stack 
trace shows that the IB agent is rendering the view’s content on a thread, and 
after a bit of set-up, calls -drawRect: In this particular case I’m not doing 
anything that is specific to NSControl - I don’t even use a cell. The exception 
is thrown when drawing an NSImage. At this point I’m not sure that it being a 
NSControl subclass would be the issue, because there’s nothing it’s doing 
different than a custom NSView, but it’s certainly something to try.

One possible issue in this case is that the first time -drawRect: for any 
instance is called, it calls a class method to load the image from a resource, 
which is then retained indefinitely. This lazy loading is why the first draw 
takes 10mS and later ones only 2, but since it’s being invoked on a thread I 
did need to add some synchronization to the class methods that perform the 
loading. This seemed to make IB a little happier, in that one instance actually 
drew as expected in IB, though others still report a time-out and the sometime 
crash is still happening. (Prewarming the images didn’t make any difference 
anyway).

I’ve noticed a load of other problems relating to the IBInspectable attribute 
on properties as well, such as removing the IBInspectable attribute does not 
remove the value in the nib itself, causng the property to be initialized with 
a stale and incorrect value. It also doesn’t handle simple enumerated type 
properties which is a pretty serious limitation. Also changing any of these 
property values in IB doesn’t reflect the change in the drawn view, though it 
might be because of the other problems I’m having with that.

At this stage it looks like a useful thing to have in IB, but it’ll be an awful 
lot nicer when it’s finished.


--Graham



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Akis Kesoglou

 On 13 Μαΐ 2015, at 02:04, Graham Cox graham@bigpond.com wrote:
 
 One possible issue in this case is that the first time -drawRect: for any 
 instance is called, it calls a class method to load the image from a 
 resource, which is then retained indefinitely. 

There's a method if I remember correctly that you can use to prepare an 
IB_DESIGNABLE view: - (void)prepareForInterfaceBuilder


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Kyle Sluder
On Tue, May 12, 2015, at 06:38 PM, Graham Cox wrote:
 
 So it looks as if a property that is IBInspectable may be getting
 incorrectly set to 0 by IB AFTER -initWithFrame: is called, maybe because
 the user interacts with the inspectable properties but doesn’t set a
 value - rather than leaving it alone it forces it to 0. That’s definitely
 a bug. It could also be caused by the stale values I mentioned before,
 where removing IBInspectable attribute from a property doesn’t remove the
 property setting in the nib.

IBInspectable properties are just a convenience for setting User-Defined
Runtime Attributes on the Identity inspector. Since the original purpose
of User-Defined Runtime Attributes is to set values that IB doesn't know
about, IB can't forget settings for which the IBInspectable property has
been removed.

Likewise, there is no such thing as a valueless User-Defined Runtime
Attribute. Conceptually, we could add one, since UDRAs are just a way to
say call -setValue:forKey: after decoding, and nil values are
acceptable here (as opposed to, say, dictionaries).

If you're an old-school Mac developer, one of the tricks to getting
along with IBInspectable is forgetting everything you've ever known
about IB Plugins. :P

 Overall, looks promising but right now too buggy to rely on. :(

Radars are always welcome. :)

--Kyle Sluder

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Roland King

 On 13 May 2015, at 07:04, Graham Cox graham@bigpond.com wrote:
 
 
 On 13 May 2015, at 1:22 am, Sean McBride s...@rogue-research.com wrote:
 
 After some difficulty, yes.  But it seems to only support direct subclasses 
 of NSView, not NSControl for example.  What's your superclass?
 
 
 One possible issue in this case is that the first time -drawRect: for any 
 instance is called, it calls a class method to load the image from a 
 resource, which is then retained indefinitely. This lazy loading is why the 
 first draw takes 10mS and later ones only 2, but since it’s being invoked on 
 a thread I did need to add some synchronization to the class methods that 
 perform the loading. This seemed to make IB a little happier, in that one 
 instance actually drew as expected in IB, though others still report a 
 time-out and the sometime crash is still happening. (Prewarming the images 
 didn’t make any difference anyway).
 

How are you loading the resource? [ NSBundle mainBundle ] .. ] probably won’t 
work, you need to use bundleForClass. Since that’s now true for resources in 
frameworks too I’m trying to use that pattern myself. 

 I’ve noticed a load of other problems relating to the IBInspectable attribute 
 on properties as well, such as removing the IBInspectable attribute does not 
 remove the value in the nib itself, causng the property to be initialized 
 with a stale and incorrect value. It also doesn’t handle simple enumerated 
 type properties which is a pretty serious limitation. Also changing any of 
 these property values in IB doesn’t reflect the change in the drawn view, 
 though it might be because of the other problems I’m having with that.

Definitely live-updating works The other two things, lack of enumerated types 
and IB not removing the property are definitely issues, especially the 
enumerated types which would be very useful. 
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Aggravation trying to implement NSValueTransformer subclasses in Swift

2015-05-12 Thread Quincey Morris
On May 12, 2015, at 15:38 , Quincey Morris 
quinceymor...@rivergatesoftware.com wrote:
 
 dynamic var message: String
 dynamic var messageIsEmpty: Bool {return String == “”}
 static var keyPathsForValuesAffectingMessageIsEmpty: NSSet {return NSSet 
 (object: messageIsEmpty”)}

FWIW, a Swift-ier way to do this might be something like:

dynamic var message: String =  {
didSet {messageIsEmpty = message == }
}
private(set) dynamic var messageIsEmpty: Bool = true

This is at the cost of actually storing the derived property value, though 
that’s not likely to be a problem in window controller.

(Again, not tested.)



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Graham Cox

 On 13 May 2015, at 9:15 am, Akis Kesoglou akiskesog...@gmail.com wrote:
 
 
 On 13 Μαΐ 2015, at 02:04, Graham Cox graham@bigpond.com wrote:
 
 One possible issue in this case is that the first time -drawRect: for any 
 instance is called, it calls a class method to load the image from a 
 resource, which is then retained indefinitely. 
 
 There's a method if I remember correctly that you can use to prepare an 
 IB_DESIGNABLE view: - (void)prepareForInterfaceBuilder
 


Ah, that’s pretty helpful.

I used this method to establish all the property value defaults that are used 
when drawing. Now, IB displays my controls and is no longer complaining.

What’s weird is that I set all the same property defaults in -initWithFrame: 
(n.b. this nib file is set NOT to prefer NSCoder).

It’s pretty reasonable to expect the drawing a view does to take into account 
any number of properties, and that those properties may be IBInspectable. 
However without forcing the values to their defaults again in 
-prepareForInterfaceBuilder, many of them end up at 0. In this case that led to 
a number of drawing parameters becoming NaNs, which was why Core Graphics was 
throwing an exception. It’s also possible that it was causing some drawing to 
take an “infinite” amount of time to draw though I can’t quite see where that 
could have arisen. I’ve added a few additional sanity checks to catch 
unexpected zeros.

So it looks as if a property that is IBInspectable may be getting incorrectly 
set to 0 by IB AFTER -initWithFrame: is called, maybe because the user 
interacts with the inspectable properties but doesn’t set a value - rather than 
leaving it alone it forces it to 0. That’s definitely a bug. It could also be 
caused by the stale values I mentioned before, where removing IBInspectable 
attribute from a property doesn’t remove the property setting in the nib.

Overall, looks promising but right now too buggy to rely on. :(

—Graham





___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Aggravation trying to implement NSValueTransformer subclasses in Swift

2015-05-12 Thread Quincey Morris
On May 12, 2015, at 14:29 , William Squires wsqui...@satx.rr.com wrote:
 
 class IsNotEmptyTransformer : NSValueTransformer
 {
 }
 
 but the example in the documentation is in ObjC, not Swift, and refers to id, 
 not to Bools or Strings. Hints, anyone?

Using a value transformer at all seems like a poor choice, and using one in 
Swift seems even less desirable.

If you are intent on using one, you’ll need to ask a more specific question. 
What ‘id’ are you referring to? If you’re talking about the transformed value, 
then you have to use an object — specifically NSNumber to represent a boolean 
value. IOW, for your use case, the transformer would transform between NSNumber 
and NSString.

Surely it would be far easier, though, to do what you would do in a modern 
Obj-C app: use a derived property. Add a new property to the window controller:

class MyWindowController : NSWindowController
{
 dynamic var message: String
 dynamic var messageIsEmpty: Bool {return String == “”}

and bind the button’s Enabled binding to the “messageIsEmpty” property. That’s 
not quite all, though, because as it stands, “messageIsEmpty” isn’t 
KVO-compliant, so you also need to add:

 static var keyPathsForValuesAffectingMessageIsEmpty: NSSet {return NSSet 
(object: messageIsEmpty”)}

(All code written in Mail, not tested.)



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Graham Cox

 On 13 May 2015, at 9:37 am, Roland King r...@rols.org wrote:
 
 How are you loading the resource? [ NSBundle mainBundle ] .. ] probably won’t 
 work, you need to use bundleForClass. Since that’s now true for resources in 
 frameworks too I’m trying to use that pattern myself. 

Yes, I’m using -bundleForClass - you never know when you might move a handy 
object into a framework:)


 Definitely live-updating works

Yep, now I’ve got past the basic problems this is working as expected.


 The other two things, lack of enumerated types and IB not removing the 
 property are definitely issues, especially the enumerated types which would 
 be very useful.


I think I’ve got to the root cause of this. IB is using -initWithCoder: to 
initialise the view, even though “prefer coder” is unchecked. That means all 
the initialisation I’m doing in -initWithFrame: is being bypassed, leading to 
some non-useful default values. Also, the -prepareForInterfaceBuilder method is 
being called every time a property is changed, as part of the updating of the 
preview. No problem, except it means it’s not a good place to set up default 
property values. Some refactoring of my init methods will sort this out, though 
so would IB honouring the ‘prefer coder’ setting.

—Graham



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Core Data sync between iOS and Mac apps

2015-05-12 Thread davelist

CloudKit does seem to be Apple’s answer going forward (which makes me suspect 
Core Data sync will not improve) but CloudKit requires internet access for the 
app to work at all which I don’t want to require.

I’m not sure I understand your concerns about Dropbox. The app is single user 
so when the iOS enters the background, I can upload the data (if there’s a 
network connection at the moment) for modified files to Dropbox. When the app 
starts I can check Dropbox (or warn the user that there may be a newer version 
on Dropbox if there’s no internet connection) to see if the document files are 
newer on Dropbox. It’s not as clean as a pure sync but gives the user more 
control over their data (which is important for my app).

Dave



 On May 10, 2015, at 1:37 PM, Alex Kac a...@webis.net wrote:
 
 I would try CloudKit. Its super simple and far simpler than using Dropbox. 
 Plus using Dropbox you end up with lots of issues going forward that you 
 don't want to mess with. Different database versions, data that is not 
 written to disk when you make the copy due to disk caches, and a lot more. 
 
 CloudKit is Apple's solution for sync between Apple devices. CoreData sync 
 over iCloud was never going to work well. I loved the idea, but as everyone 
 knows its implementation wasn't really foolproof. Many of us realized that 
 the better solution is a cloud sync that we designed ourselves. Apple 
 providing CloudKit solves that for Apple-only users. 
 
 
 
 On Sun, May 10, 2015 at 7:16 AM, davel...@mac.com wrote:
 
 Thanks MIchael. That's what I was afraid of (i.e., that Apple doesn't make 
 this straightforward). I first looked at BSManagedDocument 2-3 years ago but 
 never got around to trying it for my original app as I kept hoping Apple 
 would have an official solution to this problem.
 
 Also thanks to Jens Alfke for his reply about Couchbase Lite 
 (http://www.couchbase.com/nosql-databases/couchbase-mobile). I may look into 
 it but after skimming the site, I couldn't tell exactly what I would need 
 (i.e., would I need to setup my own server or use a server that your company 
 provides, etc.). I doubt my app would generate enough income to even cover 
 the server costs. My apps are for teachers and I write them because I want to 
 use them myself but they don't generate much money given the fairly narrow 
 target audience and that many schools provide systems the teacher has to use 
 for the tasks (i.e., my existing iOS apps, Attendance and Attendance2 are for 
 taking attendance in class and generating reports, etc.). Jens, I may send 
 you an email off-list with a few more questions (that you can ignore if you 
 want).
 
 I may just end up using Dropbox without sync (i.e., have the user send the 
 data to Dropbox from the iOS app) when they want to use it on the Mac and 
 import the data from Dropbox into iOS after the data has been changed on the 
 Mac. It's not elegant but it's better than risking data corruption via an 
 automatic sync that isn't reliable. Perhaps with some warnings about which 
 data is newer by looking at modification dates from the file metadata, it 
 could be usable. The app is mainly intended to be used on iOS but I want to 
 use the Mac for one or two features that would not work well on iOS.
 
 Dave
 
 
  On May 7, 2015, at 10:57 AM, Michael Swan michaels...@mac.com wrote:
 
  Dave,
  Unfortunately on the OS X side with iCloud, Core Data, and documents it is 
  pretty much a pick any two situation. The iOS side can be done but there 
  are some gotchas not really covered in the documentation. I've actually 
  just started work on my own custom subclasses of UIManagedDocument and 
  NSDocument (NSPersistentDocument is less than useless if you want to share 
  with iOS). My current plan is to use Apple's code as much as possible 
  without adding extra stores like Ensembles does. If you're interested we 
  could talk about a collaboration to build an open sourced set of classes to 
  handle this area. (I plan to include a file browser for iOS as well since 
  nothing currently exists.)
 
  On iOS you set two keys in the options dictionary to tell the system where 
  to keep the change logs and what the name should be. The name is typically 
  a UUID and the location is generally some version of ChangeLogs at the root 
  level of the ubiquity container. The catch is that your can't set those 
  options in configurePersistentStoreCoordinator… and have it come out right. 
  You have to init the document then set the persistentStoreOptions property 
  to a dictionary with those keys in order for the file package to get the 
  right structure. You also need to create the document locally first and 
  then move it to the ubiquity container.
 
  On OS X NSPersistentDocument can only make flat files, not packages like 
  UIManagedDocument (I've filed a bug about there being no counterpart to 
  UIManagedDocument for OS X, been open for over a year now…). 
  BSManagedDocument will 

Re: Aggravation trying to implement NSValueTransformer subclasses in Swift

2015-05-12 Thread Uli Kusterer
On 13 May 2015, at 00:38, Quincey Morris quinceymor...@rivergatesoftware.com 
wrote:
 static var keyPathsForValuesAffectingMessageIsEmpty: NSSet {return NSSet 
 (object: messageIsEmpty”)}

I think at least one of those should be “message” instead of “messageIsEmpty” … 
?

Cheers,
-- Uli Kusterer
“The Witnesses of TeachText are everywhere...”
http://zathras.de


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: IB_DESIGNABLE - anyone got it to work?

2015-05-12 Thread Sean McBride
On Tue, 12 May 2015 16:43:32 +1000, Graham Cox said:

I’m exploring the use of the new IB_DESIGNABLE macro to preview a custom
view live in IB.

It keeps complaining that my view is taking too long to draw, over
200mS, which seems to be a limit built into IB. However, when I measure
the time myself for drawing, it’s nowhere near this long - 10mS max,
typically 2mS. Because of this constant and apparently erroneous
complaint, IB doesn’t show my custom view. I’ve even tried to do some
minimal drawing (just filling the dirty rect) for just the Interface
Builder target, but I get the same problem, so it’s pretty clear that
the timeout is nothing to do with my drawing.

At other times IB complains that the rendering agent “crashed”, though
it’s actually an exception from the bowels of Core Graphics. My usual
drawing code never triggers the same exception, only when it’s drawn by
the IB rendering agent.

Has anyone been able to make this work?

After some difficulty, yes.  But it seems to only support direct subclasses of 
NSView, not NSControl for example.  What's your superclass?

Cheers,

-- 

Sean McBride, B. Eng s...@rogue-research.com
Rogue Researchwww.rogue-research.com 
Mac Software Developer  Montréal, Québec, Canada

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Core Data sync between iOS and Mac apps

2015-05-12 Thread Jens Alfke

 On May 12, 2015, at 6:00 AM, davel...@mac.com wrote:
 
 I’m not sure I understand your concerns about Dropbox. The app is single user 
 so when the iOS enters the background, I can upload the data (if there’s a 
 network connection at the moment) for modified files to Dropbox.

A single-user app is less likely to encounter conflicts, but it can still 
happen since many users have multiple iOS devices. I frequently end up 
switching from iPhone to iPad, sometimes even the same app (quickly check news 
on my iPhone, start reading an article, go upstairs and grab the iPad so I can 
read the article more comfortably…) And if your app doesn’t somehow deal with 
this, it’s looking at potential data-loss scenarios.

You can still handle conflicts using Dropbox, it’s just trickier. You’ll need 
to detect the renamed version of the file that Dropbox creates — something like 
“MyAppData (Jens Alfke's conflicted copy 2015-05-09).db” — then open both files 
and reconcile any changes, then save back to the original file and delete the 
conflicted copy. And somehow keep both devices from doing this at the same 
time, or you’re back at square one.

—Jens

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com