How do I make XCFramework documentation fully available in "Developer Documentation"? - xcode

I'm developing a fully documented framework. In its developing project, the documentation works perfectly. Although, when I add this framework to a project (with SPM or Cocoapods), if I option + click something defined in my framework I am not able to check its full content. The docstrings show up nicely, but the link "Open in Developer Documentation" is not available and if I click on one of the available links (for example, a function parameter type), it says "Page not available".
I have already tried to build the docs on the host app with control + command + shift + d, it builds all of the dependencies of my framework (which are all open-source, i.e the swift files are there) but my Framework doesn't even show up.
It doesn't make sense to me that this is not working, as I said, Xcode can actually find the docs but seems it can't find it when building.
I've found a similar question here on Stackoverflow but it doesn't seem to be the same issue, and there are no answers.
Am I'm missing something? Is there something that I must do in the host app? Or is there some lacking config when building the framework?
For example, in the picture (had to redact some info, sorry), if I click APIEnvironment, which is defined within my framework, I get a message of page not found.

Related

nobody can get cocoadocs page for swift framework

Trying to post to CocoaPods, but when the project goes through it doesn’t generate docs (site + docs button, instead of expand). Alternatively, when I specify a docs url the docs button doesn’t work either. According to the guides, it seems like jazzy isn’t parsing, but when I run:
jazzy
or...
jazzy —podspec MagicCloud.podspec
…it throws no errors and generates 100% documentation (which is hosted here). At the 404 page, If I select the Alternatively, click… or Potential error info buttons no luck. I’ve tried with and without a .yaml file generated here. When I try to use the following…
http://api.cocoadocs.org:4567/redeploy/MagicCloud/2.9.x // x = 5,6,7,8,etc…
http://api.cocoadocs.org:4567/error/MagicCloud/2.9.x // x = 5,6,7,8,etc…
…safari can’t find the server. I’ve posted so many versions at this point, any help would be much appreciated. The project is here, along with it's podspec file. Thanks in advance.
So after contacting Orta (the developer) directly, I eventually found out that he had handed the project off to Buddy Build. With their acquisition by Apple, they're holding off on new clients and are no longer offering support to Cocoapods.
As far as I can tell, no new Cocoapods have been able to compile their docs (at least through jazzy / swift), since the announcement January 2018. If anyone knows different, or if things change, please post here. Thanks.

Domino OSGI Update Site Creation

This is a continuation of a question I asked a few days ago regarding a designer connection for Domino OSGI dev and testing.
In eclipse, I do have the "debugging plug-in" installed (as mentioned by stwissel), and I am fairy certain that it is configured properly.
In a second attempt, I tried to export my plug-in in an update site.
1. import plug-in to feature
2. import feature to update site
3. build update site
I first tried to install using My Widgets in the notes sidebar. I did not get the thing to run with that so, then went into designer and installed it there directly, also nothing.
current stand
I built the update site and deployed using an nsf Update Site as a widget. I use this for openNTF Domino API, the ExtLibs -- it is comfortable and I like it.
I can verify that the feature is available in the application Management window of designer.
3 I expect to see those libraries in the xsp.properties page generation tab, but do not.
questions
1. Am I missing something?
2. Must I add some sort of class/code/flag in order to choose this library/plug-in in designer?
3. How can I best verify that the plug in and not just the feature is installed?
if your XspLibrary is not a 'global' one you probably won't see the activator run until the first nsf that uses it activates it.
seeing as you can't select it in an nsf this is probably why no nsf is ever activating it
can I ask have you correctly defined the library as an extension of com.ibm.commons.Extensions
as type
com.ibm.xsp.Library
if you don't define the extension you will not see it in the list of libraries.
also you must make sure you set the plugin settings to export the XspLibrary class (or package of the class) otherwise designer can't use the class
see this article on the domino designer wiki for an overview of necessary steps to correctly set up the XspLibrary plugin. the manifest.mf / plugin.xml settings are important.
another thing to double check, is to inspect the actual built plugin jar, using something like 7zip. you can open it up like a zip and have a look to make sure the .class files are actually included in the jar. if your build settings are incorrect it may not include them in the jar properly. also make sure the manifest.mf and plugin.xml are in there properly
EDIT from Greg
This should be the link for a non-mobile user
When you setup the debug plugin, it should create an entry in the workspace directory of the Notes client and Domino server (I think down in the RCP directory). This entry points back to the Eclipse workspace. So you don't need to deploy the plug-in. You also should see a warning when loading Notes ( with rparams -console) or Domino on the console about the debug.
Also what I found: auto deployment via Widget works when the update site sits on a server via http or nrpc. It doesn't when it is specified as file:/// so I run a Apache http on local (I need it for other stuff too, so no big deal for me).
I'll check the exact settings when I get back to my Dev workstation
You can identify if a plugin is installed via Help > About IBM Domino Designer, then clicking on the Plug-in Details button in the dialog.
Help > Support > View Log and View Trace should give more details. Trace is more detailed and allows you to write content, as we do for the OpenNTF Domino API. It may allow you to see how far through the code it's going.
That first message is in the XspLibrary class, in the constructor, just using a sysout
/**
* Constructor
*/
public XspLibrary() {
System.out.println("Loading org.openntf.domino.xsp library");
}
Hopefully that should help you see where it's failing.

FirefoxOS device manifest

I'm trying to port FirefoxOS on Motorola G but I don't understand how to write device manifest. What should be specified in the manifest? Where do I start? Mozilla's official documentation isn't that helpful actually.
The manifest is tricky but like a bike - one you get the hang of it then it becomes second-nature.
Here are the links I used to understand the manifest:
https://developer.mozilla.org/en-US/Apps/Developing/Manifest
https://developer.mozilla.org/en-US/Apps/Developing/About_app_manifests?redirectlocale=en-US&redirectslug=Web%2FApps%2FFAQs%2FAbout_app_manifests
The main point that helped me was to understand that only two fields are required: name, and description. This make other options specific to your needs, so I stripped all other members out to start: "locales" and "developer".
The primary config that I needed to get right was:
launch_path - I got it to work through trial-and-error, but then moved the app within my architecture and was surprised when the app went 404! I shouldn't have been surprised because... the path was incorrect. After updating the path the app installed correctly.
For example:
/Apps/App1/app1.html
Final bit of advice on Manifest. The best way to understand it is to get a test app working from the mdn-app-template! This way you can see how it works and test it's capabilities. I strongly recommend this as a first step. https://github.com/chrisdavidmills/mdn-app-template
Other suggestions:
- It took a while to get the workflow down. It is possible to just click a 'refresh' link in the App Manager. Which is a rather immediate workflow.
- Uninstalling in Android was weird. The app is actually saved within Firefox. So you have to go to about:apps to uninstall. Here is the link: https://developer.mozilla.org/en-US/Apps/Developing/Apps_for_Android
Hope it helps.

How do i find a xcode system header file?

I've got a Mac project i want to port to IOS but i cannot resolve some classes.
there is no header file included in the source except Cocoa.h which Ios does not
use. What is the method to find the right header file or framework?
The classes are SecExternalFormat, SecExternalItemType and SecKeychainAttrType
The first thing I always do is a Google search. For example, in your case I might have done:
site:developer.apple.com SecKeychainAttrType
That yields this page, and then you know you need Security/Security.h.
If you downloaded the documentation (I think it comes with Xcode) you could also search it offline.
As for why the API has changed, I think that's beyond the scope of your question.

Using Apple's coding examples in XCode 4.3.2 - Base SDK Missing

I'm discovering XCode and iOS development.
Delving into the iOS documentation, I've tried to download and run some of the programming examples.
As an example, I'll use AccelerometerGraph.
If I download the code and try to compile, i get an error message, and I realize that the Navigation panel tells me : Base SDK Missing.
After fiddling around (the existing answers on stackoverflow refer to the Xcode 3.2 answer, which doesn't work) I figured I should go to "Editor > Validate Settings…" and accept the changes.
It "seems" to work, (as in the "Missing SDK" message disappears, and I can compile) but I'm wondering if i'm missing something more fundamental.
Also, I thought if there is such a fundamental change, it would be useful to have it up there in one of the questions.
Thx
P.
Go to the project settings and choose "Latest SDK" for the SDK option and that should fix your projects.
And if you want to be super helpful, file a bug with Apple (at http://bugreporter.apple.com) and tell them to update these outdated sample projects to use the latest SDK's if possible.
Not missing something more fundamental. Apple's sample projects have a variety of vintages. Mostly they compile and link under the current versions of Xcode and friends. Some need to be brought up to date. What you found was one that was originally set up for an obsolete version of the SDK and it compiles and links fine with one that was automagically found on your system when you updated it.

Resources