Why do development devices give you more resources than a typical device?

I have created an app that works on my 4th generation iPod Touch and my company’s 5th generation iPod touch.

We were about to release, when we found a crash that occurs after any non-developer device runs the app*.

The notion came up that a device registered as a ‘developer device’ gives your app more resources to use. This doesn’t seem right to me, since I couldn’t think of any reason that would exist – I feel like it is more likely an issue with building or provision profiling.

However, that prompted a discussion. Why do devices such as game console development kits, devices that have more capabilities than the target platform, exist in the first place? Of course it is nice to stress test a program, but wouldn’t a more accurate representation of the target platform make more sense?

TL;DR – Why do development kits have more resources than target platforms?

*With a non-developer device being any >3rd gen. iOS device that downloads the app from our server, not directly from a computer with the app & xcode installed.

Note there is another question that reads similar, but it is actually different, because that other question is asking about simulator, and I understand that there are massive differences between using a simulator and an actual device.

1

The development environment (for anything – be it a stand alone java application, or a mobile environment, or embedded device) typically has the ability to do remote debugging, enhanced logging and other types of introspection of the enviroment (one typically doesn’t want to add all the hooks for a logic analyzer on a production embeded device).

These additional things take additional resources. Opening up a remote debugger against a vm or other remote enviroment takes some resources on the other end. In the severely limited realm of mobile, it is possible that these additional resources will put it over the limit granted to a standard application. Thus, more resources are given to the development environment so that it won’t hit the resource limit when it starts doing additional logging or debugging.

This goes further to the point that you always need to test something in a mirror of the production environment. Trusting that it works on the developer’s machines with all their tweaks and different variables isn’t sufficient to verify it works correctly in production.

5

It allows you to create a resource-greedy proof-of-concept which you can later optimize.

It makes no sense in crashing an app because it’s 5 bytes over the memory limit (which can be solved by setting the optimizer to conserve space in release but you are running a debug version),

having a warning pop up in the log when you go over the consumer limit while testing will be nice here.

It’s partly a matter of “trust.” Developers are assumed to know what they’re doing, and are therefore given unfettered access to the device and all of its resources. This can be a big help to small companies and development teams, where unused resources are wasted resources.

In a larger corporate environment, or especially the general public, this kind of access becomes a liability, due to security concerns and the need to play well with other applications that also need resources.

This isn’t really a new idea. I have two machines at work. On my developer machine I have administrative access, but it is isolated from the internet. My other machine, which I use for email, Office and Internet access, doesn’t even give me the ability to install programs.

This is why you have to test your application on a non-developer device before you deploy it, to make sure that it is well-behaved. 🙂

With iOS, a device enabled for Development allows you to directly run Debug builds, which may contain a different set of compiler bugs than a Release build, as well as run apps under a debug nub, which may subtly change thread timing and memory usage, which can also show/hide various threading and leaked memory bugs.

A development device would not be of much use without a debug capability, and a user device with debug capability would present a (more) severe app and app data security problem.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật