GithubHelp home page GithubHelp logo

simlaunch's Introduction

Simulator Launcher

Introduction

Simulator Launcher builds custom executables to automatically launch an embedded iPhone Simulator application using the correct iPhone SDK.

To use, drag any iPhone Simulator binary onto the "Simulator Builder" application. This will create a new Mac OS X application that bundles and launches your iPhone Simulator application from within Mac OS X. The new application's icon and name will be derived from your iPhone Simulator application.

The built launcher will:

  • Detect all installed iPhone SDKs (such as the beta iPad SDK) using Spotlight, even if they're in non-standard locations
  • Automatically select the best available SDK for your application.
  • Install and launch your application in the appropriate Simulator.
  • Works with both iPhone and iPad simulator binaries.

Watch the screencast here: http://www.youtube.com/watch?v=Jnm4Zj36shU

Building

The project should build and run on Mac OS X 10.6 and 10.7. To build, run the disk image target:

xcodebuild -configuration Release -target "Disk Image"

Binary releases of Simulator Launcher are also available from:

http://github.com/landonf/simlaunch/downloads

Authors

  • Landon Fuller
  • Erica Sadun

The application's icon was graciously provided by Pete Zich.

simlaunch's People

Contributors

0xced avatar chocochipset avatar hewigovens avatar jfro avatar landonf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simlaunch's Issues

Launcher fails with iOS Simulator from Xcode 4.3 GM

At present, iOS apps bundled with simlaunch won't successfully launch if the user has Xcode 4.3 GM installed. This appears to be for two separate reasons...both of which appear to be related to Apple moving the various Xcode-related tools such as iOS Simulator to be located directly inside the Xcode bundle.

  • PLSimulatorDiscovery searches for "iPhoneSimulator.platform" directories using Spotlight, and thus doesn't find the new platform directory that is inside the Xcode bundle. I have tested a fix for this where if Spotlight fails to find the iPhone Simulator. platform directory, I'll also look directly where Xcode 4.3 would locate the file "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform"

However, even if I fix this, there is a second problem.

  • When PLSimulatorPlatform goes to load iPhoneSimulatorRemoteClient.framework, the load will fail because it can't find a dependant private framework. The framework exists, but it has been moved to a different location, and is also inside Xcode's bundle.

console log:

2/16/12 2:24:07.963 PM Launcher: Failed to load iPhoneSimulatorRemoteClient framework: Error Domain=NSCocoaErrorDomain Code=3587 "The bundle “iPhoneSimulatorRemoteClient” couldn’t be loaded because it is damaged or missing necessary resources." (dlopen_preflight(/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/iPhoneSimulatorRemoteClient.framework/iPhoneSimulatorRemoteClient): Library not loaded: @rpath/DevToolsFoundation.framework/Versions/A/DevToolsFoundation
  Referenced from: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/iPhoneSimulatorRemoteClient.framework/iPhoneSimulatorRemoteClient
  Reason: image not found) UserInfo=0x400454f00 {NSLocalizedFailureReason=The bundle is damaged or missing necessary resources., NSLocalizedRecoverySuggestion=Try reinstalling the bundle., NSFilePath=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/iPhoneSimulatorRemoteClient.framework/iPhoneSimulatorRemoteClient, NSDebugDescription=dlopen_preflight(/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/iPhoneSimulatorRemoteClient.framework/iPhoneSimulatorRemoteClient): Library not loaded: @rpath/DevToolsFoundation.framework/Versions/A/DevToolsFoundation
  Referenced from: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/iPhoneSimulatorRemoteClient.framework/iPhoneSimulatorRemoteClient
  Reason: image not found, NSBundlePath=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/iPhoneSimulatorRemoteClient.framework, NSLocalizedDescription=The bundle “iPhoneSimulatorRemoteClient” couldn’t be loaded because it is damaged or missing necessary resources.}

In Xcode 4.2, DevToolsFoundation.framework was located at:

/Developer/Library/PrivateFrameworks

but in Xcode 4.3, it is located at:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks 

If I examine iPhoneSimulatorRemoteClient.framework in MacDependency, it also reports that it can't resolve the reference to DevToolsFoundation.framework.

Is there a problem with the Xcode 4.3 build of the private framework, or is there some build setting that could be tweaked in Launcher to search in additional locations for DevToolsFoundation?

Bundle Data?

Just wondering if there's a way or plans to add the feature to bundle the launcher with some of the data after running the app in the Sim. This was a useful feature of the iPhoneSimulatorExchange app.

Required iPhone SDK not found

Hello! I am running on 10.8 and after using Simulator Bundler, when I open the complied app, I get an error:

The iPhone SDK required by the application could not be found. Please install the iphoneos6.0 SDK and try again.

I have latest XCode installed along with the iOS SDK. Any help?

iPhone-sized but expecting iPad-size?

great little app, thanks! i've an issue with a demo showing up at iPhone sizes though when i run it in the "real" simulator it runs at full iPad-app size. Any ideas of how to fix? I'm using the 1.0b3 binary distribution.

Uses incorrect simulator version

I have Xcode 4.2.1 and 4.4.1 installed. My xcode-select is pointing to the xcode 4.4.1 installation. simlaunch is launching my 4.2.1 simulator though. Even if I move /Developer to /Developer.old, it still runs the simulator in that directory and not the correct one under /Applications/Xcode.app/Contents/Developer.

Build fails in XCode 7 or later

The error while building from sources:
'SenTestingKit/SenTestingKit.h' file not found

SenTest is deprecated in new XCode versions.
Should it be upgraded to XCTest?

Compile error

CompileC build/SimulatorLauncher.build/Release/PLSimulator.build/Objects-normal/i386/PLExecutableBinary.o Source/PLSimulator/PLExecutableBinary.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/ruurd/Projects/ruurd/simlaunch
setenv LANG en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch i386 -fmessage-length=0 -std=gnu99 -fobjc-gc-only -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wreturn-type -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -fasm-blocks -Wprotocol -Wdeprecated-declarations -mmacosx-version-min=10.6 -g -Wno-conversion -Wno-sign-conversion "-DIBOutlet=attribute((iboutlet))" "-DIBOutletCollection(ClassName)=attribute((iboutletcollection(ClassName)))" "-DIBAction=void)attribute((ibaction)" -iquote /Users/ruurd/Projects/ruurd/simlaunch/build/SimulatorLauncher.build/Release/PLSimulator.build/PLSimulator-generated-files.hmap -I/Users/ruurd/Projects/ruurd/simlaunch/build/SimulatorLauncher.build/Release/PLSimulator.build/PLSimulator-own-target-headers.hmap -I/Users/ruurd/Projects/ruurd/simlaunch/build/SimulatorLauncher.build/Release/PLSimulator.build/PLSimulator-all-target-headers.hmap -iquote /Users/ruurd/Projects/ruurd/simlaunch/build/SimulatorLauncher.build/Release/PLSimulator.build/PLSimulator-project-headers.hmap -I/Users/ruurd/Projects/ruurd/simlaunch/build/Release/include -I/Users/ruurd/Projects/ruurd/simlaunch/build/SimulatorLauncher.build/Release/PLSimulator.build/DerivedSources/i386 -I/Users/ruurd/Projects/ruurd/simlaunch/build/SimulatorLauncher.build/Release/PLSimulator.build/DerivedSources -Wall -Wextra -Werror -Wno-unused-parameter -Wundeclared-selector -Wstrict-selector-match -F/Users/ruurd/Projects/ruurd/simlaunch/build/Release -F/Users/ruurd/Projects/ruurd/simlaunch/Dependencies -MMD -MT dependencies -MF /Users/ruurd/Projects/ruurd/simlaunch/build/SimulatorLauncher.build/Release/PLSimulator.build/Objects-normal/i386/PLExecutableBinary.d --serialize-diagnostics /Users/ruurd/Projects/ruurd/simlaunch/build/SimulatorLauncher.build/Release/PLSimulator.build/Objects-normal/i386/PLExecutableBinary.dia -c /Users/ruurd/Projects/ruurd/simlaunch/Source/PLSimulator/PLExecutableBinary.m -o /Users/ruurd/Projects/ruurd/simlaunch/build/SimulatorLauncher.build/Release/PLSimulator.build/Objects-normal/i386/PLExecutableBinary.o
/Users/ruurd/Projects/ruurd/simlaunch/Source/PLSimulator/PLExecutableBinary.m:55:13: error: synthesized property 'dylibPaths' must either be named the same as a compatible ivar or must explicitly name an ivar
@synthesize dylibPaths = _dylibPaths;
^
1 error generated.

Cannot luanch Simulator Bundler on Mac OS X 10.8.4

I am not sure what I need to drag to Simulator Bundler;
an
iOS Simulator.app (v6.0 Installed with Xcode 4.6.3 in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications)
or
iPhone App (.ipa file kept in Download folder)

I tried both and in any case I got the same message:

"Could not read application property list."
"iPhone Simulator.app does not appear to be a valid iPhone application."

Lion Support?

Seems that the Application doesn't work at all on 10.7, is there any plan to update it?

Steps to reproduce:

  1. Install on Lion
  2. Drag simulator made binary (test.app) to Simulator Bundler

Expected Result:

Simulator Bundler will launch and bundle app

Actual Result:

Simulator Bundler doesn't seem to accept the file (dragging not allowed)

XCode 6 and iOS Simulator 8.0

Since updating to XCode 6, I've been unable to launch previous versions of my apps bundled with simlaunch and unable to create new bundles. Looks like XCode restructured the iOS simulator directories again, this time dropping DVTiPhoneSimulatorRemoteClient.framework all together.

any way to run multiple instances of simulator

I'm trying to figure out if its possible to run more than one simulator process...
I tried to run class-dump on SimulatorHost
(/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/SimulatorHost.framework/Versions/A/SimulatorHost)

but I don't really have an idea on how to approach it...

Any pointer in the right direction would be awesome thx !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.