Register FAQ / Rules Forum Spy Search Today's Posts Mark Forums Read
Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Sep 10, 2013, 11:32 AM   #26
ArtOfWarfare
macrumors 603
 
ArtOfWarfare's Avatar
 
Join Date: Nov 2007
Send a message via Skype™ to ArtOfWarfare
Quote:
Originally Posted by apmwnq View Post
you mean the programming language smalltalk ?
well i am doing this cause i want a real shell even if emulated on ios without jailbreaking the devices .
and why would you say we should implement something else other than a *nix system ?
the dang idea doesn't make sense without it
however if you have studied any other OSs which you can implement here please feel free to help us in that direction

i have no objection in including it but i'd like some details about what you really want to implement with it cause from where we stand right now this seems like a really long shot and i am understating it
My understanding is that Smalltalk is more than just a language and that it is actually an entire OS that happens to be programmed in a language with the same name. I might be wrong - I have no experience with Smalltalk, I've just read a few papers on it and am intrigued. It's on my "sometime when I'm bored and have nothing else to do list" to try installing Smalltalk on my computer.
__________________
Battery Status - On the Mac App Store
The only app that'll estimate when your wireless devices will need their batteries changed.
Including the ones paired with other Macs on your network.
ArtOfWarfare is online now   0 Reply With Quote
Old Sep 10, 2013, 12:47 PM   #27
chown33
macrumors 603
 
Join Date: Aug 2009
Quote:
Originally Posted by apmwnq View Post
well i am doing this cause i want a real shell even if emulated on ios without jailbreaking the devices .
Apple's policies prohibit downloading code. As I recall, this prohibition applies to interpreted code in addition to native code. As an example, a BASIC or FORTH interpreter would be prohibited, even if neither one allowed native code.

I make this point because a "real shell" is an interpreter. In particular, bash is an interpreter. It has a fairly small set of builtin commands, and a much larger and extensible set of external commands. I don't see this distinction (builtin vs. external) as significant under Apple's policy. The point remains: one could download code (shell scripts) and interpret (run, execute) them on the iOS device. Unfortunately, this is prohibited.

I also think there are some exceptions to this general prohibition, such as games that are written using an interpreted engine. Nevertheless, this exception is only allowed as long as direct access to the interpreter is not supported. That is, game extensions must be bundled and distributed as game extensions only. There's can't be user-visible access to the interpreter, even if it were technically possible to provide such access.

So, as I understand the rules, it's impossible to get any kind of "real shell" approved for the app store, because any real shell is inherently an interpreter with direct access, and those are prohibited. It would make no difference how many levels of virtualization or emulation one was using. It's the fact of having an exposed code interface (i.e. an interpreter) that triggers the prohibition.

You could try, or you could ask Apple for clarification, but if you're not prepared for rejection, then I wouldn't bother.

Or if you think my explanation is wrong, please cite the actual text of the rule in question, or provide an existing example on the app store of what you intend to make.
chown33 is offline   0 Reply With Quote
Old Sep 10, 2013, 01:22 PM   #28
apmwnq
Thread Starter
macrumors newbie
 
Join Date: Jun 2011
Location: loops and branches of reality
Quote:
Originally Posted by chown33 View Post
Apple's policies prohibit downloading code. As I recall, this prohibition applies to interpreted code in addition to native code. As an example, a BASIC or FORTH interpreter would be prohibited, even if neither one allowed native code.

I make this point because a "real shell" is an interpreter. In particular, bash is an interpreter. It has a fairly small set of builtin commands, and a much larger and extensible set of external commands. I don't see this distinction (builtin vs. external) as significant under Apple's policy. The point remains: one could download code (shell scripts) and interpret (run, execute) them on the iOS device. Unfortunately, this is prohibited.

I also think there are some exceptions to this general prohibition, such as games that are written using an interpreted engine. Nevertheless, this exception is only allowed as long as direct access to the interpreter is not supported. That is, game extensions must be bundled and distributed as game extensions only. There's can't be user-visible access to the interpreter, even if it were technically possible to provide such access.

So, as I understand the rules, it's impossible to get any kind of "real shell" approved for the app store, because any real shell is inherently an interpreter with direct access, and those are prohibited. It would make no difference how many levels of virtualization or emulation one was using. It's the fact of having an exposed code interface (i.e. an interpreter) that triggers the prohibition.

You could try, or you could ask Apple for clarification, but if you're not prepared for rejection, then I wouldn't bother.

Or if you think my explanation is wrong, please cite the actual text of the rule in question, or provide an existing example on the app store of what you intend to make.
while i appreciate your concern and realize the point you are making but i think the rules need not be quoted here , first and foremost this is a fun project and we don't care for rejection at all , and i believe bash doesn't quite fall into that category , yes technically it does but not practically , i have a good feeling about this , that apple won't care because of the abstraction layer here , i'd give it a shot anyway .
apmwnq is offline   0 Reply With Quote
Old Sep 10, 2013, 09:45 PM   #29
denniscote
macrumors newbie
 
Join Date: Jul 2011
Quote:
Originally Posted by ArtOfWarfare View Post
My understanding is that Smalltalk is more than just a language and that it is actually an entire OS that happens to be programmed in a language with the same name. I might be wrong - I have no experience with Smalltalk, I've just read a few papers on it and am intrigued. It's on my "sometime when I'm bored and have nothing else to do list" to try installing Smalltalk on my computer.
You are correct. You can try out smalltalk using the Squeak app for Mac OS X, an entire smalltalk environment in an app for OS X, much like the OP proposed an entire *nix environment in an app for iOS. Check out http://www.squeak.org for more info. Squeak could probably be ported to iOS since it is all open source code.

FYI, wikipedia describes objective C as: "Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language". So those familiar with objective C may be fairly comfortable with smalltalk right away.
denniscote is offline   0 Reply With Quote
Old Sep 10, 2013, 09:56 PM   #30
denniscote
macrumors newbie
 
Join Date: Jul 2011
Quote:
Originally Posted by chown33 View Post
Apple's policies prohibit downloading code. As I recall, this prohibition applies to interpreted code in addition to native code. As an example, a BASIC or FORTH interpreter would be prohibited, even if neither one allowed native code.

...

There's can't be user-visible access to the interpreter, even if it were technically possible to provide such access.
I think there must be more to it than you have said since I have a complete Python interpreter installed on my iPad using the app Pythonista which I downloaded form the iOS app store. Details can be found at http://omz-software.com/pythonista/.

Clearly you can expose an interpreter to the user in an app that is distributed on the app store, at least under certain conditions.
denniscote is offline   0 Reply With Quote
Old Sep 10, 2013, 11:05 PM   #31
apmwnq
Thread Starter
macrumors newbie
 
Join Date: Jun 2011
Location: loops and branches of reality
Quote:
Originally Posted by denniscote View Post
I think there must be more to it than you have said since I have a complete Python interpreter installed on my iPad using the app Pythonista which I downloaded form the iOS app store. Details can be found at http://omz-software.com/pythonista/.

Clearly you can expose an interpreter to the user in an app that is distributed on the app store, at least under certain conditions.
basically what i understand from the rules is that anything that exposes or modifies the ios system components is not allowed but since the whole thing is merely a simulation as far as the apps specs go, i doubt there is any way our app is lessening apple's control over the device , apple's main regulation is that an app shouldn't affect the system itself in any way
and that the app just should run over it and do the limited amount of I/O that it needs like saving data to its own sandboxed directory or accesing the system's network and stuff .

----------

Quote:
Originally Posted by denniscote View Post
You are correct. You can try out smalltalk using the Squeak app for Mac OS X, an entire smalltalk environment in an app for OS X, much like the OP proposed an entire *nix environment in an app for iOS. Check out http://www.squeak.org for more info. Squeak could probably be ported to iOS since it is all open source code.

FYI, wikipedia describes objective C as: "Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language". So those familiar with objective C may be fairly comfortable with smalltalk right away.
aye , i like the idea but currently i am just gonna focus on the *nix environment , meanwhile
if anyone likes to fork and maintain a derivative of this upcoming app in the future( when it has materialized) for smalltalk please feel free to do so
apmwnq is offline   0 Reply With Quote
Old Sep 11, 2013, 12:14 PM   #32
chown33
macrumors 603
 
Join Date: Aug 2009
Quote:
Originally Posted by denniscote View Post
I think there must be more to it than you have said since I have a complete Python interpreter installed on my iPad using the app Pythonista which I downloaded form the iOS app store. Details can be found at http://omz-software.com/pythonista/.

Clearly you can expose an interpreter to the user in an app that is distributed on the app store, at least under certain conditions.
Yes, you're clearly correct. I'm still unclear on exactly what conditions are needed for it to be accepted in the app store (Mac or iOS). And maybe there are several different conditions. I could easily see that downloadable native code modules may have different restrictions than interpreted ones.

In briefly browsing the Pythonista docs, I see this:
http://omz-software.com/pythonista/d...ythonista.html
The script library shows all the scripts you’ve written and those that are included as examples. ...
It then mentions creating from a blank slate, creating from a template, or deleting. I see nothing about importing any downloaded existing scripts, adding downloaded modules, etc. So it looks like there's a limited path for using code you haven't written yourself in Pythonista.

But then there's this:
http://omz-software.com/pythonista/f...code-on-github
which talks about using the programmable editor in Pythonista to improve its code-sharing capability. And in that discussion is this post from user "omz":
And btw, it's not possible to include these features as part of the app, it wouldn't pass Apple's review (downloading code in any way is a no-no).
So the app on the app store can't download code directly, but it's possible to manually copy & paste some code into it that extends its abilities, and voila: a new feature.

I still don't see native-code modules, but it does seem like a nice environment for automating and tinkering on iOS.

And thanks for the Pythonista link. It's a very interesting tool.
chown33 is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
"Capture the Flag" enemy detector idea - I need help with something. moonman239 iPhone/iPad Programming 6 Mar 12, 2013 07:28 PM
iPad: No "games" category under "top charts" in app store? goox2 iOS 6 3 Nov 4, 2012 04:22 AM
Name of the "file open" / "save as" dialog box app? ancilla OS X 10.8 Mountain Lion 0 Sep 29, 2012 03:59 PM
Why no "stocks" & "weather" built-in app on iPad? iPayton iPad Tips, Help and Troubleshooting 20 Aug 2, 2012 07:37 PM
Jumping on the "Fold to Unlock" idea and building it in 5 days! Here is our story! Dock Status iPhone and iPod touch Apps 0 Jun 23, 2012 11:28 AM

Forum Jump

All times are GMT -5. The time now is 01:22 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC