How to manage appleevents in Xcode - xcode

I want to add an applescript dictionary to my project, but I need to manage AppleEvents to create Methods, classes and events. How I can manage the AppleEvent codes in xcode.
Note:
I don't have the AppDelegate class in the project and I have Mac OS X Leopard and XCode 3.2.

It isn't possible.
Now I'm using Xojo, that can do this.
Then, in the compiled app, I add an SDEF file and I set Scriptable property (in info.plist) to true.

Related

Deploy app with NSTouchBar in XIB to macOS prior to 10.12

I've designed an app that includes support for the touch bar. The touch bar is created in Interface Builder. All code uses Swift's #available checks to make sure that no touch bar code gets executed on macOS prior to 10.12.
The XIB (and app) is set to deploy to 10.10, but when I run my app I still get errors like:
-[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (NSTouchBar)
How can I make sure that decoding the XIB skips the touch bar on macOS prior to 10.12?
You have two choices.
Create the UI programmatically.
Register dummy class pairs for the class name. I'm not sure how to achieve this in Swift, but there is an Obj-C solution here: How to use NSVisualEffectView backwards-compatible with OSX < 10.10?. That answer also provides some extra caution regarding subsequent access of the component.

Xcode 5 Cocoa App Fails to Load Nib on OS X 10.6

I'm creating a Cocoa application for 10.6 and newer OSs. I created a brand new document-based application in Xcode 5 (10.9) and changed two settings to make it 10.6-compatible: I changed the deployment target to 10.6 and turned Auto Layout off on both MainMenu.xib and xxDocument.xib, the two default nibs that are included with the document-based template. I archived my application (no code signing) adding no other code and tested it on four different OSs. Here are the results:
OS X 10.9: Launches and shows a new document window ("Your document contents here") as expected.
OS X 10.8: Launches as expected; same as 10.9.
OS X 10.7: Fails to launch; Console applications yields "App Name: Unable to load nib file: MainMenu, exiting".
OSX 10.6: Fails to launch; Console yields same as 10.7.
I'm quite baffled as to the behavior of my application. I added absolutely no code to the template document-based app that Xcode created for me; I just changed the required settings to make it compatible with 10.6 and up. I also tried turning off ARC in the build settings, which made no difference at all. I checked Apple docs and also searched for other questions about the console error I received, but none of them were related to this problem. I was very surprised that 10.7 exhibited this behavior, as 10.7 is compatible with ARC. I would greatly appreciate any advice on how I can fix this problem. I would suspect that there is an easy modification to the default template, as Apple probably wouldn't supply a template that requires extensive modification to merely get it working. Thanks.
UPDATE:
As suggested, I turned off base internationalization in Xcode. I ran the app, and it worked fine. I exported the application (no code signing) and tested on all of the above OSs. This time, the error that I received above occurred for all OSs. This even occurred on the SAME machine that I built the project with, the only difference is that I didn't run it from Xcode. My next step was to actually make a MainMenu.xib file (because removing base internationalization deleted the old one) and set that as the main interface. Now not only do I get the error in the exported application on all OSs, but it shows up in Xcode when I try to run the application! Is there something else that I am missing?
AS mentioned before you need to disable Internationalization Base.
In the Project Navigator Click on the on the first item which is your project (denoted by blue page with white A in it, it is the root of all other items)
You should by default see the Info page to the left (if not select it from the tab at the top)
The last item in the Info property sheet is Localization. Under Localization you will have the ability to add and remove languages and you should by default have two already Base, and English.
Delete both, and deselect the check box "Use Base Internationalization"
Once you have done this, remove the any *.xib files you have from the project itself. MAKE SURE TO ONLY REMOVE REFERENCES !!!DO NOT SEND TO TRASH!!!
Once the references have been removed, go into Finder, Open your project directory and you will find a directory called Base.lproj with your *.xib files located in them. Copy or move them one level up to your project directory, and delete Base.lproj directory.
Go back into xCode and add back in your *.xib files. ++K to clean the project, then ++R to rebuild.
This should move the *.xib files in the App Package from Base.lproj (where 10.6 does not seem to find them) to the Resources file folder, and solve the problem.
Newly created Xcode 5 projects have base internationalization turned on. Base internationalization is supported on OS X 10.8 and later. You'll have to turn off base internationalization to support 10.7 and 10.6. See the following Stack Overflow question for more information:
Base.lproj/MainMenu.xib is not available when compiling for targets before Mac OS X 10.8
Another thing you may need to do to support 10.6 is to set the deployment target to 10.6 for both the project and the xib files. I know you said you set the deployment target to 10.6 in your question, but it wasn't clear if you set it for both the project and the xib files. As you're discovering, Apple's project templates do not place a high priority on compatibility with old OS versions.

How to I create a MainWindow.xib in Xcode 4.2 in an iOS application?

I am just starting out learning to build interfaces, but the book I am following is a little dated and it says that Xcode should create it for me with my new project, however it didn't. So now I need to link my buttons to my app delegate, but I can't because it isn't showing up when I right click on my buttons. And yes, I did define my methods and instance variables.
Xcode very much will create a MainWindow.xib if you choose Cocoa Application as the project type. Check to make sure you aren't either creating an iOS project or a command-line tool... both can be easy to accidentally select when you are just starting to learn.
(FYI, I just verified in Xcode 4.2.1 that a MainWindow.xib was created for me.)

XCode Developer API - Object Library - Objects Disappearing

Fairly new to the Xcode Developer API and need a little help. When a project is first opened in Xcode, the Object Library displays the full list of UIKit objects available (and other linked frameworks I believe). However, when I switch files in the project navigator to/from any file (.m, .h, .xib, etc), the Object Library list changes; most of the objects are missing - such as NSButton, NSTableView etc. The standard objects are still visible - Label, Round Rect Button, Text Field, etc.
Closing and re-opening the same project appears to restore the Object Library list, but the same issue happens once a different file is opened.
Using Xcode Version 4.2.1, Build 4D502.
Help!
I think I see what you are describing. When I first open an iOS project the Object Library is showing objects that are valid for OS X but not iOS (like File Menu Item). When I switch to a xib file the Object Library gets updated to show only the objects that are valid for iOS. Ideally I suppose that wouldn't happen but since you can't do anything with the Object Library while a source file is in the editor no harm is done.
If you are developing application for iOS(iPad or iPhone) you will not get that library which contains pop button , check box ,NSButton, NSTableView etc,that library is available for OS X app development.
OS and OS X don't use the same graphics library. iOS and OS X development are similar, but not the same. For example - you don't have Cocoa Bindings on iOS.
I you want to check then make one project for iOS & then see your library contents,then create another project for OSX & see your library contents... :D

Interface Builder: Tool Kit (BWtoolkit) Installation

I tried installing BWtoolkit in my interface builder following the instructions on the BWtoolkit site.
I downloaded the toolkit and installed it by clicking on BWToolkit.ibplugin.
I can see the BWtoolkit when i go to Interface Builder>Preferences>Plug-ins but none of the objects are appearing in the library window.
The only folders that i have are 'Cocoa Touch' and 'Custom Objects'
What have I done wrong?
BWToolkit is only for Mac OS X projects, it does not have any iPhone components. If you are seeing just Cocoa Touch and Custom Objects under the library pull down then you must be in an iPhone nib file. If you don't have any nib files open IB will default the library display to the last kind of document that was open. Try opening (or creating) and Mac OS X nib and you will see BWToolkit appear (with numerous others sections).

Resources