First and foremost, I am not the developer behind this application, however I am looking for a solution to this problem as I work at the company that runs the application and I've been tasked to do so. This is not a focused code-line question, but more so an application question.
Background: The application is an educational tool that simulates a physical science laboratory that is programmed using Flash. It is accessed from a Learning Management System (LMS) web browser - i.e. Blackboard, Canvas, etc. - through a link to the object. There are multiple simulated labs that are each their own object.
The main problem: The simulators/labs are able to be accessed on an Android device (phones & tablets) by prompting a download of a .apk file once the link is clicked on that device where they will have a menu that localizes all the simulators. This is to centralize all the simulators into one menu app. Now, when you attempt this process on an iOS device, it's obviously incompatible (.apk vs .ipa). We can create a runnable .ipa file for each individual simulator, but this is not efficient at all when attempting to execute on a mass scale (think district-wide access).
What I want to find out is the most efficient way to adapt the application for iOS since it utilizes Flash. The same process would be desired (click the link and it prompts a download of the menu app that holds the sims/labs).
Thanks in advance.
You need to enrol for apple developer program to distribute builds. Normal subscription consider distribution thought App Store, and it seems not your case. There is Enterprise subscription - it allows to create .ipa, that can be installed on any device, but distributed locally (Ad-Hoc). While assembling Ad-Hoc build in latest Xcode you can select opportunity to create distribution manifest as well (Xcode will provide description how to use it). Then you can upload manifest and iPad file to you file server, and share link to manifest with you user. Opening manifest on iDevice will launch installation of application.
I have developed my first apple app and i wish to run it in iphone (its working well in XCode). By running in iphone i don't mean to connect it with mac and run with USB connection.
I mean something like there will be uuid of iphone and i upload my app some where and it can be run by Iphone user without any wire-connection to my MAC where i have app in xcode.
Is it possible to achieve by anyway? Is that way to achieve is free of cost ?
What I understand from you question is you want to distribute your application to others,
If you have apple developers account , you can use TestFlight ITunes Connect, where you can distribute upto 1000 users
Or you could use other free providers like,
Fabric
Hockey
I personally recommend Fabric , it's free, has lot of features
In your project set your distribution profiles in code signing options
Then click on product-->Build wait for a moment until it opens an Organizer window .
After opening organizer window select save for AdHoC deployment --> choose your organization--> select for all devices compatibility(if you are running with latest Xcode 7.3 version otherwise devices compatibility window won't appear) click next next.
Finally you can get an api file in the Organizer window. In that select the first api file which has recently you built -> click on export to your any finder location.
Then open your api file location in your Finder.
Then open your browser and open https://www.diawi.com and drag and drop your api in the specified field and wait until it reaches 100% to upload and click on send so that you can get a link. Now you can share your link.
Note: In iOS device he can install the api by using safari browser with the link we have shared
I want to test my website on Safari on my iPad. I only have another PC. Is there a way for me to do remote debugging like ADB (Android Debug Bridge) with mobile Chrome? I searched on StackOverflow, seems there is an Adobe Edge Inspect CC, but I don't know if this is a good choice.
Thanks!
Update October 2019
This solution doesn't work for IOS 12+ (resource 1, resource 2).
Updated and tested on 24/6/2017
Using Chrome on Windows 8 and more recent:
Download and install Node
Download and install ITunes and connect it to your Device. (A pop-up should shows to your iPad to get authorization)
. Be sure to allow web inspector in your iPad
Download and install the remote webkit adapter
Using Powershell (As administrator):
npm install remotedebug-ios-webkit-adapter -g
Execute the adapter:
Using Powershell (as administrator):
remotedebug_ios_webkit_adapter --port=9000
You should get a similar output:
C:\Windows\system32> remotedebug_ios_webkit_adapter --port=9000
remotedebug-ios-webkit-adapter is listening on port 9000
iosAdapter.getTargets
...
Open Chrome and go to the following link:
chrome://inspect/#devices
Click on configure next to "Discover network targets" and add the following:
localhost:9000
Make sure to have the web page you want debug open on safari, you should see it on chrome inspector page under Remote Target
Extra step for iOS 11 Thanks to #skaurus
See monkeythedev's answer for the easiest way to debug on a Windows 8+ machine with iOS 9+. I updated my blog post using information from that answer and other sources and also recorded a screenshare. The method below should still work for iOS 8 and down, if needed.
There is actually a pretty easy way to debug a website in Safari on iOS using Firefox on a Windows machine.
NOTE: Ryan wrote in the comments below that this may only work on iOS 8 and down. I am unable to confirm, but be aware.
I wrote a detailed blog post about this, but here are the highlights:
Install iTunes to get the "Apple Mobile Device Support" and "Apple Application Support" applications that come with it. (uninstall iTunes afterward, if you want)
Connect your iOS device via USB.
Enable web inspector on iOS (available on iOS 6 and later).
Open Safari on your iOS device and browse to a website.
Open Firefox on your Windows machine and press Shift + F8 to open WebIDE, which should include the necessary Valance add-on, if you use Firefox Developer Edition (any version) or Firefox 37 and later (any channel).
For some reason, I couldn't get it to connect to my iOS device until I downloaded the ios-webkit-debug-proxy-win32 program and ran it. It opens a blank Command Prompt, but after I went back to WebIDE after opening it, I disconnected, then reconnected, and I saw debug info for the website I had opened in Safari. You may not need to do this though, as another user just had to add an exception to their firewall then disconnect/reconnect, and it worked.
The debug info available isn't as exhaustive as Chrome Developer Tools (specifically no "Networking" tab), but it was enough for me to be able to view what was going on in the Console.
2018 Update:
Since the original post, the blog post is dead & Telerik App Builder is discontinued and no longer offered. Adding this update to inform readers in case they don't read the user comments that follow this answer post. As for the blog post, for those still interested, here's a web cached copy. Regarding the blog, I think the company that blog's from has since shut down.
When I get a chance, I'll see if I have a copy of the app builder saved so that I can post it online for those still interested in using it, along with another cached copy of the blog post maybe.
Original Answer
You can try option of using Telerik AppBuilder (Windows client) as a replacement on Windows for Safari debugger on Mac when remote debugging. There's a nice blog post about the steps to do it in link below. I'd rather not repost the info as there are also screenshots and it's a lot of text. But essentially, you install app, open it, connect device via USB, then you can find it in the app and open up the developer tools/debugger for it. For non-public websites, you'll have to open up port 80 with some firewall configs documented in the post.
http://blog.falafel.com/Blogs/josh-eastburn/2014/03/04/ios-web-inspector-on-windows-with-telerik-appbuilder
The tool requires a license or you can use the trial, which becomes a basic edition afterwards. I think the basic edition will still allow you to do the debugging. I'm going to try it out myself.
You can also try these iOS apps too, you can find them in the iTunes App store. They give you a built in developer tools feature (right on iOS no remote debug) that mobile Safari doesn't offer.
MIH Tool - basic edition
https://itunes.apple.com/us/app/mihtool/id584739126?ls=1&mt=8
HTTPWatch Basic
https://itunes.apple.com/us/app/httpwatch-basic-http-sniffer/id658886056?mt=8
I gave them a try and they're at least better than the mobile Safari you get on iOS, unless one needs to target full mobile Safari compatibility. I'm guessing the pro/paid editions of those apps give you more/better features.
This question was more than 4 years ago, but I feel like it's worth to mention another option which is platform-independent which seems is not mentioned above:
VConsole
It's a JavaScript that you can inject into your page(s) which will overwrite all native console output and show it as an overlay on top of your page content, in a level of detail that is almost as good as Google Chrome's Developer Tools.
Runs well on iOS Safari, as well as on other mobile browsers - for as long as JavaScript is enabled in the browser.
How to install: https://www.npmjs.com/package/vconsole
You will need NPM tools to install it, but not actually required to use NPM to build your project. You can simply install VConsole somewhere in a separate folder, and just copy-paste vconsole.min.js from it.
Once you inject it into your page, will look like this:
<script type="text/javascript" src="vconsole.min.js"></script>
<script type="text/javascript>let vc = new VConsole(); // this will initialize it.</script>
Visually is very appealing, you will see green button in lower-right corner of your page on your mobile/desktop browser, which will open console overlay.
Very neat!
Of course, it does not provide you with ability to select an element, see calculated css etc., but if you are looking for console output and some network report, this one is really easy to use.
October 2019
AFAIK, For recent IOS versions there is no overall solution for debugging IOS from a PC.
You can however use one of the following solutions:
Display console messages in the browser itself. As described here and in Sinisa's answer.
The "remotedebug-ios-webkit-adapter" doesn't work for debugging IOS 12+. It requires extra steps for IOS 11, and works for IOS 10 and perhaps older versions as well.
I use PrePros for CSS preprocessing and it has a built in server for mobile debugging and web inspector. But this is only good for local sites even still...
In my experience it is often not an issue with mobile Safari only but Safari in general. In these cases it can help to try the normal Safari (for Windows) and see if the bugs appear there. If so, it's much easier to debug something by this way.
2021 update:
The creator of RemoteDebug here. I've built a replacement for RemoteDebug called Inspect, which packages everything together in a pleasant experience and enables easy iOS web debugging from Windows, macOS, and Linux, with a few extra features like screencasting and wifi debugging.
http://inspect.dev
There are a couple of options I've come across for debugging on iOS. They're not full step-through debuggers, but they offer a JS error log, console and some inspection tools:
1. Eruda
By adding the following snippet to the top of your page:
<script src="https://cdn.jsdelivr.net/npm/eruda"></script>
<script>eruda.init();</script>
You get an interactive set of developer tools similar to those in Chrome and Firefox. Here's a screenshot:
Available at https://github.com/liriliri/eruda
2. MiniConsole
This one I developed myself when I had not discovered another suitable option. It has less features, but it does the main things - capture JS errors, and allow you to run commands to inspect variables and object on your page.
Here's a demo:
It's activated by just placing this script tag on your page:
<script src="https://cdn.jsdelivr.net/gh/SimonEast/MiniConsoleJS#main/console.js"></script>
Open source, GPL licence. Available at: https://github.com/SimonEast/MiniConsoleJS/
3. vConsole
Another similar option that I've not really tried. Available at https://www.npmjs.com/package/vconsole with a live demo at http://wechatfe.github.io/vconsole/demo.html.
I haven't tried this on a PC, but you should be able to go to http://[DEVICE_IP_ADDRESS]:9999 to debug.
I hired a developer. He made app. I want to test it.
What I have:
Apple developer account - single - I never could figure out that
company international ID thingy.
Only I can access the account (am willing to give access if that is
only way)
I have OsX 10.6.2 snow lep running on Virtual Box all good
XCode 3.2.something (its older, updating requires new kernel and has
been problematic)
(I can utilize the apple dev provisioning wizard on dev.app.com to
obtain certs and files)
I have an apple certificate file downloaded to my computer that I
made under the provisioning thingy on dev.app.com
iPod Touch 4g (Jailbroken) if needed. (unknown if I can access it
via virtual box)
What I want to do...
Send whatever files to my ios developer so he can create a single file to email back to me. I take said file and install it on my iPod Touch, on my windows computer.
What do I need to send him so the developer can make this happen? Further what do I need to tell him to do. This part may seem odd as why would "I" not knowing how to build an iOS app be telling the dev how to do it. I have requested him to make this all happen before and there is a language barrier.
What I do not want to have to do:
Use the mac anymore (please tell me this is possible.)
(said in another way) I would like to Test apps by putting them on my ipod Touch (using itunes or safari and dev account is ok) BUT I want to be using windows.
Can this be done? I code Android. I do not know Xcode and dealing with builds from Xcode 4.6 then trying to open project in Xcode 3.X not knowing if there are project errors etc. and well...learning xcode jsut doesn't make sense...I mean then why hire a dev? yeah yeah cause he knows C++ I got that part.
Anyway, sorry for the 'flavor' parts of this message I just want to make a message that will sum up the "world of it all" for any future travelers trying to do the same thing.
Summary - I want to test apps on Ipod Touch (or whatever iOS device) using windows to install them to the device. Able and willing to use Mac to create needed files (certs. keychain files etc.) can use Mac for all building aspects.
Please advise and thank you very much programming gawds in advance.
Use the mac anymore (please tell me this is possible.)
2 .(said in
another way) I would like to Test apps by putting them on my ipod
Touch (using itunes or safari and dev account is ok) BUT I want to be
using windows.
It is possible. However, you may not understand the following steps because those should be done by iOS developer.
Step1. Your developer should archive it (In xcode, press Product, then Archive).
Step2. Open Organizer in xcode (top right corner), click the "Archives" page
Step3. Select the app you just built. Then click "Distribute" button and select "Save for enterprise or Ad-Hoc Deployment"
Step4. You will get xxx.ipa. You can drag this file in WINDOWS iTune and sync to your iPod.
Note: Your iPod should mark for "use for development" with valid provision.
I am trying to install mediastreamvalidator, mediastreamsegmenter, mediafilesegmenter tools for my mac machine version 10.6.8.
As mentioned in below link about downloading required tools for development of Apple specified Http Live Server.
https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html
As above article says:
The tools are frequently updated, so you should download the current
version of the HTTP Live Streaming Tools from the Apple Developer
website. You can access them if you are a member of the iPhone
Developer Program. One way to navigate to the tools is to log onto
connect.apple.com, then click iPhone under the Downloads heading.
After logging in to site connect.apple.com with Mac OSX developer credentials,
under download heading there is no tab named iPhone, i am unable to find this link.
If these tools are stored else where can some one please provide me the updated link?
I need these command lines for developing HLS server.
As I read on Apple web site, Mac OSX version 10.6 and above have these applications pr-installed and we don't need to install them using dgm files, but on my max machine i have only mediastreamsegmenter command line tools not all of them.
Can some one please provide me a link to download these command line tools or provide information on how to get these applications installed on my mac.
As mentioned by Stuart, you must be a member of the iPhone Developer Program in order to access these tools via the http://connect.apple.com link provided in the official documentation. More specifically, you must be a paid member. This fact caused me to lose several hours searching for the tools as I was a member of the iPhone Developer Program, but my annual membership had lapsed and the tools were consequently no longer available to me. What really got me was that the tools were still unavailable within the first few hours of renewing my membership. It took approximately 12 - 24 hours after I paid to renew my membership for them to show up in the list. Hope this helps someone down the road!
They seem to be well-hidden for whatever reason, but after a few wild goose chases, I found them.
You can start at the public-facing streaming page: https://developer.apple.com/streaming/
There is a "Downloads" link along the side. You'll be prompted to sign in to your Developer account, and then finally you get the actual download page here:
https://developer.apple.com/download/more/?=http%20live%20streaming%20tools
Here is a copy make from lastest version of HTTP Live Streaming Tools on ADC.
https://github.com/creeveliu/HTTPLiveStreamingTools
Download:
$ git clone https://github.com/creeveliu/HTTPLiveStreamingTools
To install it, you just need to double-click the StreamingTools.pkg and follow the instructions.
Once installed you will have these tools
/usr/local/bin/mediastreamsegmenter
/usr/local/bin/mediafilesegmenter
/usr/local/bin/mediasubtitlesegmenter
/usr/local/bin/variantplaylistcreator
/usr/local/bin/mediastreamvalidator
/usr/local/bin/hlsreport.py
/usr/local/bin/id3taggenerator