divyavamsee / core-plot

Automatically exported from code.google.com/p/core-plot
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

iOS project settings do not allow distribution builds #417

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
* What steps will reproduce the problem?

1. Add CorePlot-CocoaTouch.xcodeproj as a subproject of a project using Core 
Plot
2. Product > Archive to generate a distribution build (ad hoc or App 
Store)

* What is the expected output? What do you see instead?

An appropriately signed iOS App Archive should appear in the Xcode Organizer. 
Instead, an unusable "Generic Xcode Archive" appears in the organizer.

* What version of the product are you using? On what operating system?

Core Plot 1.0
Xcode 4.3.1

* Please provide any additional information below.

The solution is described here:

http://astralbodies.net/blog/2011/03/27/xcode-4-problem-submitting-app-with-stat
ic-library/

The key is to move all header files listed in the Public and Private sections 
of Build Phases to the Project section. This fixes everything and allows 
Product > Archive to work as expected.

I have not submitted a patch for this issue because it's probably not correct 
for all headers to be moved to the Project section. The Xcode help (Xcode 
Developer Library > Tools & Languages > IDEs > Project Editor Help > Setting 
the Visibility of a Header File) describes the sections as follows:

- Public: The interface is finalized and meant to be used by your product’s 
clients. A public header is included in the product as readable source code 
without restriction.

- Private: The interface isn’t intended for your clients or it’s in early 
stages of development. A private header is included in the product, but it’s 
marked “private”. Thus the symbols are visible to all clients, but clients 
should understand that they're not supposed to use them.

- Project: The interface is for use only by implementation files in the current 
project. A project header is not included in the target, except in object code. 
The symbols are not visible to clients at all, only to you.

If someone can advise me as to which Core Plot headers belong in which section, 
I can submit a patch accordingly.

Original issue reported on code.google.com by tre...@vocaro.com on 30 Mar 2012 at 9:52

GoogleCodeExporter commented 9 years ago
Oops; the word "Options" at the end of the title was a typo, but it looks like 
issue titles cannot be changed. :(

Original comment by tre...@vocaro.com on 30 Mar 2012 at 9:56

GoogleCodeExporter commented 9 years ago

Original comment by eskr...@mac.com on 30 Mar 2012 at 10:08

GoogleCodeExporter commented 9 years ago
This issue was closed by revision f659ad83c2c8.

Original comment by eskr...@mac.com on 19 Apr 2012 at 1:14

GoogleCodeExporter commented 9 years ago
This fix broke the createrelease.py script. The header files are no longer 
copied to the output folder when building the iOS project, which causes the 
script to fail.

Original comment by eskr...@mac.com on 8 Jul 2012 at 12:23

GoogleCodeExporter commented 9 years ago
This issue was closed by revision c19c8b1aae30.

Original comment by eskr...@mac.com on 21 Jul 2012 at 10:16

GoogleCodeExporter commented 9 years ago
The original issue with the project settings not allowing distribution builds 
still exists. Why createrelease.py is so important?

Original comment by bla...@futuresimple.com on 26 Oct 2012 at 8:57

GoogleCodeExporter commented 9 years ago
createrelease.py is required because the release package includes so many 
different pieces and requires builds of several different projects. We've 
looked at making an installer package instead, but the script ended up being 
simpler to implement and keep up-to-date.

I've reopened this issue to address the distribution build problem.

Original comment by eskr...@mac.com on 26 Oct 2012 at 11:48

GoogleCodeExporter commented 9 years ago
Thanks for reopening. I've attached a patch that fixes the problem. It simply 
moves all headers that are currently in the Private section to the Public 
section. I'm not exactly sure why it works, but it does.

Original comment by tre...@vocaro.com on 30 Oct 2012 at 4:25

Attachments:

GoogleCodeExporter commented 9 years ago
This issue was closed by revision 7bdb5e5f0aa2.

Original comment by eskr...@mac.com on 5 Nov 2012 at 12:47