Eclipse Juno and Retina Resolution - eclipse

Is it possible to have Eclipse Juno display at retina resolution? I was able to edit info.plist for previous versions of Eclipse, but this does not work with Juno...

Open the <Installation Directory>/Eclipse.app/Contents/Info.plist with a text editor and add the following before </dict>:
<key>NSHighResolutionCapable</key>
<true/>
If you open the Info.plist file with Xcode it should look like that:
Now make a copy of the Eclipse application (Eclipse.app). You can copy it to the same directory it already is; this step is required just to make the OS reload the changes in the Info.plist file.

Force update the Info.plist in the Terminal by using the lsregister command:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/Eclipse.app

There is an app called Retinizer which will convert Apps to Retina mode. Easier. Only really works for fonts though.
http://retinizer.mikelpr.com

After updating High Resolution Capable to Yes in plist, make a copy of the app.

Related

Plugins don't work on xcode 6

Yeah, we have a new xcode version - xcode 6 and all old plugins don't work.
I know there is a new DVTPlugInCompatibilityUUIDs for each Xcode version and this problem will be fixed by plugin authors.
But DVTPlugInCompatibilityUUIDs is just a text, how can we find it? How can we fix without waiting for someone
Update
xcode 6.3.2: DVTPlugInCompatibilityUUIDs = E969541F-E6F9-4D25-8158-72DC3545A6C6
XCode 6.4 (6E35b): DVTPlugInCompatibilityUUIDs = 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90
XCode 7.0.b2 (7A121I): DVTPlugInCompatibilityUUIDs = AABB7188-E14E-4433-AD3B-5CD791EAD9A3
Make sure your hidden folders are shown on your MAC ,
Hold Option Key and click on Go option in finder menu.
Go to Following Location -
library/Application Support/Developer/Shared/Xcode/Plug-ins
Right click on the plug in and select show package contents
Open the info.plist file and find the DVTPlugInCompatibilityUUIDs and expand that section.
Click the + button and paste the C4A681B0-4A26-480E-93EC-1218098B9AA0 .
Save the file and restart Xcode.
No Need to repeat for all plugins that are already installed to Xcode 6.
I have Xcode 6.1.1, here's what I did and it worked.
Right click on plugin file > Show Package Contents
Find and edit the Info.plist file.
In DVTPlugInCompatibilityUUIDs add the key C4A681B0-4A26-480E-93EC-1218098B9AA0 (thanks to amavi message)
Save your Info.plist file.
Then go to /Applications/Xcode.app/Contents/PlugIns folder, and copy your plugin file there (the administrator password will be required).
You can now launch Xcode and use your plugins ;-)
Run below command in Terminal. It will auto add Xcode's compatible UUID to all plugins:
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`
From https://gist.github.com/neonichu/9487584 use the following to get the DVTPlugInCompatibilityUUID of your Xcode version
/usr/libexec/PlistBuddy -c 'Print DVTPlugInCompatibilityUUID' "$(xcode-select -p)/../Info.plist"
For Xcode 6.2 add A16FF353-8441-459E-A50C-B071F53F51B7 to DVTPlugInCompatibilityUUIDs
xCode 6.3.2 was E969541F-E6F9-4D25-8158-72DC3545A6C6
I just check the plugins from /Applications/Xcode.app/Contents/PlugIns (Any plugin and use what they use for DVTPlugInCompatibilityUUID) and it works.
Adding more info:
The Path is to xCode app itself and within it go to Contents/PlugIns folder and you will see a bunch of plugins for xCode. Open any plugin package and go to Contents of it and open Info.plist, which will have the property DVTPlugInCompatibilityUUIDs. I did compare a couple of them and they seem to have the same so i copied that and used it which worked just fine.
XCode 6.4 (6E35b): DVTPlugInCompatibilityUUIDs = 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90
XCode 7.0.b2 (7A121I): DVTPlugInCompatibilityUUIDs = AABB7188-E14E-4433-AD3B-5CD791EAD9A3

The plugin didn't work on xcode 5.1

I've updated xcode to version 5.1.
And all my plugins didn't work.
I didn't see any error log when I install them again.
How can I detect result of installing processing?
I'm using
Alcatraz.xcplugin
CocoaPods.xcplugin
KSImageNamed.xcplugin
XAlign.xcplugin
I think there's some problem with xcode 5.1 because all my plugins still work on xcode 5.0.1
Based on what Tuan Do said (THANK YOU!):
navigate to your plugins folder (library/Application Support/Developer/Shared/Xcode/Plug-ins)
Right click on the plug in and select show package contents
Open the info.plist file and find the DVTPlugInCompatibilityUUIDs and expand that section.
Click the + button and paste the UUID from above.
Save the file and restart Xcode.
Your plugins will appear again.
Repeat for any plug ins.
Xcode 6 UUID
C4A681B0-4A26-480E-93EC-1218098B9AA0
Xcode 6.2 UUID
A16FF353-8441-459E-A50C-B071F53F51B7
Xcode 6.3 UUID
9F75337B-21B4-4ADC-B558-F9CADF7073A7
Xcode 6.3.2 UUID
E969541F-E6F9-4D25-8158-72DC3545A6C6
Xcode 7.3 UUID
ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C
How to find the UUID?
Open Terminal and paste the following:
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
I edited Info.plist file like this:
Add A2E4D43F-41F4-4FB9-BB94-7177011C9AED into key DVTPlugInCompatibilityUUIDs
It works for CocoaPods, Dash plugin. I'm trying with others.
Hope it works for you!
Source:
https://github.com/omz/Dash-Plugin-for-Xcode/commit/989b3aad46f5a30efacd7c23432ce7343d84cc58
You should add current UUID of XCode into plugin's DVTPlugInCompatibilityUUIDs to make plugin work, use this command:
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`
find every plugin's Info.plist
default read current UUID of XCode
default write current UUID of XCode into plugin's DVTPlugInCompatibilityUUIDs
I created a simple shell script that adds supplied UUID to all installed plugins:
#!/bin/bash
cd "${HOME}/Library/Application Support/Developer/Shared/Xcode/Plug-ins"
for plugin in *.xcplugin; do
/usr/libexec/PlistBuddy -c "Add :DVTPlugInCompatibilityUUIDs: string $1" "${plugin}/Contents/Info.plist"
done
I've written an editor extension to solve this problem. Now you can fix this error by a simple click.
Download link: Dropbox
When that happens, quit XCode, open the Terminal and type:
tail -f /var/log/system.log
then open XCode again. If there is a compatibility problem with any plugin, you'll see a log like this one:
[MT] PluginLoading: Required plug-in compatibility UUID C4A681B0-4A26-480E-93EC-1218098B9AA0 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.xcplugin' not present in DVTPlugInCompatibilityUUIDs
So, what you have to do to fix compatibility problems is just add the logged UUIDs to broken plugins' Info.plist files, grouped at key DVTPlugInCompatibilityUUIDs (in the example above, C4A681B0-4A26-480E-93EC-1218098B9AA0)
You'll probably be doing this at every new XCode version since Apple does not support plugins officially.

iphone simulator picks up deleted resources from xcode

I'm getting confused. I add resources (mp4 videos) to the resources folder in xcode and run the simulator and it picks them up, great!
I delete the file and simulator still picks it up from the resources directory. I delete the file in the app bundle that xcode is using and it still detects this file. I'm at a loss as to where/how I should delete items from xcode for it to actually remove them.
There's no 'remove from project' option, what am I missing here?
Regards,
Sapatos
You need to 'clean' the build to move these artefacts. Go to 'Build' and 'Clean' to remove them.
Alternatively you can blat projects from ~/Library/Application Support/iPhone Simulator/sdk_version/Applications
Have you also deleted the app from the simulator?
Product>Clean didn't do it for me. I needed to do "Reset Content and Settings..." from inside the Simulator's menu -- a much safer way than messing around inside ~/Library/Application Support/iPhone Simulator/*sdk_version*/Applications

How can I install a .ipa file to my iPhone simulator

I have an iphone simulator running on my Mac.
I have a .ipa file, can you please tell me how can I install it on the simulator?
You can't. If it was downloaded via the iTunes store it was built for a different processor and won't work in the simulator.
I found an .ipa file that I wanted using iTunes and copied it over to my desktop.
After that I changed the extension to .zip and extracted it.
Next I found the Payload folder and moved the application inside to my desktop.
Finally I moved that application to my iPhone simulators applications folder found at:
HD
> Applications
> Xcode.app (right click - Show Package Contents)
> Contents
> Developer
> Platforms
> iPhoneSimulator.platform
> SDKs
> iPhoneSimulator6.0.sdk
> Applications
(Note: Some apps crash more often than others.)
In Xcode 6+ and iOS8+ you can do the simple steps below
Paste .app file on desktop.
Open terminal and paste the commands below:
cd desktop
xcrun simctl install booted xyz.app
Open iPhone simulator and click on app and use
For versions below iOS 8, do the following simple steps.
Note: You'll want to make sure that your app is built for all architectures, the Simulator is x386 in the Build Settings and Build Active Architecture Only set to No.
Path: Library->Application Support->iPhone Simulator->7.1 (or another version if you need it)->Applications
Create a new folder with the name of the app
Go inside the folder and place the .app file here.
Update for Xcode 9.4.1+
Hope my answer is getting seen down here as this took me a while to figure out but I just got it working.
First of all you need to build and run the App on your simulator. Then you open the Activity Monitor. Double click the name of your App to find its content.
In the next screen open the Open Files and Ports tab and find the line with MyAppName.app/MyAppName.
Copy the link but make sure to stop at the MyAppName.app. Do not copy the path following it.
Control click onto the finder icon and select Go to folder.
]
Paste the path and click enter. You will see your MyAppName.app file.
Copy it to the Desktop and zip it. Move it to your desired 2nd computer and unzip the file. Build a random project to have a simulator open.
Lastly: Literally drag and drop the App from your Desktop into your Simulator. You will see the install and the App opens and does not crash.
You cannot run an ipa file in the simulator because the ipa file is compiled for a phone's ARM architecture, not the simulator's x86 architecture.
However, you can extract an app installed in a local simulator, send it to someone else, and have them copy it to the simulator on their machine.
In terminal, type:
open ~/Library/Application\ Support/iPhone\ Simulator/*/Applications
This will open all the applications folders of all the simulators you have installed. Each of the applications will be in a folder with a random hexadecimal name. You can work out which is your application by looking inside each of them. Once you have found out which one you want, right click it and choose "Compress ..." and it will make a zip file that you can easily copy to another computer and unzip to a similar location.
UPDATE: For Xcode 8.0+ you need to follow below Steps:
Download application from iTunes
Select downloaded app, right click show in finder
Copy .ipa file to Desktop, rename it to .zip file
Extract that .zip file and you will get directory with application name
Check that directory you will find app file in Payload folder, copy this app file
Go to ~/Library/Developer/CoreSimulator/Devices
FYI: Library folder is hidden by default in mac, you can see hidden file using below command.
defaults write com.apple.finder AppleShowAllFiles YES;
killall Finder /System/Library/CoreServices/Finder.app
Now here you'll see many directories with long hexadecimal names, these all are simulators.
To find your desired simulator, sort these directories using "Arranged By > Date Modified".
Select that simulator file and go to below location.
<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/
Create new folder name with <download-app-name> and paste app file in that folder
Open Terminal and run below command to install this application
xcrun simctl install booted <APP_FILE_PATH>
Example <APP_FILE_PATH> will be looks like below:
~/Library/Developer/CoreSimulator/Devices/<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/<APP_NAME>
First of all, IPAs usually only have ARM slices because the App Store does not currently accept Simulator slices in uploads.
Secondly, as of Xcode 8.3 you can drag & drop a .app bundle into the Simulator window and it will be installed. You can find the app in your build products directory ~/Library/Developer/Xcode/DerivedData/projectname-xyzzyabcdefg/Build/Products/Debug-iphonesimulator if you want to save it or distribute it to other people.
To install from the command line use xcrun simctl install <device> <path>.
device can be the device UUID, its name, or booted which means the currently booted device.
For Xcode 10, here's an easy way that worked for me for a debug IPA (development profiles)
Unzip the IPA to get the Payload folder.
Within the Payload folder is the app executable.
Drag and drop the app to an open simulator. (You might see a green add button when you drag it over the simulator)
It should install that app on that simulator.
You can run the application file of project in simulator - not .ipa file.
You can get it from:
Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->then u can see many files like 0CD04F.... find out your application file through open it.
You can copy the file to your system(which system simulator u need run ) location Libraries-->Applicationsupport-->iphone simulator-->4.3(its your simulator version)-->applications-->
Then open the simulator 4.3 (its your simulator version where you pasted). You can see the application installed there.
Getting from other people:
Please tell them to find out Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->then you can see many files like 0CD04F.... from their system and receive that file from them.
After they have got the file, please copy and paste the file in to your system `Libraries-->Applicationsupport-->iphone simulator-->4.3(its your simulator version)-->applications-->(paste the file here).
Then you can see the app is installed in your system simulator and you can run it after clicking the file.
Copy From Here:
- Run the application in the Xcode.
- Select Finder go to Go and click on select Library Library/Application Support/iPhone Simulator/7.0.3-64/Applications
- Select 32 bit folder Copy your application.
Paste To Here:
- /Applications/Xcode-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhone Simulator. SDK/Applications
- Paste here and run the simulator.
With Xcode 6:
It's very possible to build and install on a simulator.
I did it by copying the debug build configuration (I called it SimRelease for my example below) in the project settings. I changed the architectures to i386 and x86_64 (not sure how necessary this was), but key difference to change between the copied build configuration is build for active architecture set to NO. After that a couple simple command line tools will do the rest!
xcodebuild -scheme YOUR_SCHEME -configuration SimRelease -sdk iphonesimulator8.1
Depending on where you have your DerivedData set you need to go find the outputted .app folder. Once you've found it you can simply install it on any simulator device. To find the device UUID's open Xcode and go to Window->Devices you'll see the list of the device instances and you can grab the UUID's. For a trivial script you could grab all of them from: ~/Library/Developer/CoreSimulator/Devices/ and install on every device.
From there the simple command to install on a device is:
xcrun simctl install DEVICE_ID APP_FOLDER_LOCATION
Here's a simple shell script to take the app and install it on every device:
app_dir=$1
current_dir=$(pwd)
cd ~/Library/Developer/CoreSimulator/Devices/
devices=$(ls -d */)
cd "$current_dir"
for device in $devices
do
device_id=${device%/}
xcrun simctl install "$device_id" "$app_dir"
done
Hope this helps! Took me a while to figure out the best way to do it.
Step to run in different simulator without any code repo :-
First create a .app by building your project(under project folder in Xcode) and paste it in a appropriate location (See pic for more clarity)
Download Xcode
Create a demo project and Start simulator in which you want to run the app.
Copy the .app file in particular location(ex :- Desktop).
cd Desktop and Run the command (xcrun simctl install booted appName.app),
App will be installed in the particular booted simulator.
Tested on iPod touch (7th generation) Simulator 13 (iOS 15.0)
Xcode and Xcode Command Line tools are already installed
Since we have an .ipa file, we can get the .app file from it
Rename .ipa file as .zip and extract the contents
Once the zip file is extracted, we can find the Payload folder which contains App_Name.app file
Open Terminal or iTerm2 app
Navigate to the folder which contains .app file
To list all iOS connected devices & iPhone simulators -> Also shows the UDID of all devices
xcrun xctrace list devices
Boot the simulator
xcrun simctl boot <UDID>
Launch the simulator
open -a simulator
Install the .app file
xcrun simctl install booted <App_Name>.app
Just drag and drop .app file to simulator it will install app automatically.
I have checked in iPhone simulator 13(iOS 15.4)

Developing for the iPhone outside Xcode

I'd like to develop and run my iPhone applications from the command line and my personal editor instead of having to use Xcode.
So far I've been able to edit all the files in Emacs and run xcodebuild in the project to compile/link/etc.
The next step would be to create a Makefile task to launch the iPhone Simulator with my current application. Any ideas of how can I do that?
Update: I'm not interested in XCode calling my editor, I just want to forget about the IDE as much as I can.
All you need to do is copy the built .app from wherever XCode puts it to ~/Library/Application Support/iPhone Simulator/[some version]/Applications/[somefolder]/.
Then, launch /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iOS Simulator.app. Not sure how to get it to launch a specific application, but that'll take you to the home screen.
Note also that you can set up XCode to use external editors, even for source code. In this setting, you'd open XCode to look at the treeview displaying the files and other items making up your project, but once you double-click a sourcecode file it would open in e.g. Emacs.
There's a screencast over at Mac Developer Network demonstrating this: link
I doubt it. If you jailbreak your phone and install SSH on it you could set up something to >>copy the .app over wifi, but that's a fair bit of work. – Noah Witherspoon Jan 13 '09 at 5:24
I did all of my beginning iphone development work this way. Just ssh'ing over the binary executable and whatever other files you might need (after you locate the App folder on your phone) is actually much faster than installing the application from xCode. Note that I wasn't running the debugger.