Re: Where are the ICU Headers?

2016-10-06 Thread Gary L. Wade
Apple has historically suggested using ICU for functionality that it's 
higher-level frameworks don't provide, and it's easy enough to get at all 
needed functionality through its C functions without using C++ (at least what I 
care about). Since most significant changes only occur in the data across 
releases, or below an API layer, the interfaces would not be as much of an 
issue for most when using the current installed library.
--
Gary L. Wade (Sent from my iPad)
http://www.garywade.com/

> On Oct 6, 2016, at 5:23 AM, Alastair Houghton  
> wrote:
> 
>> On 6 Oct 2016, at 10:43, dangerwillrobinsondan...@gmail.com wrote:
>> 
>> Pretty sure the reason is a simple one. 
>> If you look at the history of open source in the OS on the Apple open source 
>> page, you'll notice they pretty much bump the ICU version they use annually. 
>> Although unlikely, ICU might change in ways that breaks your app. They don't 
>> want to support ICU directly. It's a pretty tough API in C or C++ 
> 
> Also, historically, C++ ABI compatibility has been a thorny issue.  Even now, 
> if you want a C++ dynamic library to provide binary compatibility you have to 
> be pretty careful.
> 
> ICU is largely a C++ library.  It does have a C interface, but I’m not sure 
> the entire feature set is available without using C++, and ICU explicitly 
> doesn’t provide for binary compatibility at the C++ API level (or even for 
> some of its C API(!)) - see
> 
> http://userguide.icu-project.org/design#TOC-ICU-Binary-Compatibility:-Using-ICU-as-an-Operating-System-Level-Library
> 
> Kind regards,
> 
> Alastair.
> 
> --
> http://alastairs-place.net
> 


___

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: Where are the ICU Headers?

2016-10-06 Thread Alastair Houghton
On 6 Oct 2016, at 10:43, dangerwillrobinsondan...@gmail.com wrote:
> 
> Pretty sure the reason is a simple one. 
> If you look at the history of open source in the OS on the Apple open source 
> page, you'll notice they pretty much bump the ICU version they use annually. 
> Although unlikely, ICU might change in ways that breaks your app. They don't 
> want to support ICU directly. It's a pretty tough API in C or C++ 

Also, historically, C++ ABI compatibility has been a thorny issue.  Even now, 
if you want a C++ dynamic library to provide binary compatibility you have to 
be pretty careful.

ICU is largely a C++ library.  It does have a C interface, but I’m not sure the 
entire feature set is available without using C++, and ICU explicitly doesn’t 
provide for binary compatibility at the C++ API level (or even for some of its 
C API(!)) - see

http://userguide.icu-project.org/design#TOC-ICU-Binary-Compatibility:-Using-ICU-as-an-Operating-System-Level-Library

Kind regards,

Alastair.

--
http://alastairs-place.net


___

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: Where are the ICU Headers?

2016-10-06 Thread dangerwillrobinsondanger
Pretty sure the reason is a simple one. 
If you look at the history of open source in the OS on the Apple open source 
page, you'll notice they pretty much bump the ICU version they use annually. 
Although unlikely, ICU might change in ways that breaks your app. They don't 
want to support ICU directly. It's a pretty tough API in C or C++ 

You could always build your own version and bundle it. 

If you download the open source version they post you'll get the right 
settings. 

It's not easy to build it right, but it's doable and you can link to one you 
build and bundle in your app. 

Linking to theirs would leave them beholden to a fast outdated version to 
support your app. 

Sent from my iPhone

> On 6 Oct 2016, at 18:32, Gary L. Wade  wrote:
> 
> My experience has been that last year (iOS 9 and OS X 10.11) Apple made ICU a 
> private framework worthy of rejection from its App Store if you used its APIs 
> directly. I encountered this because like in years past when Apple did not 
> provide ICU through a higher-level framework, we were encouraged to call ICU 
> directly, and that's when I supplied a signature to translate between 
> 2-letter and 3-letter language codes to work around the no-headers issue, 
> which I needed to support a 3rd party services requirement. However, the app 
> was rejected as using a private API. I was going to challenge it, but my 
> management decided we should hard code the mappings.
> --
> Gary L. Wade (Sent from my iPad)
> http://www.garywade.com/
> 
>> On Oct 6, 2016, at 1:22 AM, Gerriet M. Denkmann  wrote:
>> 
>> The Icu stuff (57.1) is included in macOS 12.
>> 
>> There is:
>> /usr/lib/libicucore.A.dylib
>> 
>> and Xcode has:
>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libicucore.tbd
>>  
>> 
>> But I cannot find the headers.
>> 
>> Gerriet.
>> 
>> 
>> ___
>> 
>> 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/garywade%40desisoftsystems.com
>> 
>> This email sent to garyw...@desisoftsystems.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/dangerwillrobinsondanger%40gmail.com
> 
> This email sent to dangerwillrobinsondan...@gmail.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: Where are the ICU Headers?

2016-10-06 Thread Gary L. Wade
My experience has been that last year (iOS 9 and OS X 10.11) Apple made ICU a 
private framework worthy of rejection from its App Store if you used its APIs 
directly. I encountered this because like in years past when Apple did not 
provide ICU through a higher-level framework, we were encouraged to call ICU 
directly, and that's when I supplied a signature to translate between 2-letter 
and 3-letter language codes to work around the no-headers issue, which I needed 
to support a 3rd party services requirement. However, the app was rejected as 
using a private API. I was going to challenge it, but my management decided we 
should hard code the mappings.
--
Gary L. Wade (Sent from my iPad)
http://www.garywade.com/

> On Oct 6, 2016, at 1:22 AM, Gerriet M. Denkmann  wrote:
> 
> The Icu stuff (57.1) is included in macOS 12.
> 
> There is:
> /usr/lib/libicucore.A.dylib
> 
> and Xcode has:
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libicucore.tbd
>  
> 
> But I cannot find the headers.
> 
> Gerriet.
> 
> 
> ___
> 
> 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/garywade%40desisoftsystems.com
> 
> This email sent to garyw...@desisoftsystems.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

Where are the ICU Headers?

2016-10-06 Thread Gerriet M. Denkmann
The Icu stuff (57.1) is included in macOS 12.

There is:
 /usr/lib/libicucore.A.dylib

and Xcode has:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libicucore.tbd
 

But I cannot find the headers.

Gerriet.


___

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