why CPU is utilizing this much when I run xcode - ios7

Below is the screenshot of CPU utilization.
Just curious what are those Interface Builder Cocoa Touch Tool & ibtoold process.
Because of this, to run app, it takes me around 1 min least.
Note: I am using xcode 5
I see that this happens when there are more view controllers. I have around 25 view controllers.
Yes, I had created project in Xcode 4.6 and after updating, opened in Xcode 5.
Attached is the screenshot for the file inspector.

There is a stack overflow question along similar lines but the question involved only a single nib. The project in that case was created for iOS2 and used a new version of Xcode. This led me to examine the latest Interface Builder Release Notes (3.2) which states:
"Interface Builder documents can no longer be saved in the NIB 2.x
file format. NIB 2.x files will automatically be upgraded to NIB 3.x
files upon opening."
So, I would suggest you check the file inspector of your nib files and verify their current version. I suspect that Interface Builder is simply attempting to update 25 nib files to version 3.x. If you have an older Carbon nib files then please see the Xcode Release Notes (v.4.0 - current) as they require using version 3.2 in Xcode 4 and higher.
Xcode 4.6.3 displays versioning of nibs on the file inspector using these menu items:
While Xcode 5.0.1 displays versioning somewhat differently.
The project document should also be in the latest format:
.
The basic premise is that Xcode is converting the project file/nibs on load. If this recurs on every load I would report that as a bug to Apple at http://bugreport.apple.com. I think the information found is pointing to the correct issue. Checking that the files are using the latest version should fix the issue unless there is a bug.
Other things to try:
Load the project on a separate machine/directory (There might be some
corruption on your current one)
Run Console and capture logs as the problem is occurring (you will
need to also capture system logs for Apple anyhow but the Console
might show a useful error message)
References
What is Interface Builder Cocoa Touch Tool, link.
Xcode Release Notes (v. 4.0 - current), link.

Related

Where has the JavaFX scene builder gone?

I am trying to find the elusive JavaFX scene builder so I can use it in Intellij. I am on Windows OS.
Oracle have stated that the JavaFX scene builder is included in a new download, but no matter how I search I cannot find it (see http://www.oracle.com/technetwork/java/javafx/downloads/index.html). I think they have linked to the incorrect page and Googling for it is getting me nowhere.
I already have Java 8 SDK installed and working fine. Apparently JavaFX is now included in that, but nowhere in the Java folder can I find the scene builder and it seems to be completely missing online.
Please can anyone help? I am just wanting to write a small GUI program and it seems like JavaFX is the way to go (if it isn't then feel free to disabuse me of this notion!)
With JDK8u40, according to this:
Starting with Oracle Java SE 8u40, Oracle does not provide a separate set of accompanying JavaFX Scene Builder binaries. If you would like to contribute changes, ideas or just let us know what you have done with the code, please consult the OpenJDK Community contribution guidelines and join the openjfx-dev mailing list.
You can still download the last binary at Oracle in this link. But check this warning:
WARNING: These versions of JavaFX Scene Builder may include components that do not contain the latest security patches and are not recommended for use in production.
This means it doesn't include the last changes of 8u40, like the new Spinner control.
Alternatives
The project is open source, and you can find the updated code at the OpenJFX repo. So you are free to download it and build it.
Since its released under BSD license, Gluon is offering support for an updated version of Scene Builder, and you can download an installer for your platform or an executable jar from here.
Besides, they have an open repository where anybody can contribute.
Install JavaFx Scene Builder (Gluon) with Intellij 14 on Windows with JDK7
This will probably work with Java 8 as well but I am using 7 so I didn't test 8.
I know this has been answered but this might be helpful for future Intellij users. To get scene builder to work with Intellij 14 use the following steps.
Install Scene Builder for Windows. Download/Install From Here (Windows Installer (x64))
Set Scene Builder path to executable in Intellij. File -> Settings
-> Languages And Frameworks -> JavaFx By default mine installed under C:\Users\kris\AppData\Local\SceneBuilder\
Open your .fxml file. Click on the scene builder tab.
UPDATE 2019:
The default install path appears to know be "Program Files" C:\Program Files\SceneBuilder\SceneBuilder.exe
JavaFX plugin might need to be enabled in Intellij 2019
On a mac, in Intellij, you need to go to preferences, then type JavaFX and then do this. Please look at the attached Image.

Invalid Binary Or Invalid Swift Support

After I send my app for approval to the app store I get the message 'Invalid Binary' in the iTunes Connect. Then I get the following message in an email from Apple:
Invalid Swift Support - The bundle contains an invalid implementation of Swift. The app may have been built or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information.
My app is just a simple game application. No external programs are called. I have researched this message and went through and checked the following:
xcode is up to date - checked in app store
EMBEDDED_CONTENT_CONTAINS_SWIFT to YES or NO
send with the xcode app, not the application loader
did NOT build with the command line
(Xcode menu -> Preferences -> Locations tab - verified that the Command Line Tools matches Xcode version.
"Clean"ed the app, rebuilt and rearchived and then resent, same message
The app validates through the organizer fine
viewing the contents of the archive shows a SwiftSupport folder
I am only using one developer account and have never logged into any other developer account
I cannot find anything online that would help solve this problem.
I am running OS X Yosemite 10.10.1.
xcode version is 6.1.1 version 6A2008a - built, cleaned and sent with this version
I have also pressed the Option key and "Cleaned Build Folder" and resent, same message
I cannot find any other reason for this online or in any forums. Any help is greatly appreciated. Thank you for your time.
SOLUTION I FIND
Edit:
(1)
One you contact Apple and you wait long time … for reset iTunes connect because this problem coming in Apple . (Apple ask to send log of this problem)
(2)
An other solution, your create an other project application on iTunes connect and upload your work, this solution work fine, is the solution for me .
(3)
An other solution, you create a new project on Xcode, copy and paste your project in this other project.... (create new provisioning profile etc..) And upload your work in the same project application on Itunes Connect.
(4)
Step (2) + step (3), create a new project in Xcode and Itunes Connect.
(5)
Create a new project with the same name bundle identifier, it works perfectly !
See: Technical Q&A QA1881 Embedding Content with Swift in Objective-C.
It seems that you only need to set EMBEDDED_CONTENT_CONTAINS_SWIFT to YES "If you are building an app that does not use Swift but embeds content such as a framework that does".
What language is your app written in? If Swift yo do not need EMBEDDED_CONTENT_CONTAINS_SWIFT.
I ran into this problem the other day. Took some doing, but I finally figured out the problem ( for me at least). Everything I read online said the problem had to do with this setting:
EMBEDDED_CONTENT_CONTAINS_SWIFT
When this started failing, I had this set to NO. So I tried setting it to YES, and it still failed for the same reason. The GUI wouldn't let me remove this setting, I could only change it between YES and NO.
For what it's worth, my code has no EMBEDDED code, it's all just straight up SWIFT.
Anyway, so I decided to uninstall XCode and redownload it, hoping that would help.
While XCode was downloading, I fired up Beyond Compare, and compared my current project, with a backup from last week, to see what could have changed.
Beyond Compare found that a file deep inside the Projectname.xcodeproj file, changed ... a file called project.pbxproj file.
Inside this, was that line:
EMBEDDED_CONTENT_CONTAINS_SWIFT = NO;
This appeared in the current version of my project (that was failing). Interestingly enough, this line didn't exist at ALL in the old backup version from a week ago. I know that I didn't set this flag. There must have been something in Xcode that did it under the covers.
Anyway with that knowledge, Xcode finished downloading, and I reinstalled. Started it up, opened my project, and magically, Xcode REMOVED that line from the .pbxproj file, and now my project uploaded to itunesConnect sucessfully.
BottomLine: There's a bug in xcode that it may decide to add this line to your project for no reason, making your project invalid.
Solution: Editing the pbxproj file yourself and removing that line might work ... but reinstalling XCode seemed to clear up any confusion it had, and it removed it for me.
If you are submitting an app that has an AppleWatch extension, you can get this error if you try and submit the app using the Application Loader utility and a zip file. I got the error:
The bundle contains an invalid implementation of Swift. and
The bundle contains an invalid implementation of WatchKit.
I went through pretty much every solution for the first of the errors - but it was submitting via Xcode that fixed it.
well xcode 6.1 is a bit old and contains old swift. xcode 6.4 is the newest public one IIRC
"Check your code signing. I had this error when in automatic signing. I Put my dev profile for dev and production profile for release version and error is gone."
Link for the Quote
Sometimes this happens inadvertently.
To be safe, all components of your app should be built with the same version of Xcode and the Swift compiler to ensure that they work together.
I think you need to do a pod clean and install. I reckon one of your swift pods was created on a old version of Xcode, you updated Xcode and then tried to do a submission to the app store.
Read the apple swift blog about binary compatibility and frameworks
You will also want to specify that your embedded content contains swift in the build settings:
EMBEDDED_CONTENT_CONTAINS_SWIFT
Enable this setting to indicate that content embedded in a target's product contains Swift code, so that the standard Swift libraries can be included in the product.

Xcode 6.1 doesn't recognize Foundation Classes

I'm newbie in Apple developing, but im trying to develop an osx applications. I have yosemite as OS and Xcode 6.1 as IDE. Everything was ok 3 days, but at some random moment, my Xcode showed me this:
Everything covers with an errors.
What i did trying to resolve the problem:
Clean
Clean build folder
Delete derived data (in Organizer menu)
Reinstall Xcode
I even install Xcode 5 (but it don't support swift)
That erros follow me even in NEW project (with just one class AppDelegate.swift) and in any new class with any object like NS*.
What's happen with my Xcode and how i can fix it?
I forget to say, my project building and compiling without any error or warning. All errors disappears when i press button "Build".
UPDATE #1: i made: import Foundation - open it, and i did not find errors classes there. There are a lot of classes, such as NSCache and etc, but there are no NSTextField and etc.. Where are they?
UPDATE #2:
I've found that Xcode see classes which directly contains in Foundation moduel.
Also i got this window:

Compiling/Running Cocoa Project implementing NSSharingServicePicker in 10.7.x

I am learning about Objective-C/Cocoa and have downloaded the source code to a popular TeX typesetter and loaded up the project in XCode to play around with it. Compiling fails, and all of the error messages I have seen (so far) have to do with something called NSSharingServicePicker not being recognized. I gather (from this SO question and this Apple documentation page) that this is a class not available in 10.7.x. It therefore makes sense why the code won't compile on my Lion machine.
My question is, I guess, why I am able to run the downloaded package of TeXShop on 10.7 at all? (According to the website, this version is for OSX 10.7 and up.) I am interested in making a few minor changes to this project; am I not able to check my changes/compile unless I'm using a Mountain Lion machine? Is there some kind of update I can download for coding/compiling purposes?
Assuming you are using Xcode 4.6.*, you should be able to set your project to use the 10.8 SDK and get past the compile errors. (That's the "Base SDK" build setting.)

How to unlink a framework on program start

I am developing for iPhone OS 3.1.3 and I need to use Dropbox API.
The problem is the Dropbox API requires at least iOS 4.2. Ok.
I decided to save the possibility of using the program under 3.1.3, but if it is 4.2 and higher, there will be Dropbox functionality.
To use Dropbox framework I needed to link another frameworks:
Security.framework
QuartzCore.framework
I have done this.
When I link Dropbox.framework to my project, the program works great on iPhone Simulator, but it cannot be started on my iPhone 3.1.3. There is an error in Output:
dyld: Symbol not found: _kSecAttrAccessible
Referenced from: /var/mobile/Applications/C1FC10E5-0A36-4DEB-BD27-5028C205C89D/Bus Time.app/Bus Time
Expected in: /System/Library/Frameworks/Security.framework/Security
in /var/mobile/Applications/C1FC10E5-0A36-4DEB-BD27-5028C205C89D/Bus Time.app/Bus Time
So the question is:
Can I detect the iOS version on the program start and unlink the framework?
Or could you offer an another way to use dropbox for 3.1.3?
Thank you for your answers. I appreciate it.
You cannot programmatically unlink a framework at runtime.
You can programmatically link a framework at runtime, e.g. by using the NSBundle APIs, or dlopen, or various other ways. If you do so, you have to then manually load the ObjC objects and/or C symbols you want.
Alternatively, you can weak-link the framework, which makes the runtime do most of the work for you. If it's there, it will be loaded in at startup, and all of its ObjC objects and C symbols will be available to you. Otherwise, all of its ObjC objects and C symbols will be null. So, all you have to do is check for null to decide whether to run the code that needs that framework.
Select the Security framework in your file list.
Expand the right sidebar (View > Utilities > Show Utilities).
Under 'Target Membership' change 'Required' to 'Optional.'