In development, iOS, Mac on
17 April 2012 tagged App Store, IAP with no comments
You read once again In-App Purchase Programming Guide and Technical Note TN2259 completely, yet still can not make the sandbox work. Now may be the time for a break to get something fresh:
- Bundle ID is case-sensitive. If it is com.moke.app in the iTunes Connect but com.moke.App in App-Info.plist — that is default Bundle ID set in your app if you named your Xcode project “App” — IAP will not work.
- “Waiting for Screenshot” is not a good status. At least you should upload a placeholder screenshot and let the product status be “Ready to Submit”.
- No new Development Provisioning Profile is required. Though Technical Note TN2259 tells you to “Create, download, and install a new Development Provisioning Profile that uses your App ID enabled for In-App Purchase as seen in…”, it is not required if you are using a Development Provisioning Profile “Managed by Xcode” — it works for IAP apps even though it has a different App ID. Of course, it works for development installations only and you need setup Distribution Provisioning Profiles to distribute any apps no matter they have IAP or not.
One more thing. It’s not Apple’s One More Thing. In fact, it is one more thing that Apple does not like. If you are using a jailbroken device, make sure you uninstall AppSync from Cydia before testing IAP.
In development, iOS on
22 March 2012 tagged UIButton with no comments
UIButton is one of the most simple and commonly used UIControl. We use it so often in the way it is intended to be used that we dismiss it as a perfectly meek boy until one day it bites our fingers when we tap it.
Today is such a day.
I have a UIButton that when tapped will trigger a custom view transition with animations. Animations mean duration — it takes some time to complete. Though the transition is still in progress, the button does not refuse more taps — it just loves taps!
I guess you see the problem here: What happens if the button is tapped again during the view transition?
Another view transition is triggered, of course, and I don’t want it.
So I must filter out taps during the view transition.
Notice that you can’t reproduce this problem by double tapping a button that triggers a standard view transition such as pushing a view controller using pushViewController:animated: or presenting a view controller using presentViewController:animated:completion:. I guess it is because the view the button is on is being covered during these standard view transitions so the button can not receive taps.
In 中文, Mac on
14 March 2012 tagged App Store with 2 comments
我早就向 iA Writer 的开发者反映过中文输入时的跳动问题。当时他们感谢了我反馈这个 bug,并声称尽力在后续版本中解决。
半年过去了,iA Writer 1.2.1 都出了,这个问题仍未解决。我再次去询问。这次他们说:“iA Writer 本来就没有声称支持中文输入。” Fuck!
App Store 退款
于是,我一怒之下首次在 App Store 申请退款,但是为时已晚:
Dear Ling,
When you first noticed that you could not use the application for the purpose you intended you should have contacted the iTunes Store for a refund.
Regrettably we cannot be held responsible for developers giving false information on updates that they plan on releasing in the future.
The iTunes Store will not be able to offer you a refund. Since the system does not allow refunds past the 60 day point we very strongly encourage customers to notify the iTunes Store of any issues you have with your purchases within that 60 days time frame.
In light of the current circumstances I do hope you have a pleasant day, Ling.
Sincerely,
Missy
iTunes Store/Mac App Store Customer Support Senior Advisor
简单复述:
- 一旦发现 app 不好用,第一时间申请退款。
- 相信开发者所谓的“以后会修正”是你的事,App Store 不对此负责。
- 退款有时间限制,须在购买后 60 天之内提出。
- 虽然你被坑、退款不成,我们还是希望你有开心的一天。