Programmatically browse iOS file system from mac - ios

How can I browse an iOS file system (e.g. iPhone) that is connected via USB to a mac?
I know it is possible because some programs are doing it (e.g. iexplorer or even iTunes itself).
Here are some of the solutions I found:
Jailbreaking. That is out of the question for me for obvious reasons
downloading and using third party software like iexplorer. I do not want to do this, because this is closed source software, and I do not know if I can trust it.
I tried to look into github for open source project that would do something like that, so that I can get inspiration. But I didn't find any project doing something like that.

You can have a look at libmobileidevice suite: https://github.com/libimobiledevice
Specifically ifuse: https://github.com/libimobiledevice/ifuse

Related

How can I create hybrid apps on IOS?

I see on Android that apps exist to create android apps. I understand nothing like this exists on IOS because of apple's terms. On IOS however, some apps, pythonista for example, allow the user to create scripts that run similar to apps. Is this functionality currently available for hybrid frameworks, IE phonegap/cordova, react native, etc? Barring this, is there some method whereby I can code and test such apps on my iPhone/iPad?
Bottom line, I want to code apps while commuting, etc, on IOS. I understand I need a computer to compile the final product, that's ok, it's just the coding/testing process I want to do on IOS.
I am up for any hack you can think of to make this work, so long as it is accessible with VoiceOver, apple's screen reader, as I cannot see at all. One example of something I thought of that won't work is using remote desktop software, there is no such software that is accessible as it uses an image of the remote screen, I have no access to this.
I am looking forward to your creativity, so far this has me stumped.
Thanks in advance.
Similar to the playgrounds answer, but if you wanted to use Xamarin you could use Continuous .NET. It’s a C# IDE for iOS. You could then use Working Copy to to keep the version on your computer in line.
The other option is to VNC into your computer at home, but if you’re on the train that might not be a great option.
It's not a solution for your problem, but if you have an iPad, you can write parts of apps in Swift Playgrounds. There you have access to all the UIKit stuff. Unfortunately some of the frameworks you can use in iOS are missing.

If Android Things OS designed for open source?

I cannot find the Android Things OS source code.
If Android Things designed for open source, even in the future ?
Or the OS is managed by Google only and not for open source ?
I do not want the way to download the source code. This question aimed for some ideas from the design perspective
Unfortunately, it seems like it won't be.
From an Ars Technica article:
Just like Windows, Android Things is closed source and has a centralized update system.

Determine iOS application platform

I have an application I've been handed to test, and I'm — shall we say — less than impressed?
I believe the company that built the application for my client didn't build it as an iOS native application; my gut feel is they leveraged one of the multi-target platforms because that's what they're comfortable with. The application's usability is particularly poor, and it just doesn't behave the way an iOS application should.
How can I tell whether this application is native or built on some OS-agnostic platform? Any big give-aways that can tell me?
FWIW, the iPad is the only target platform for this device. It won't need to run anywhere else.
Are you saying that it doesn't have the look and feel of a regular iOS app? It's possible that it has been developed in AIR, HTML5, etc. I don't know if there is much way of doing this without jailbreaking the device.
You could, of course, ask around or post a screenshot and see what others think.
Get the binary out of the device, using softs like DiskAid (free for that part - no jailbreak required), and study it. You may get important infos through a disassembler, such as Hopper, which has support for ARM.
If you can't read assembly, study the application's resources. It may also give you some hints. Again, a software like DiskAid will allow that.
While "some OS-agnostic platform" is a bit broad, there is an easy way to tell if an app was made with PhoneGap, arguably one of the most popular OS-agnostic platforms.
Copy the .ipa file you've been sent (or find it on your filesystem
and copy it).
Rename the copy WhatEverTheAppNameIs.zip.
Extract the zipped folder and open it.
Open the folder named "Payload" (If it isn't already).
Right-click on BlahBlah.app and select "Show Package Contents".
Inspect the bundle.
Check for the presence of a www folder. If it's contents are sizable (compared with the packages contents in general) there's a good chance the whole app was made with PhoneGap.
It's also illuminating to click on the index.html file in the www folder just to see how much of the app runs in desktop Safari.
You may also discover other evidence of OS-agnostic platforms by examining the bundle further.

How to connect to network share drive programmatically?

I would like to write a program on iPad to connect network share drive (similar to FileBrowser application). However, I cannot find many resources and sample code on the Web. Does anyone know how to do it? Any website for reference? Thanks so much!
Connecting to an SMB shared drive would be the same as connecting to any SMB server. Now I've googled a bit and found that SMB was developed by Windows, and not given free, but that it has been successfully reversed engineered and that it has been ported to Linux, Unix, whatever by the name Samba.
I dug a bit deeper and easily found this link: Windows Filesharing library for iOS. It provides a link to an iOS framework which enables you to connect to a Samba/SMB drive.
Since I never tried to connect to a SMB/Samba server, I don't know if the framework will work, I've never tested it. But by copying some source files to your own project you normally should get it working.
Note: Check the license of any third-party framework you use.

Should I consider any other tools outside the Apple development tools for iPad development?

The Apple dev site makes it look as tho it has all the tools you want for developing iPad apps. Should I consider any other tools outside the Apple development tools for iPad development?
Thanks so much in advance for your help!
MonoTouch is another option, if you're a .NET developer looking to do iPhone/iPad development. (Currently MonoTouch has experimental, alpha-level support for iPad, but full support shouldn't be far away.) It's not free, but it's a great tool if you're coming from that background.
Plus it compiles to native code for the iPhone, so can be used for App Store builds and everything.
Adobe has some tools where you can author in Flash/Flex/Air and it will compile down into a valid iPhone/iPad application, that can be accepted and sold in the appstore.
There's also a company called Unity3D http://unity3d.com/unity/features/iphone-publishing.html that has some alternative iPhone/iPad development tools (where you program in C#!)
It depends on what kind of tools you're talking about... If you mean applications, you can use any editor you want for example, like TextMate or Vim or anything else (personally, I hate Xcode's built-in editor, it can't even open files in tabs...). You'll still need to use Xcode for building the app and IB for preparing the interfaces though (unless you want to create entire UI in code, which is madness). I'm not aware of any unofficial tools that can build an iPhone app or create NIB interface files.
If you mean frameworks that allow you to code in something else than ObjC (like Adobe's Flash tools or MonoTouch), then these were recently banned by Apple, so you need to stick to the standard ObjC/Cocoa APIs.

Resources