Advertise here




Advertise here

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Google Sign In with OpenID

Using private frameworks?

mosttornbrainmosttornbrain Posts: 42Registered Users
edited August 2009 in iPhone SDK Development
What's the deal with using private frameworks? According to the SDK license agreement you are only allowed to use the API provided by the SDK, yet there are now apps in the App Store that are definitely using private frameworks.

Has Apple changed the policy or are the Apple employees doing the approval of apps just not able to look for private framework references?

Using private frameworks in an app gives access to a lot more functionality (such as low level networking calls, WiFi control, etc.). I've been holding off on using them since I assumed (based on the SDK agreement) that such apps would not be approved. Yet now I'm seeing apps that are being sold (i.e they're not free) that definitely are using the private frameworks - the functionality they provide is not possible using the standard framework APIs. Is Apple turning a blind eye since they are getting a cut of the profits?

It been about a month now since I sent an email to the official Apple dev email contact asking for clarification on this, but still have not received a response. So much for the 2 free tech support emails that come with a paid developer account. They're not very useful if you never even get a reply.

Has anyone else gotten clarification from Apple on this matter?
Post edited by mosttornbrain on

Replies

  • scottiphonescottiphone Posts: 802Registered Users
    edited September 2008
    Apple pulled at least 1 app (Phanfare) because of they didn't use the standard Camera sdk.

    1. If you have specific apps then list them. We have no idea what private frameworks or apps you're talking about. In some cases they may be doing something under the SDK you're unaware of.

    2. File it as a bug report and also contact the iTunes app Store developer contact in addition to the portal contact. Once again you would have to be very specific about which apps and which frameworks.

    3. Approval guidelines seem very haphazard. I had assumed they would run any app through a process to vet that no private frameworks were used but that doesn't seem to be the case. You're also not supposed to put up splash screens yet I've deleted a few free apps that have splash screens galore.

    4. Apple seems to also approve apps that are 80-90% example code. Alli's Jigsaw Puzzle seems to be a full copy of Jigsaw and there's a bubble level that was just a graphics change.
  • mosttornbrainmosttornbrain Posts: 42Registered Users
    edited September 2008
    Thanks Scottiphone,

    I am aware of the Phanfare issue. That's why I was surprised to see new apps appearing that used the private frameworks. I was curious if there's been a shift in Apple's policies.

    I intentionally did not list the apps that are using private frameworks. It was not my intent to "rat" on other developers. I am, however, certain the apps are using private frameworks. I even contacted one of the developers and he confirmed it was true. He said he submitted the app anyhow to see if it would make it through Apple's approval process.

    I will try the other Apple email address you suggested to see if I can get clarification. As it stands now, with Apple's apparent inability to screen apps for private framework usage, those developers who choose to disregard the SDK licensing agreement are at an advantage. They are able to do things compliant developers can not do. Hence they have much more limited competition.
  • mosttornbrainmosttornbrain Posts: 42Registered Users
    edited September 2008
    4. Apple seems to also approve apps that are 80-90% example code. Alli's Jigsaw Puzzle seems to be a full copy of Jigsaw and there's a bubble level that was just a graphics change.

    Yeah, and that bubble level app has been listed as a "Staff favorite" in the App Store for weeks! What's up with that? Is it a favorite of the guy at Apple who wrote the original sample source code?
  • dougdawsondougdawson Posts: 30Registered Users
    edited September 2008
    I intentionally did not list the apps that are using private frameworks. It was not my intent to "rat" on other developers. I am, however, certain the apps are using private frameworks. I even contacted one of the developers and he confirmed it was true. He said he submitted the app anyhow to see if it would make it through Apple's approval process.

    Just because an app _appears_ to be using private frameworks, doesn't mean that it is. There's more than one way to skin a possum. You can do all kinds of interesting things, with enough sweet-talk. All perfectly legal, all using only stuff in the (not allowed to mention it). I can't give details, for obvious reasons.

    You can turn it into a fun parlor game.

    Know your environment.

    Doug
    <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=313853083&mt=8" target="_blank">RunningTotal</a>, finance app of the gee-gawds<br />
    <a href="http://www.thorjupitersoftware.com" target="_blank">ThorJupiter Software</a>
  • scottiphonescottiphone Posts: 802Registered Users
    edited September 2008
    The Apple guidelines were very clear on what is allowable. I think all apps should be on a level playing field. Apple should either say we allow this or don't and be consistent about it.
  • dougdawsondougdawson Posts: 30Registered Users
    edited September 2008
    The Apple guidelines were very clear on what is allowable. I think all apps should be on a level playing field. Apple should either say we allow this or don't and be consistent about it.

    The point I was making was, you can't always tell if something was done by legal or "illegal" techniques at the code level. BTW, you _can_ often tell that something was done using "illegal" techniques because it crashes quite a bit and is otherwise a real POS.

    I totally support staying strictly within the limits of the (can't mention it.) To violate that principle would be to throw away supportability of your apps with future versions of the OS. It's not worth the cost.

    Doug
    <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=313853083&mt=8" target="_blank">RunningTotal</a>, finance app of the gee-gawds<br />
    <a href="http://www.thorjupitersoftware.com" target="_blank">ThorJupiter Software</a>
  • IDevIDev Posts: 13Registered Users
    edited August 2009
    hi DougDawson,

    please tell me how to use private frameworks , i downloaded them and install but the headers are missing , and i want to know about, is there any documentation or guide available for these api's ? if so, then give me a link or any source to understand that ..

    Thanks.
  • aluitinkaluitink Posts: 12Registered Users
    edited August 2009
    IDev wrote: »
    hi DougDawson,

    please tell me how to use private frameworks , i downloaded them and install but the headers are missing , and i want to know about, is there any documentation or guide available for these api's ? if so, then give me a link or any source to understand that ..

    Thanks.

    I too would love to know, I know of only one way to get list of hooks for these private APIs... get into the library directory and type like "nm AppSupport" it should display a list of function calls and memory offsets. Other than that I am not to sure on how to go about obtaining more information on these, if the library was written in Objective C, you should see somewhat of a header read out but for the stuff written in C ... well I would love some clarification on that as well.

    One of the ones I have been looking at and researching a lot on is the AppSupport.framework this contains a function call that would be useful for what I am doing CPSchedulePowerUpAtDate(CFDateRef). I am sure you can guess what it does by its name.

    Any ideas anyone?
Sign In or Register to comment.